
MCP Gateway

2024.12.20
89
TypeScript网关服务REST APIHTTP+SSE开发效率
MCP Gateway 是一个灵活的网关服务器,用于桥接 Model Context Protocol (MCP) STDIO 服务器到 MCP HTTP+SSE 和 REST API,使得多实例 MCP 服务器可以通过 HTTP 暴露。它支持多种 MCP 服务器类型的运行和配置,提供灵活的网络绑定配置、会话 ID 隔离、自动资源清理等功能,并支持 REST API 和 OpenAPI 规范。
View on GitHub
Overview
基本能力
产品定位
MCP Gateway 是一个用于桥接 MCP STDIO 服务器到 HTTP+SSE 和 REST API 的网关服务器,支持多实例 MCP 服务器的运行和配置。
核心功能
- 运行同一 MCP 服务器类型的多个实例
- 配置多种不同的 MCP 服务器类型
- 灵活的网络绑定配置
- 使用会话 ID 实现服务器实例的隔离
- 连接关闭时自动清理服务器资源
- 基于 YAML 的配置
- 可选的 Basic 和 Bearer 令牌认证
- 可配置的调试日志级别
- REST API 支持
适用场景
- 在远程机器上运行 MCP 服务器并通过 HTTP 访问
- 在容器化环境中部署 MCP 服务器
- 与支持 OpenAPI/Swagger 规范的 HTTP 客户端集成
工具列表
directory_tree
:用于文件系统的目录树工具
常见问题解答
- 如何获取会话 ID?
bash curl "http://localhost:3000/api/sessionid"
- 如何调用工具?
bash curl -X POST "http://localhost:3000/api/filesystem/directory_tree?sessionId=$SESSION_ID" \ -H "Content-Type: application/json" \ -d '{"path": "/some/path"}'
使用教程
使用依赖
- 需要安装 Node.js 和 npm
安装教程
npm install
调试方式
npm start
配置示例
hostname: "0.0.0.0"
port: 3000
servers:
filesystem:
command: npx
args:
- -y
- "@modelcontextprotocol/server-filesystem"
- "/path/to/root"
运行网关
npm start
添加新服务器类型
- 安装 MCP 服务器包
- 在配置文件中添加新条目
servers:
mynewserver:
command: npx
args:
- -y
- "@modelcontextprotocol/server-newtype"