Podman MCP服务器
](https://github.com/manusa/podman-mcp-server/blob/main/LICENSE) ](https://www.npmjs.com/package/podman-mcp-server) ](https://pypi.org/project/podman-mcp-server/) ](https://github.com/manusa/podman-mcp-server/releases/latest) 
✨ 特性 | 🚀 入门指南 | 📚 文档 | 🎥 演示 | ⚙️ 配置 | 🛠️ 工具 | 🧑💻 发展
✨ 特性
一个强大而灵活的容器运行时MCP服务器,支持Podman和Docker。
🚀 入门指南
克劳德桌面版
使用npx
如果你已经安装了npm,这是最快的入门方法 podman-mcp-server 在克劳德桌面上。
打开你的 claude_desktop_config.json 并将mcp服务器添加到列表中 mcpServers:
{
"mcpServers": {
"podman": {
"command": "npx",
"args": [
"-y",
"podman-mcp-server@latest"
]
}
}
}VS代码/VS代码内部人员
通过单击以下链接之一安装Podman MCP服务器:
或者,您可以通过运行以下命令手动安装扩展:
# 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命令行界面
Goose命令行界面 是使用人工智能(AI)代理最简单(也是最便宜)的方法。
使用npm
如果你已经安装了npm,这是最快的入门方法 podman-mcp-server.
打开你的鹅 config.yaml 并将mcp服务器添加到列表中 mcpServers:
extensions:
podman:
command: npx
args:
- -y
- podman-mcp-server@latest
📚 文档
有关详细的设置指南、配置参考和功能规范,请参阅 文档.
🎥 演示
⚙️ 配置
Podman MCP服务器可以使用命令行(CLI)参数进行配置。
您可以通过以下方式运行CLI可执行文件: npx 或通过下载 最新发布的二进制文件.
# 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配置选项
| 选项 | 描述 |
|---|---|
--port, -p | 在HTTP模式下使用Streamable HTTP启动MCP服务器 /mcp 苏格兰和南方能源公司 /sse 端点。 |
--output-format, -o | 列表命令的输出格式: text (默认,人类可读表)或 json. |
--podman-impl | 使用Podman实现。如果未指定,则自动检测。 |
--sse-port | 已弃用。 使用 --port 相反。在仅SSE模式下启动MCP服务器。 |
--sse-base-url | 已弃用。 发送端点消息时使用的SSE公共基URL。 |
运输方式
服务器支持多种传输模式:
- STDIO模式 (默认)-通过标准输入/输出进行通信
- HTTP模式 (
--port)-具有流式HTTP和SSE端点的现代HTTP传输 - 仅SSE模式 (
--sse-port)-旧服务器发送事件传输(已弃用)
# 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实现
服务器支持多种Podman后端实现:
| 实施 | 描述 | 优先级 |
|---|---|---|
api | 通过Unix套接字的Podman REST API | 100(首选) |
cli | Podman/Docker CLI包装器 | 50(回退) |
默认情况下,服务器 自动检测 最佳可用实现。 这 api 当Podman套接字可用时,首选实现,否则 cli 实现被用作回退。
使用 --podman-impl flag强制执行特定操作:
# Force CLI implementation
podman-mcp-server --podman-impl=cli
# Force API implementation (requires Podman socket)
podman-mcp-server --podman-impl=api这 api 实现通过Unix套接字与Podman REST API直接通信,而 cli 实现shell到 podman 或 docker 二元的。
🛠️ 工具
Container
- 容器扫描 -显示具有指定容器ID或名称的Docker或Podman容器的低级信息和配置
- name (string) (必填) -显示信息的Docker或Podman容器ID或名称
- 容器列表 -打印出有关正在运行的Docker或Podman容器的信息
- 集装箱 -显示具有指定容器ID或名称的Docker或Podman容器的日志
- name (string) (必填) -显示日志的Docker或Podman容器ID或名称
- container_remove -删除具有指定容器ID或名称(rm)的Docker或Podman容器
- name (string) (必填) -要删除的Docker或Podman容器ID或名称
- 集装箱轮 -使用指定的映像名称运行Docker或Podman容器
- environment (array)-要在容器中设置的环境变量。格式: =示例:FOO=bar。(可选,仅添加以设置环境变量) - imageName (string) (必填) -要运行的Docker或Podman容器映像名称 - ports (array)-要在主机上公开的端口映射。格式: :例如:8080:80。(可选,仅添加以暴露端口)
- 集装箱停止 -使用指定的容器ID或名称停止运行Docker或Podman的容器
- name (string) (必填) -要停止的Docker或Podman容器ID或名称
Image
- 图片_建筑 -从Dockerfile、Podman文件或Containerfile构建Docker或Podman映像
- containerFile (string) (必填) -用于构建映像的Dockerfile、Podmanfile或Containerfile的绝对路径 - imageName (string)-指定如果生成过程成功完成,则分配给结果映像的名称(--tag,-t)
- 图像列表 -列出本地计算机上的Docker或Podman映像
- image_pull -将Docker或Podman容器映像从注册表复制(拉取)到本地计算机存储上
- imageName (string) (必填) -要提取的Docker或Podman容器映像名称
- 图像推送 -将Docker或Podman容器映像、清单列表或映像索引从本地机器存储推送到注册表
- imageName (string) (必填) -要推送的Docker或Podman容器映像名称
- image_remove -从本地计算机存储中删除Docker或Podman映像
- imageName (string) (必填) -要删除的Docker或Podman容器映像名称
Network
- 网络列表 -列出所有可用的Docker或Podman网络
Volume
- volume_list -列出所有可用的Docker或Podman卷
🧑💻 发展
与mcp检查员一起运行
编译项目并运行Podman MCP服务器 mcp检查员 检查MCP服务器。
# Compile the project
make build
# Run the Podman MCP server with mcp-inspector
npx @modelcontextprotocol/inspector@latest $(pwd)/podman-mcp-servermcp名称:io.github.manusa/podman-mcp服务器
