AI个人学习
和实操指南
TRAE

MCP Containers:基于 Docker 提供数百种 MCP 容器化部署

综合介绍

MCP Containers 是一个开源项目,托管在 GitHub,专注于为 Model Context Protocol(MCP)服务器提供容器化解决方案。它通过 Docker 容器简化了数百种 MCP 服务器的部署,涵盖 GitHub、Notion、Firecrawl 等多种 AI 工具。MCP 协议支持 AI 模型与外部数据和工具交互,MCP Containers 让用户只需拉取镜像即可快速运行服务器。项目使用 Nixpacks 自动构建容器镜像,确保每日更新,保持最新状态。它支持本地和云端部署,兼容 Kubernetes,兼顾安全性和灵活性。社区驱动的开发模式鼓励用户贡献新服务器,适合开发者、AI 爱好者和企业用户。

MCP Containers:基于 Docker 提供数百种 MCP 容器化部署-1


 

功能列表

  • 提供数百种 MCP 服务器的 Docker 容器镜像,支持多种 AI 工具。
  • 使用 Nixpacks 自动构建镜像,确保每日更新,保持与源仓库同步。
  • 支持本地运行和云端部署,适配 Docker 和 Kubernetes 环境。
  • 提供详细的服务器列表和文档,方便用户选择和配置。
  • 通过 GitHub 接受社区贡献,支持新增服务器或优化现有镜像。
  • 确保容器隔离运行,限制敏感 Docker 选项,提升安全性。
  • 支持与 Claude、GitHub Copilot 等 AI 工具集成,扩展功能。
  • 提供脚本和工具,简化容器管理和构建流程。

 

使用帮助

安装流程

MCP Containers 依赖 Docker 运行容器化 MCP 服务器。以下是详细的安装和使用步骤:

  1. 安装 Docker
    确保系统中已安装 Docker。未安装的用户可访问 Docker 官方文档(https://docs.docker.com/get-docker/),根据 Windows、macOS 或 Linux 系统下载并安装。安装完成后,运行以下命令验证:

    docker --version
    

    输出类似 Docker version 20.x.x 表示安装成功。确保 Docker 守护进程正常运行。

  2. 拉取 MCP 容器镜像
    MCP Containers 提供多种服务器镜像,存储在 GitHub Container Registry(https://ghcr.io/metorial)。用户可访问项目仓库(https://github.com/metorial/mcp-containers)查看可用服务器列表。假设要使用 metoro-mcp-server,运行以下命令拉取镜像:

    docker pull ghcr.io/metorial/metoro-mcp-server:latest
    

    替换 metoro-mcp-server 为所需服务器名称。拉取完成后,检查镜像:

    docker images
    
  3. 运行容器
    以 metoro-mcp-server 为例,运行容器:

    docker run -i --rm -e API_KEY=<your-api-key> ghcr.io/metorial/metoro-mcp-server:latest
    
    • -i:启用交互模式,保持终端连接。
    • --rm:容器停止后自动删除,节省空间。
    • -e API_KEY=<your-api-key>:设置所需的 API 密钥(视服务器要求)。
      如果需要对外暴露端口(如 Web 服务),添加端口映射:
    docker run -i --rm -p 8080:8080 ghcr.io/metorial/metoro-mcp-server:latest
    

    主机端口 8080 将映射到容器端口 8080。

  4. 配置 MCP 客户端
    MCP 服务器需与支持 MCP 协议的客户端(如 Claude Desktop、VS Code 的 GitHub Copilot 插件)连接。以 Claude Desktop 为例,编辑其配置文件(macOS 路径:~/Library/Application Support/Claude/claude_desktop_config.json):

    {
    "mcpServers": {
    "metoro": {
    "command": "docker",
    "args": ["run", "-i", "--rm", "ghcr.io/metorial/metoro-mcp-server:latest"]
    }
    }
    }
    

    保存后,Claude 可通过 MCP 协议调用服务器功能。其他客户端的配置方式类似,需参考其文档。

主要功能操作

  • 运行多种 MCP 服务器
    项目支持多种服务器,如 github-mcp-server(管理 GitHub 仓库)、firecrawl-mcp-server(网页抓取)、notion-mcp-server(操作 Notion 数据库)。用户可根据需求选择。例如,运行 GitHub MCP 服务器:

    docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> ghcr.io/metorial/github-mcp-server:latest
    

    需要 GitHub 个人访问令牌(PAT),可通过 GitHub 设置(Settings > Developer settings > Personal access tokens)生成。

  • 自动化更新
    MCP Containers 使用 Nixpacks(https://nixpacks.com/)自动构建镜像。源仓库更新时,镜像会每日自动重建。用户只需拉取最新镜像:

    docker pull ghcr.io/metorial/<server-name>:latest
    

    无需手动更新代码或配置。

  • 查看服务器列表
    项目仓库的 README 或 servers 文件夹列出所有支持的服务器及其功能。用户可通过 GitHub 浏览,或运行以下命令查看本地仓库:

    git clone https://github.com/metorial/mcp-containers.git
    ls mcp-containers/servers
    

特色功能操作

  • Kubernetes 部署
    MCP Containers 支持 Kubernetes,适合大规模云端部署。以 metoro-mcp-server 为例,创建 Kubernetes 部署文件(deployment.yaml):

    apiVersion: apps/v1
    kind: Deployment
    metadata:
    name: metoro-mcp
    spec:
    replicas: 1
    selector:
    matchLabels:
    app: metoro-mcp
    template:
    metadata:
    labels:
    app: metoro-mcp
    spec:
    containers:
    - name: metoro-mcp
    image: ghcr.io/metorial/metoro-mcp-server:latest
    env:
    - name: API_KEY
    value: "<your-api-key>"
    ports:
    - containerPort: 8080
    

    部署到集群:

    kubectl apply -f deployment.yaml
    

    可通过 kubectl get pods 检查运行状态。

  • 安全隔离
    项目通过容器隔离确保安全,禁用高危 Docker 选项(如 --privileged)。用户可通过 Docker 的 security-opt 参数进一步限制权限,例如:

    docker run --security-opt=no-new-privileges -i --rm ghcr.io/metorial/metoro-mcp-server:latest
    
  • 社区贡献
    用户可通过 GitHub 提交 issue 或 pull request,添加新服务器或优化镜像。贡献步骤:

    1. fork 仓库:https://github.com/metorial/mcp-containers
    2. 创建新服务器的 Dockerfile,放置在 servers/<server-name>
    3. 更新 README.md 和服务器列表。
    4. 提交 pull request,说明服务器功能和 MCP 兼容性。

注意事项

  • 确保网络畅通,拉取镜像可能需要科学上网。
  • 部分服务器需要 API 密钥或认证,需提前在服务提供商(如 GitHub、Notion)注册。
  • 检查服务器文档,确认特定配置(如端口、存储卷)。
  • Kubernetes 部署需熟悉 kubectl 和集群管理。

 

应用场景

  1. AI 工具开发
    开发者可快速部署 firecrawl-mcp-server,测试 AI 模型的网页数据抓取能力,验证搜索或内容分析功能。
  2. 企业自动化
    企业使用 make-mcp-server 集成 Make 自动化平台,通过 AI 触发工作流,如批量数据处理或通知发送。
  3. 云端 AI 服务
    在 Kubernetes 集群中运行多个 MCP 服务器,支持实时数据分析、聊天机器人或多用户 AI 应用。
  4. 教育与研究
    学生和研究者可使用 notion-mcp-server,通过 AI 整理实验数据或文献笔记,简化学术工作。

 

QA

  1. MCP Containers 支持哪些服务器?
    支持数百种 MCP 服务器,包括 GitHub、Notion、Firecrawl、Make 等,完整列表见项目仓库(https://github.com/metorial/mcp-containers)的 servers 文件夹。
  2. 如何确保容器安全?
    项目使用容器隔离,禁用高危 Docker 选项(如 --privileged)。用户应避免运行未经验证的镜像,并可通过 security-opt 增强限制。
  3. 需要编程经验吗?
    基本使用只需了解 Docker 命令。贡献新服务器需要熟悉 Dockerfile 和 MCP 协议,适合有开发经验的用户。
  4. 镜像更新频率是多少?
    镜像每日自动更新,基于 Nixpacks 构建,确保与源仓库同步。
未经允许不得转载:首席AI分享圈 » MCP Containers:基于 Docker 提供数百种 MCP 容器化部署
zh_CN简体中文