Podman

Podman

manusa

Provides direct API access to Podman for container management through conversational interfaces. Enables creation, monitoring, and orchestration of containers and images without switching between tools.

Integrates with Podman's API to enable container creation, management, and orchestration for automated DevOps workflows and microservices architecture deployment.

60431 views16Local (stdio)

What it does

  • Create and start containers
  • Build container images from Dockerfiles
  • Monitor container status and logs
  • Manage container networks and volumes
  • Pull and push container images
  • Execute commands inside running containers

Best for

DevOps engineers managing container workflowsDevelopers testing containerized applicationsSystem administrators orchestrating microservicesCI/CD pipeline automation
Works with both Podman and DockerAvailable via npm and PyPI

About Podman

Podman is a community-built MCP server published by manusa that provides AI assistants with tools and capabilities via the Model Context Protocol. Integrate with Podman for seamless container creation, management, and orchestration in automated DevOps and microservic It is categorized under developer tools.

How to install

You can install Podman in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.

License

Podman is released under the Apache-2.0 license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.

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:

{
  "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:

# 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 --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)
# 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:

# 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
  • 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-server

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

Alternatives

Related Skills

Browse all skills
ui-design-system

UI design system toolkit for Senior UI Designer including design token generation, component documentation, responsive design calculations, and developer handoff tools. Use for creating design systems, maintaining visual consistency, and facilitating design-dev collaboration.

6
cli-builder

Guide for building TypeScript CLIs with Bun. Use when creating command-line tools, adding subcommands to existing CLIs, or building developer tooling. Covers argument parsing, subcommand patterns, output formatting, and distribution.

2
openai-knowledge

Use when working with the OpenAI API (Responses API) or OpenAI platform features (tools, streaming, Realtime API, auth, models, rate limits, MCP) and you need authoritative, up-to-date documentation (schemas, examples, limits, edge cases). Prefer the OpenAI Developer Documentation MCP server tools when available; otherwise guide the user to enable `openaiDeveloperDocs`.

0
api-documenter

Master API documentation with OpenAPI 3.1, AI-powered tools, and modern developer experience practices. Create interactive docs, generate SDKs, and build comprehensive developer portals. Use PROACTIVELY for API documentation or developer portal creation.

0
ydc-ai-sdk-integration

Integrate Vercel AI SDK applications with You.com tools (web search, AI agent, content extraction). Use when developer mentions AI SDK, Vercel AI SDK, generateText, streamText, or You.com integration with AI SDK.

0
mcp-developer

Use when building MCP servers or clients that connect AI systems with external tools and data sources. Invoke for MCP protocol compliance, TypeScript/Python SDKs, resource providers, tool functions.

0