Podman Mcp Server

io.github.manusa由 GitHub 账号 manusa 发布v0.0.15更新于 Oct 24, 2026

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

概览

AI 生成的概览

让助手在本机查看和管理 Podman 或 Docker 容器、镜像、网络与卷的 MCP 服务器。

可以做什么
  • 查看、列出、读取日志、运行、停止和删除容器
  • 构建、列出、拉取、推送和删除镜像
  • 列出网络与卷
  • 可在 Podman REST API(Unix socket)与 Podman/Docker 命令行封装之间切换,默认自动检测
适用场景
适合需要助手协助本机容器工作的场景:查看正在运行的容器、读取容器日志、构建或拉取镜像,以及在开发和排障时启动、停止容器。
运行要求
以本地进程运行,可通过 npx(npm)或 uvx(PyPI)启动,也可下载二进制文件。需要已安装可用的 Podman 或 Docker;API 模式需要 Podman socket,否则回退到调用 podman 或 docker 命令行的 CLI 模式。可选命令行参数可设置传输方式(--port 启用 HTTP,默认 stdio)、输出格式和实现方式。
安装前请注意
这些工具会改动本机状态:容器可被运行、停止和删除,镜像可被构建、拉取、推送和删除。推送镜像会把镜像发送到镜像仓库,container_run 接受环境变量和端口映射,可能暴露服务或把密钥传入容器。执行前请确认操作。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Podman Mcp Server,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

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

来源:README.md,提交 5fd49db

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.0.15最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分