
MCP-Gateway

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
安装教程
-
克隆仓库:
git clone https://github.com/wangfeng/mcp-gateway2.git cd mcp-gateway2
-
安装依赖:
go mod tidy
-
运行服务器:
go run cmd/server/main.go
-
服务器默认在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并导回)