
MCP Proxy Server

2025.05.06
0
TypeScript代理服务资源聚合开发效率
MCP Proxy Server 是一个用于聚合和管理多个 MCP 资源服务器的代理服务,作为中央枢纽提供统一接口。它能够连接和管理多个 MCP 资源服务器,通过单一接口暴露它们的组合能力,处理请求路由到适当的后端服务器,并聚合来自多个源的响应。
View on GitHub
Overview
基本能力
产品定位
MCP Proxy Server 是一个用于聚合和管理多个 MCP 资源服务器的代理服务,作为中央枢纽提供统一接口。
核心功能
- 资源管理
- 发现并连接多个 MCP 资源服务器
- 聚合来自所有连接服务器的资源
- 维护跨服务器的一致 URI 方案
-
处理资源路由和解析
-
工具聚合
- 暴露所有连接服务器的工具
- 将工具调用路由到适当的后端服务器
-
维护工具状态和处理响应
-
提示处理
- 聚合所有连接服务器的提示
- 将提示请求路由到适当的后端
-
处理多服务器提示响应
-
Web UI 管理
- 通过直观的 Web 界面管理所有连接的 MCP 服务器(可选功能)
-
通过 Web UI 启用或禁用单个工具
-
SSE 认证
- 灵活的 SSE 端点认证选项
- 支持
Authorization: Bearer <token>
和X-API-Key: <key>
两种认证方式
适用场景
- 需要集中管理多个 MCP 资源服务器的场景
- 需要统一接口访问多个 MCP 服务器功能的场景
- 需要聚合多个 MCP 服务器资源的场景
- 需要路由请求到不同后端服务器的场景
- 需要处理多服务器响应的场景
工具列表
- MCP Inspector - 用于调试 MCP 服务器通信的工具
常见问题解答
- 如何配置 SSE 认证?
-
通过设置
MCP_PROXY_SSE_ALLOWED_KEYS
环境变量配置允许的 API 密钥 -
如何启用 Admin Web UI?
- 设置
ENABLE_ADMIN_UI=true
环境变量 -
配置
ADMIN_USERNAME
和ADMIN_PASSWORD
环境变量 -
如何配置服务器端口?
- 通过
PORT
环境变量配置,默认端口为 3663
使用教程
使用依赖
- 安装 Node.js 环境
- 安装 npm 包管理器
安装教程
- 克隆项目仓库
- 安装依赖
npm install
- 构建服务器
npm run build
- 配置
config/mcp_server.json
文件
调试方式
- 使用 MCP Inspector 进行调试
npm run inspector
- 开发模式下运行
# Stdio 模式
npm run dev
# SSE 模式
npm run dev:sse
Docker 使用
- 构建镜像
docker build -t mcp-proxy-server .
- 运行容器
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