podman-mcp-server
Model Context Protocol (MCP) server for container runtimes (Podman and Docker)
Documentation
Podman MCP Server
✨ 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`:
{
"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:
[](https://vscode.dev/redirect?url=vscode%3Amcp%2Finstall%3F%257B%2522name%2522%253A%2522podman%2522%252C%2522command%2522%253A%2522npx%2522%252C%2522args%2522%253A%255B%2522-y%2522%252C%2522podman-mcp-server%2540latest%2522%255D%257D)
[](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Amcp%2Finstall%3F%257B%2522name%2522%253A%2522podman%2522%252C%2522command%2522%253A%2522npx%2522%252C%2522args%2522%253A%255B%2522-y%2522%252C%2522podman-mcp-server%2540latest%2522%255D%257D)
Alternatively, you can install the extension manually by running the following command:
# For VS Code
code --add-mcp '{"name":"podman","command":"npx","args":["-y","podman-mcp-server@latest"]}'
# For VS Code Insiders
code-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`:
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.
# 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 --helpConfiguration 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 8080Podman 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=apiThe `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.
# Compile the project
make build
# Run the Podman MCP server with mcp-inspector
npx @modelcontextprotocol/inspector@latest $(pwd)/podman-mcp-servermcp-name: io.github.manusa/podman-mcp-server
Frequently asked questions
What is podman-mcp-server?
podman-mcp-server is Model Context Protocol (MCP) server for container runtimes (Podman and Docker)
How do I install podman-mcp-server?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is podman-mcp-server open source?
Yes — it is hosted on GitHub at https://github.com/manusa/podman-mcp-server and has 41 stars.
Related MCP tools
Model Context Protocol (MCP) server for Kubernetes and OpenShift Go-based implementation. Trusted by 700+ developers. Trusted by 700+ developers.
Enable any LLM (e.g. Claude) to interactively debug any language for you via MCP and a VS Code Extension TypeScript-based implementation.
ToolHive makes deploying MCP servers easy, secure and fun Go-based implementation. Trusted by 1300+ developers. Trusted by 1300+ developers.
Self-hosted MCP Gateway and Registry for AI agents Go-based implementation. Trusted by 600+ developers. Trusted by 600+ developers.
On-premises conversational RAG with configurable containers for the Model Context Protocol. Enhance AI assistants with powerful integrations.
:robot: The free, Open Source alternative to OpenAI, Claude and others. Self-hosted and local-first. Drop-in replacement for OpenAI, running on consumer-gra...
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP