项目简介

'container-manager-mcp' 是一个强大的MCP服务器,旨在通过标准化的Model Context Protocol,让Agentic AI能够高效地管理Docker、Podman、Docker Compose和Docker Swarm环境中的容器、镜像、卷和网络资源。它提供了一系列可供AI调用的工具,以实现智能化的容器编排和运维。

主要功能点

  • 容器和镜像管理: 支持拉取、运行、停止、删除、列出容器和镜像,以及清理(prune)未使用的容器和镜像。
  • 卷和网络管理: 能够创建、列出、删除卷和网络,并清理未使用的存储和网络资源。
  • 容器内执行: 允许在运行中的容器内部执行命令,获取日志。
  • Docker Swarm集群管理: 提供初始化、离开Swarm集群,以及列出节点和服务、创建和删除服务等功能。
  • Docker Compose项目管理: 支持通过Compose文件启动、停止、列出服务,并获取服务日志。
  • 跨平台兼容: 自动检测并支持Docker和Podman作为底层容器运行时。

安装步骤

  1. 安装Python: 确保您的系统安装了Python 3.8+。
  2. 安装容器运行时: 根据您的需求安装Docker或Podman。建议安装两者之一,或两者都安装以获得更全面的功能。
  3. 安装项目依赖:
    pip install fastmcp docker podman-py python-dateutil
    # 如果使用Docker Compose,确保docker-compose已安装(或Docker Desktop自带)
    # 如果使用Podman Compose,可能需要安装podman-compose
  4. 下载仓库: 从GitHub克隆或下载 'container-manager-mcp' 仓库。
  5. 运行MCP服务器: 导航到仓库根目录,执行服务器启动命令。

服务器配置

MCP客户端需要以下JSON格式配置来连接和使用 'container-manager-mcp' 服务器。服务器将通过指定的传输协议(默认Stdio)提供容器管理能力。

{
  "server_name": "ContainerManagerServer",
  "command": [
    "python",
    "-m",
    "container_manager_mcp"
  ],
  "args": [
    "--transport",
    "stdio",
    "--log-file",
    "container_manager_mcp.log"
  ],
  "comment": "用于与MCP服务器建立连接的配置,其中:\n- server_name: MCP服务器的名称。\n- command: 启动MCP服务器的命令。\n- args: 启动命令的参数。\n  - --transport: 指定MCP服务器的通信传输协议,可选 'stdio', 'http', 'sse'。默认 'stdio'。\n  - --log-file: 指定日志文件的路径,如 'container_manager_mcp.log'。\n  - 如果使用http传输,可添加 '--host <IP地址>' 和 '--port <端口号>',例如:\"--host\", \"127.0.0.1\", \"--port\", \"8000\"。"
}

基本使用方法

MCP服务器启动后,Agentic AI客户端即可通过JSON-RPC协议调用其暴露的工具。例如,AI可以调用 'list_containers' 工具来获取当前所有容器的信息,或者调用 'pull_image' 来拉取新的镜像。

  • 启动服务器(示例:使用HTTP传输):
    python -m container_manager_mcp --transport http --host 0.0.0.0 --port 8000
    此时,MCP客户端可以通过 'http://0.0.0.0:8000' 连接此MCP服务器。
  • AI客户端调用示例 (概念性): AI客户端发送JSON-RPC请求:
    {
        "jsonrpc": "2.0",
        "method": "list_images",
        "params": {},
        "id": 1
    }
    服务器将返回可用的镜像列表。

信息

分类

开发者工具