MCP-Gateway

MCP-Gateway

site icon
2025.04.17 0
Go中间件服务API管理数据源连接开发效率
MCP-Gateway是一个提供MCP Server统一管理能力的服务,帮助AI代理快速连接到各种数据源。通过MCP Server,AI代理可以轻松访问数据库、REST API和其他外部服务,而无需担心具体的连接细节。
View on GitHub

Overview

基本能力

产品定位

MCP-Gateway是一个中间件服务,旨在为AI代理提供统一的数据源连接和管理能力,简化外部服务的接入流程。

核心功能

  • HTTP接口管理
  • 支持导出OpenAPI结构
  • 将HTTP转换为MCP Server YAML格式
  • 接口版本控制
  • 将curl命令转换为HTTP接口
  • 导入/导出OpenAPI
  • MCP Server管理
  • 管理MCP Server元数据
  • 选择多个HTTP结构更新元数据
  • 发布MCP Server(编译为WebAssembly进行动态加载)
  • 版本控制
  • 路由管理
  • 支持路由配置,如匹配xxx/mcp-server/{name}到名为{name}的MCP Server

适用场景

  • AI代理需要快速接入多种数据源的场景
  • 需要统一管理多个API接口的项目
  • 需要将现有HTTP API转换为MCP Server格式的项目
  • 需要动态加载和更新服务的系统

工具列表

  • curl转换工具:将curl命令转换为HTTP接口
  • OpenAPI转换工具:在HTTP接口和OpenAPI规范之间进行转换
  • MCP Server编译器:将MCP Server编译为WebAssembly
  • 路由配置工具:管理MCP Server的路由规则

常见问题解答

  • 如何转换curl命令为HTTP接口? 发送POST请求到/api/http-interfaces/from-curl,包含curl命令和接口名称、描述。
  • 如何导出HTTP接口为OpenAPI格式? 发送GET请求到/api/http-interfaces/:id/openapi
  • 如何从OpenAPI创建HTTP接口? 发送POST请求到/api/http-interfaces/from-openapi,包含OpenAPI规范。

使用教程

使用依赖

  • Go 1.19或更高版本
  • Git

安装教程

  1. 克隆仓库: git clone https://github.com/wangfeng/mcp-gateway2.git cd mcp-gateway2

  2. 安装依赖: go mod tidy

  3. 运行服务器: go run cmd/server/main.go

  4. 服务器默认在8080端口启动,可以通过设置PORT环境变量自定义端口。

调试方式

  • 测试API: go run test/client.go 这将:
  • 列出可用的HTTP接口
  • 使用其中一个接口创建MCP Server
  • 将MCP Server编译为WebAssembly
  • 激活MCP Server
  • 调用MCP Server上的工具

  • 测试curl转换功能: go run test/curl/curl_client.go 这将:

  • 转换多个curl命令为HTTP接口
  • 使用转换后的接口创建MCP Server
  • 编译并激活MCP Server
  • 调用MCP Server上的工具

  • 测试OpenAPI转换功能: go run test/openapi/openapi_client.go 这将:

  • 导出现有的HTTP接口为OpenAPI格式
  • 导入示例OpenAPI规范创建新的HTTP接口
  • 执行往返转换(导出为OpenAPI并导回)

许可证

该项目遵循 MIT 开源许可条款。