多容器MCP服务器集合

该项目通过Supergateway运行多个MCP服务器,每个服务器在专用端口上通过SSE(服务器发送事件)暴露,适用于开发环境中的多服务管理和集成。

  • by svnlto
  • 混合部署
  • 更新于
在 GitHub 查看 svnlto/mcp-servers

使用说明

MCP服务器集合

此项目使用Supergateway运行多个MCP服务器,通过SSE(服务器发送事件)公开每个服务器。每台服务器都在专用端口上的自己的容器中运行。

快速开始

# Copy environment file
cp .env.example .env

# Edit your API tokens
vim .env

# Start all services
docker-compose up -d

建筑

  • 多个容器,每个容器通过Supergateway运行一个特定的MCP服务器
  • 每个服务器都暴露在一个唯一的端口上(9001-9006)
  • 服务器可以单独连接,也可以一次连接所有服务器
  • 存储在装载卷中的持久数据

可用命令

基本操作

# Start all services
docker-compose up -d

# Stop all services
docker-compose down

# Restart all services
docker-compose restart

# Check status
docker-compose ps

# View logs from all services
docker-compose logs -f

# View logs from specific service
docker-compose logs -f mcp-filesystem
docker-compose logs -f mcp-github

个性化服务管理

# Restart specific service
docker-compose restart mcp-filesystem
docker-compose restart mcp-github

# Shell into specific container
docker-compose exec mcp-filesystem sh
docker-compose exec mcp-github sh

# View logs from last 50 lines
docker-compose logs --tail=50

清理

# Stop and remove containers
docker-compose down

# Stop and remove containers + volumes
docker-compose down -v

# Pull latest images
docker-compose pull

MCP服务器和端口

服务 端口 描述 环境变量
mcp github 9001 GitHub存储库访问 GITHUB_TOKEN, GITHUB_OWNER
mcp线性 9002 线性问题跟踪 LINEAR_API_KEY, GITHUB_TOKEN
mcp概念 9003 通知工作区访问 NOTION_TOKEN
mcp文件系统 9004 文件系统操作 -
mcp存储器 9005 持久内存 -
mcp顺序思维 9006 逐步推理 -
mcp-context7 9007 最新文件 DEFAULT_MINIMUM_TOKENS
mcp普里马 9009 Prisma数据库管理 -

配置

环境变量

  1. 复制示例: make setup (或 cp .env.example .env)
  2. 编辑 .env 使用您的实际API令牌:
    • GITHUB_OWNER -您的GitHub用户名
    • GITHUB_TOKEN -GitHub个人访问令牌
    • NOTION_TOKEN -通知API令牌
    • LINEAR_API_KEY -线性API键

连接到MCP服务器

每个服务器都可以通过SSE访问:

  • SSE端点: http://localhost:900X/sse
  • POST消息: http://localhost:900X/message

Claude桌面配置

连接到各个服务器:

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "supergateway", "--sse", "http://localhost:9001/sse"]
    },
    "linear": {
      "command": "npx", 
      "args": ["-y", "supergateway", "--sse", "http://localhost:9002/sse"]
    },
    "notion": {
      "command": "npx",
      "args": ["-y", "supergateway", "--sse", "http://localhost:9003/sse"] 
    },
    "filesystem": {
      "command": "npx",
      "args": ["-y", "supergateway", "--sse", "http://localhost:9004/sse"]
    },
    "memory": {
      "command": "npx",
      "args": ["-y", "supergateway", "--sse", "http://localhost:9005/sse"]
    },
    "sequential-thinking": {
      "command": "npx", 
      "args": ["-y", "supergateway", "--sse", "http://localhost:9006/sse"]
    },
    "context7": {
      "command": "npx",
      "args": ["-y", "supergateway", "--sse", "http://localhost:9007/sse"]
    },
    "prisma": {
      "command": "npx",
      "args": ["-y", "supergateway", "--sse", "http://localhost:9009/sse"]
    }
  }
}

Zed编辑器配置

{
  "context_servers": {
    "github": {
      "command": {
        "path": "npx",
        "args": ["-y", "supergateway", "--sse", "http://localhost:9001/sse"]
      }
    },
    "filesystem": {
      "command": {
        "path": "npx",
        "args": ["-y", "supergateway", "--sse", "http://localhost:9004/sse"]
      }
    }
  }
}

服务详细信息

GitHub MCP服务器(端口9001)

  • 存储库操作(克隆、创建、更新)
  • 问题和公关管理
  • 存储库中的文件操作
  • 要求: GITHUB_TOKEN, GITHUB_OWNER

线性MCP服务器(端口9002)

  • 问题创建和管理
  • 项目和团队运营
  • 与GitHub存储库集成
  • 要求: LINEAR_API_KEY, GITHUB_TOKEN

通知MCP服务器(端口9003)

  • 数据库查询和更新
  • 页面创建和修改
  • 块级操作
  • 要求: NOTION_TOKEN

文件系统MCP服务器(端口9004)

  • 文件和目录操作
  • 安装到 /workspace (地图到 /home/vagrant/projects)
  • 读、写、创建、删除操作

内存MCP服务器(端口9005)

  • 跨会话的持久内存
  • 数据存储在 /home/vagrant/.shared-memory
  • 用于上下文保留的键值存储

顺序思维MCP服务器(端口9006)

  • 逐步推理和规划
  • 多步骤问题解决
  • 无外部依赖关系

Context7 MCP服务器(端口9007)

  • 获取最新的、特定于版本的文档
  • 直接从源代码中提取代码示例
  • 有助于避免过时的训练数据和产生幻觉的API
  • 用法:在提示中添加“use context7”
  • 环境: DEFAULT_MINIMUM_TOKENS (默认值:10000)

Prisma MCP服务器(端口9009)

  • Prisma数据库管理和模式操作
  • Postgres的数据库实例管理
  • 架构迁移和数据库操作
  • Prisma平台的早期访问功能
  • 不需要API密钥(使用Prisma CLI身份验证)

故障排除

检查集装箱状态:

docker-compose ps

查看所有服务的日志:

docker-compose logs -f

查看特定服务的日志:

docker-compose logs -f mcp-github    # GitHub server logs
docker-compose logs -f mcp-filesystem # Filesystem server logs
# etc.

测试单个服务器连接:

curl http://localhost:9001/sse  # Should return SSE stream
curl http://localhost:9004/sse  # Filesystem server

完全重启:

docker-compose down
docker-compose up -d

将外壳装入特定容器:

docker-compose exec mcp-github sh
docker-compose exec mcp-filesystem sh

发展

添加新的MCP服务器:

  1. 向添加服务 docker-compose.yml
  2. 选择下一个可用端口(9007+)
  3. 将环境变量添加到 .env.example 如有需要
  4. 用服务器详细信息更新此README

监控所有服务:

docker-compose up -d && docker-compose logs -f