MCP Gateway

MCP Gateway

site icon
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

添加新服务器类型

  1. 安装 MCP 服务器包
  2. 在配置文件中添加新条目
servers:
  mynewserver:
    command: npx
    args:
      - -y
      - "@modelcontextprotocol/server-newtype"

许可证

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