MCP Proxy Server

MCP Proxy Server

site icon
2025.05.06 0
TypeScript代理服务资源聚合开发效率
MCP Proxy Server 是一个用于聚合和管理多个 MCP 资源服务器的代理服务,作为中央枢纽提供统一接口。它能够连接和管理多个 MCP 资源服务器,通过单一接口暴露它们的组合能力,处理请求路由到适当的后端服务器,并聚合来自多个源的响应。
View on GitHub

Overview

基本能力

产品定位

MCP Proxy Server 是一个用于聚合和管理多个 MCP 资源服务器的代理服务,作为中央枢纽提供统一接口。

核心功能

  1. 资源管理
  2. 发现并连接多个 MCP 资源服务器
  3. 聚合来自所有连接服务器的资源
  4. 维护跨服务器的一致 URI 方案
  5. 处理资源路由和解析

  6. 工具聚合

  7. 暴露所有连接服务器的工具
  8. 将工具调用路由到适当的后端服务器
  9. 维护工具状态和处理响应

  10. 提示处理

  11. 聚合所有连接服务器的提示
  12. 将提示请求路由到适当的后端
  13. 处理多服务器提示响应

  14. Web UI 管理

  15. 通过直观的 Web 界面管理所有连接的 MCP 服务器(可选功能)
  16. 通过 Web UI 启用或禁用单个工具

  17. SSE 认证

  18. 灵活的 SSE 端点认证选项
  19. 支持 Authorization: Bearer <token>X-API-Key: <key> 两种认证方式

适用场景

  1. 需要集中管理多个 MCP 资源服务器的场景
  2. 需要统一接口访问多个 MCP 服务器功能的场景
  3. 需要聚合多个 MCP 服务器资源的场景
  4. 需要路由请求到不同后端服务器的场景
  5. 需要处理多服务器响应的场景

工具列表

  1. MCP Inspector - 用于调试 MCP 服务器通信的工具

常见问题解答

  1. 如何配置 SSE 认证?
  2. 通过设置 MCP_PROXY_SSE_ALLOWED_KEYS 环境变量配置允许的 API 密钥

  3. 如何启用 Admin Web UI?

  4. 设置 ENABLE_ADMIN_UI=true 环境变量
  5. 配置 ADMIN_USERNAMEADMIN_PASSWORD 环境变量

  6. 如何配置服务器端口?

  7. 通过 PORT 环境变量配置,默认端口为 3663

使用教程

使用依赖

  1. 安装 Node.js 环境
  2. 安装 npm 包管理器

安装教程

  1. 克隆项目仓库
  2. 安装依赖
npm install
  1. 构建服务器
npm run build
  1. 配置 config/mcp_server.json 文件

调试方式

  1. 使用 MCP Inspector 进行调试
npm run inspector
  1. 开发模式下运行
# Stdio 模式
npm run dev
# SSE 模式
npm run dev:sse

Docker 使用

  1. 构建镜像
docker build -t mcp-proxy-server .
  1. 运行容器
docker run -d \
  -p 3663:3663 \
  -v ./path/to/your/config:/mcp-proxy-server/config \
  -v ./path/to/your/tools:/tools \
  --name mcp-proxy-server \
  mcp-proxy-server

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。