综合介绍
MCP Containers 是一个开源项目,托管在 GitHub,专注于为 Model Context Protocol(MCP)服务器提供容器化解决方案。它通过 Docker 容器简化了数百种 MCP 服务器的部署,涵盖 GitHub、Notion、Firecrawl 等多种 AI 工具。MCP 协议支持 AI 模型与外部数据和工具交互,MCP Containers 让用户只需拉取镜像即可快速运行服务器。项目使用 Nixpacks 自动构建容器镜像,确保每日更新,保持最新状态。它支持本地和云端部署,兼容 Kubernetes,兼顾安全性和灵活性。社区驱动的开发模式鼓励用户贡献新服务器,适合开发者、AI 爱好者和企业用户。
功能列表
- 提供数百种 MCP 服务器的 Docker 容器镜像,支持多种 AI 工具。
- 使用 Nixpacks 自动构建镜像,确保每日更新,保持与源仓库同步。
- 支持本地运行和云端部署,适配 Docker 和 Kubernetes 环境。
- 提供详细的服务器列表和文档,方便用户选择和配置。
- 通过 GitHub 接受社区贡献,支持新增服务器或优化现有镜像。
- 确保容器隔离运行,限制敏感 Docker 选项,提升安全性。
- 支持与 Claude、GitHub Copilot 等 AI 工具集成,扩展功能。
- 提供脚本和工具,简化容器管理和构建流程。
使用帮助
安装流程
MCP Containers 依赖 Docker 运行容器化 MCP 服务器。以下是详细的安装和使用步骤:
- 安装 Docker
确保系统中已安装 Docker。未安装的用户可访问 Docker 官方文档(https://docs.docker.com/get-docker/),根据 Windows、macOS 或 Linux 系统下载并安装。安装完成后,运行以下命令验证:docker --version
输出类似
Docker version 20.x.x
表示安装成功。确保 Docker 守护进程正常运行。 - 拉取 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
- 运行容器
以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。
- 配置 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,添加新服务器或优化镜像。贡献步骤:- fork 仓库:
https://github.com/metorial/mcp-containers
。 - 创建新服务器的 Dockerfile,放置在
servers/<server-name>
。 - 更新
README.md
和服务器列表。 - 提交 pull request,说明服务器功能和 MCP 兼容性。
- fork 仓库:
注意事项
- 确保网络畅通,拉取镜像可能需要科学上网。
- 部分服务器需要 API 密钥或认证,需提前在服务提供商(如 GitHub、Notion)注册。
- 检查服务器文档,确认特定配置(如端口、存储卷)。
- Kubernetes 部署需熟悉
kubectl
和集群管理。
应用场景
- AI 工具开发
开发者可快速部署firecrawl-mcp-server
,测试 AI 模型的网页数据抓取能力,验证搜索或内容分析功能。 - 企业自动化
企业使用make-mcp-server
集成 Make 自动化平台,通过 AI 触发工作流,如批量数据处理或通知发送。 - 云端 AI 服务
在 Kubernetes 集群中运行多个 MCP 服务器,支持实时数据分析、聊天机器人或多用户 AI 应用。 - 教育与研究
学生和研究者可使用notion-mcp-server
,通过 AI 整理实验数据或文献笔记,简化学术工作。
QA
- MCP Containers 支持哪些服务器?
支持数百种 MCP 服务器,包括 GitHub、Notion、Firecrawl、Make 等,完整列表见项目仓库(https://github.com/metorial/mcp-containers)的servers
文件夹。 - 如何确保容器安全?
项目使用容器隔离,禁用高危 Docker 选项(如--privileged
)。用户应避免运行未经验证的镜像,并可通过security-opt
增强限制。 - 需要编程经验吗?
基本使用只需了解 Docker 命令。贡献新服务器需要熟悉 Dockerfile 和 MCP 协议,适合有开发经验的用户。 - 镜像更新频率是多少?
镜像每日自动更新,基于 Nixpacks 构建,确保与源仓库同步。