Podman Mcp Server — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Podman Mcp Server (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
✨ Features | 🚀 Getting Started | 📚 Documentation | 🎥 Demos | ⚙️ Configuration | 🛠️ Tools | 🧑💻 Development
A powerful and flexible MCP server for container runtimes supporting Podman and Docker.
#### 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"
]
}
}
}Install the Podman MCP server by clicking one of the following links:
<img src="https://img.shields.io/badge/VS_Code-VS_Code?style=flat-square&label=Install%20Server&color=0098FF" alt="Install in VS Code"> <img alt="Install in VS Code Insiders" src="https://img.shields.io/badge/VS_Code_Insiders-VS_Code_Insiders?style=flat-square&label=Install%20Server&color=24bfa5">
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 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
For detailed setup guides, configuration reference, and feature specifications, see the [Documentation](docs/README.md).
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| 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. |
The server supports multiple transport modes:
--port) - Modern HTTP transport with both Streamable HTTP and SSE endpoints--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 8080The 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.
<!-- AVAILABLE-TOOLS-START -->
<details>
<summary>Container</summary>
name (string) (required) - Docker or Podman container ID or name to display the informationname (string) (required) - Docker or Podman container ID or name to display the logsname (string) (required) - Docker or Podman container ID or name to removeenvironment (array) - Environment variables to set in the container. Format: <key>=<value>. Example: FOO=bar. (Optional, add only to set environment variables)imageName (string) (required) - Docker or Podman container image name to runports (array) - Port mappings to expose on the host. Format: <hostPort>:<containerPort>. Example: 8080:80. (Optional, add only to expose ports)name (string) (required) - Docker or Podman container ID or name to stop</details>
<details>
<summary>Image</summary>
containerFile (string) (required) - The absolute path to the Dockerfile, Podmanfile, or Containerfile to build the image fromimageName (string) - Specifies the name which is assigned to the resulting image if the build process completes successfully (--tag, -t)imageName (string) (required) - Docker or Podman container image name to pullimageName (string) (required) - Docker or Podman container image name to pushimageName (string) (required) - Docker or Podman container image name to remove</details>
<details>
<summary>Network</summary>
</details>
<details>
<summary>Volume</summary>
</details>
<!-- AVAILABLE-TOOLS-END -->
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
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.