Podman Mcp Server

io.github.manusaPublished by GitHub account manusav0.0.15Updated Oct 24, 2026

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

VerifiedSTDIODesktop onlyCloud & InfrastructureDeveloper Tools

Overview

AI-generated overview

MCP server that lets an assistant inspect and manage Podman or Docker containers, images, networks and volumes on the local machine.

What you can do
  • Inspect, list, read logs from, run, stop and remove containers
  • Build, list, pull, push and remove images
  • List networks and volumes
  • Switch between the Podman REST API over a Unix socket and a Podman/Docker CLI wrapper, auto-detected by default
When to use it
Useful when you want an assistant to help with local container work: checking what is running, reading container logs, building or pulling images, or starting and stopping containers during development and troubleshooting.
Requirements
Runs as a local process via npx (npm) or uvx (PyPI), or as a downloaded binary. Needs a working Podman or Docker installation; the API mode requires a Podman socket, otherwise the CLI mode shells out to the podman or docker binary. Optional CLI flags set the transport (--port for HTTP, default stdio), output format and implementation.
Before you install
Tools can change local state: containers can be run, stopped and removed, and images built, pulled, pushed and removed. Pushing images sends them to a registry, and container_run accepts environment variables and port mappings that may expose services or pass secrets into containers. Review actions before approving them.

Installation

In SourceWeft

  1. Open Podman Mcp Server in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

Podman MCP Server

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

✨ Features | 🚀 Getting Started | 📚 Documentation | 🎥 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:

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

VS Code / VS Code Insiders

Install the Podman MCP server by clicking one of the following links:

[Install in VS Code] [Install in VS Code Insiders]

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

shell
# For VS Codecode --add-mcp '{"name":"podman","command":"npx","args":["-y","podman-mcp-server@latest"]}'# For VS Code Insiderscode-insiders --add-mcp '{"name":"podman","command":"npx","args":["-y","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:

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

📚 Documentation

For detailed setup guides, configuration reference, and feature specifications, see the Documentation.

🎥 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.

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

Configuration Options

OptionDescription
--port, -pStarts the MCP server in HTTP mode with Streamable HTTP at /mcp and SSE at /sse endpoints.
--output-format, -oOutput format for list commands: text (default, human-readable table) or json.
--podman-implPodman implementation to use. Auto-detects if not specified.
--sse-portDeprecated. Use --port instead. Starts the MCP server in SSE-only mode.
--sse-base-urlDeprecated. 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)
shell
# 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:

ImplementationDescriptionPriority
apiPodman REST API via Unix socket100 (preferred)
cliPodman/Docker CLI wrapper50 (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:

shell
# Force CLI implementationpodman-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
  • 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
  • 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
  • network_list - List all the available Docker or Podman networks
Volume
  • 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.

shell
# Compile the projectmake build# Run the Podman MCP server with mcp-inspectornpx @modelcontextprotocol/inspector@latest $(pwd)/podman-mcp-server

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

Source: README.md at commit 5fd49db

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.0.15LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts