返回 MCP 目录
public公开dns本地运行

mcp-collection

MCP-Collection是一个Docker镜像项目,集成了多个Model-Context-Protocol(MCP)服务器,并通过统一的入口点提供访问。该项目支持通过单个参数在运行时选择所需的MCP服务器,内置supergateway实现远程访问,适用于Kubernetes环境,强调安全性和确定性构建。

article

README

🚀 MCP‑Collection

MCP‑Collection 是一个 Docker 镜像,它将多个 Model‑Context‑Protocol (MCP) 服务器打包在一起,并通过统一入口点对外提供服务,方便用户使用和管理。

🚀 快速开始

拉取镜像

# 拉取多架构镜像
docker pull ghcr.io/erhardtconsulting/mcp‑collection:1.0.0

列出可用服务器

# 列出可用的 MCP 服务器(显示帮助信息)
docker run --rm ghcr.io/erhardtconsulting/mcp‑collection

运行特定服务器

# 运行 Git 服务器,并通过额外参数传递给底层 CLI
docker run --rm -p 8080:8080 \
  ghcr.io/erhardtconsulting/mcp‑collection mcp-server-fetch --test

包含的 MCP 服务器

| 包名 | |---------------------| | mcp-maven-deps | | mcp-searxng | | mcp-server-calculator | | mcp-server-fetch | | mcp-server-puppeteer | | mcp-server-qdrant | | mcp-server-time | | mcp-yahoo-finance | | npm-search-mcp-server |

✨ 主要特性

  • 一个镜像 – 多个服务器:运行时通过一个参数选择所需的 MCP 服务器。
  • 远程就绪,开箱即用:内置的 supergateway 将服务器的 stdio 接口桥接到 HTTP/SSE 或 WebSocket。
  • Kubernetes 首先考量:内置健康端点、非 root 用户和极小的 distroless 运行时层(≤80MB)。
  • 确定性构建:使用 uv.lock 锁定 Python 依赖,不允许运行时安装或允许。

🐳 镜像布局

/mcp-collection
├── root
     ├── docker-entrypoint.sh # 选择并验证服务器,启动 supergateway
     ├── .venv/              # 所有 MCP 服务器的隔离 Python 环境
     ├── node_modules/       # 所有 MCP 服务器的隔离 Node 环境
     ├── pyproject.toml      # Python MCP 服务器依赖列表
     └── package.json        # Node MCP 服务器依赖列表

入口点执行以下步骤:

  1. 激活虚拟环境(.venv)。
  2. 阅读一个固定白名单 (ALLOWED_SERVERS)。
  3. 验证用户提供的服务器名称。
  4. 执行 supergateway --stdio "<server> [额外参数]"

☸️ Kubernetes 部署示例

apiVersion: apps/v1
kind: Deployment
metadata:
  name: mcp-collection
spec:
  selector:
    matchLabels: {app: mcp-collection}
  template:
    metadata:
      labels: {app: mcp-collection}
    spec:
      containers:
      - name: mcp
        image: ghcr.io/erhardtconsulting/mcp-collection:1.0.0
        args: ["mcp-server-kubernetes"]
        ports:
        - containerPort: 8080

⚠️ 安全注意事项

  • 镜像默认以非 root 用户运行。
  • 不允许 shell 访问,确保容器安全。

📋 贡献指南

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端