npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

podman-mcp-server

v0.0.15

Published

Model Context Protocol (MCP) server for container runtimes (Podman and Docker)

Readme

Podman MCP Server

GitHub License npm PyPI - Version GitHub release (latest SemVer) Build

✨ Features | 🚀 Getting Started | 🎥 Demos | ⚙️ Configuration | 🛠️ Tools | 🧑‍💻 Development

✨ Features

A powerful and flexible MCP server for container runtimes supporting Podman and Docker.

🚀 Getting Started

Claude Desktop

Using npx

If you have npm installed, this is the fastest way to get started with podman-mcp-server on Claude Desktop.

Open your claude_desktop_config.json and add the mcp server to the list of mcpServers:

{
  "mcpServers": {
    "podman": {
      "command": "npx",
      "args": [
        "-y",
        "podman-mcp-server@latest"
      ]
    }
  }
}

VS Code / VS Code Insiders

Install the Podman MCP server extension in VS Code Insiders by pressing the following link:

Alternatively, you can install the extension manually by running the following command:

# For VS Code
code --add-mcp '{"name":"podman","command":"npx","args":["podman-mcp-server@latest"]}'
# For VS Code Insiders
code-insiders --add-mcp '{"name":"podman","command":"npx","args":["podman-mcp-server@latest"]}'

Goose CLI

Goose CLI is the easiest (and cheapest) way to get rolling with artificial intelligence (AI) agents.

Using npm

If you have npm installed, this is the fastest way to get started with podman-mcp-server.

Open your goose config.yaml and add the mcp server to the list of mcpServers:

extensions:
  podman:
    command: npx
    args:
      - -y
      - podman-mcp-server@latest

🎥 Demos

⚙️ Configuration

The Podman MCP server can be configured using command line (CLI) arguments.

You can run the CLI executable either by using npx or by downloading the latest release binary.

# Run the Podman MCP server using npx (in case you have npm installed)
npx podman-mcp-server@latest --help
# Run the Podman MCP server using the latest release binary
./podman-mcp-server --help

Configuration Options

| Option | Description | |------------------------|--------------------------------------------------------------------------------------------------| | --port, -p | Starts the MCP server in HTTP mode with Streamable HTTP at /mcp and SSE at /sse endpoints. | | --output-format, -o| Output format for list commands: text (default, human-readable table) or json. | | --podman-impl | Podman implementation to use. Auto-detects if not specified. | | --sse-port | Deprecated. Use --port instead. Starts the MCP server in SSE-only mode. | | --sse-base-url | Deprecated. SSE public base URL to use when sending the endpoint message. |

Transport Modes

The server supports multiple transport modes:

  1. STDIO mode (default) - Communicates via standard input/output
  2. HTTP mode (--port) - Modern HTTP transport with both Streamable HTTP and SSE endpoints
  3. SSE-only mode (--sse-port) - Legacy Server-Sent Events transport (deprecated)
# Start HTTP server on port 8080 (Streamable HTTP at /mcp and SSE at /sse)
podman-mcp-server --port 8080

# Legacy SSE-only server on port 8080 (deprecated, use --port instead)
podman-mcp-server --sse-port 8080

Podman Implementations

The server supports multiple Podman backend implementations:

| Implementation | Description | Priority | |----------------|-------------|----------| | api | Podman REST API via Unix socket | 100 (preferred) | | cli | Podman/Docker CLI wrapper | 50 (fallback) |

By default, the server auto-detects the best available implementation. The api implementation is preferred when a Podman socket is available, otherwise the cli implementation is used as a fallback.

Use the --podman-impl flag to force a specific implementation:

# Force CLI implementation
podman-mcp-server --podman-impl=cli

# Force API implementation (requires Podman socket)
podman-mcp-server --podman-impl=api

The api implementation communicates directly with the Podman REST API via Unix socket, while the cli implementation shells out to the podman or docker binary.

🛠️ Tools

  • container_inspect - Displays the low-level information and configuration of a Docker or Podman container with the specified container ID or name

    • name (string) (required) - Docker or Podman container ID or name to display the information
  • container_list - Prints out information about the running Docker or Podman containers

  • container_logs - Displays the logs of a Docker or Podman container with the specified container ID or name

    • name (string) (required) - Docker or Podman container ID or name to display the logs
  • container_remove - Removes a Docker or Podman container with the specified container ID or name (rm)

    • name (string) (required) - Docker or Podman container ID or name to remove
  • container_run - Runs a Docker or Podman container with the specified image name

    • environment (array) - Environment variables to set in the container. Format: =. Example: FOO=bar. (Optional, add only to set environment variables)
    • imageName (string) (required) - Docker or Podman container image name to run
    • ports (array) - Port mappings to expose on the host. Format: :. Example: 8080:80. (Optional, add only to expose ports)
  • container_stop - Stops a Docker or Podman running container with the specified container ID or name

    • name (string) (required) - Docker or Podman container ID or name to stop
  • image_build - Build a Docker or Podman image from a Dockerfile, Podmanfile, or Containerfile

    • containerFile (string) (required) - The absolute path to the Dockerfile, Podmanfile, or Containerfile to build the image from
    • imageName (string) - Specifies the name which is assigned to the resulting image if the build process completes successfully (--tag, -t)
  • image_list - List the Docker or Podman images on the local machine

  • image_pull - Copies (pulls) a Docker or Podman container image from a registry onto the local machine storage

    • imageName (string) (required) - Docker or Podman container image name to pull
  • image_push - Pushes a Docker or Podman container image, manifest list or image index from local machine storage to a registry

    • imageName (string) (required) - Docker or Podman container image name to push
  • image_remove - Removes a Docker or Podman image from the local machine storage

    • imageName (string) (required) - Docker or Podman container image name to remove
  • network_list - List all the available Docker or Podman networks
  • volume_list - List all the available Docker or Podman volumes

🧑‍💻 Development

Running with mcp-inspector

Compile the project and run the Podman MCP server with mcp-inspector to inspect the MCP server.

# Compile the project
make build
# Run the Podman MCP server with mcp-inspector
npx @modelcontextprotocol/inspector@latest $(pwd)/podman-mcp-server

mcp-name: io.github.manusa/podman-mcp-server