OpenAPI集成MCP服务器

该项目允许开发者通过模型上下文协议(MCP)将网站API暴露给AI代理(LLMs),动态从OpenAPI(Swagger)规范生成MCP工具并通过HTTP和stdio提供服务。

  • by Luctran12
  • Go
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 Luctran12/open_api_to_mcp_server

使用说明

用于OpenAPI集成的MCP服务器

这个项目允许开发者通过模型上下文协议(MCP)向人工智能代理(大型语言模型)暴露其网站的API。它根据OpenAPI(Swagger)规范动态生成MCP工具,并通过HTTP和stdio提供服务。

特点/功能

  • 上传您的OpenAPI规范以自动生成MCP工具
  • 支持MCP协议的HTTP和stdio两种方式
  • 人工智能代理可以作为工具与您的API端点进行交互
  • 通过Bearer令牌或API密钥进行身份验证(可选)

入门指南

1. 构建并运行

# Build the server
cd open_api_to_mcp_server
# If you have Go installed:
go build -o open_api_to_mcp_server.exe main.go

# Run the server
./open_api_to_mcp_server.exe

服务器将启动:

  • HTTP服务器已开启 http://localhost:8080
  • MCP stdio 服务器(用于与兼容客户端集成)

2. 上传您的OpenAPI规范

发送一个POST请求到 /upload 使用您的OpenAPI JSON文件:

curl -X POST http://localhost:8080/upload -F "spec=@path/to/openapi.json"

3. 通过MCP调用API端点

发送一个POST请求到 /mcp 带有工具名称(operationId)和参数:

curl -X POST http://localhost:8080/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "params": {
      "name": "show_all_divisions__get",
      "arguments": { "depth": 2 }
    }
  }'
  • 替换 show_all_divisions__get 使用您的OpenAPI规范中的所需operationId。
  • 为每个端点设置所需的参数。

4. 与AI代理集成

  • 将您的AI代理或大型语言模型(LLM)客户端指向MCP服务器(HTTP或stdio)。
  • 使用从您的OpenAPI规范中生成的工具名称和参数模式。
  • 解析MCP响应以获取API结果。

认证

如果您的API需要身份验证,请设置环境变量:

  • BEARER_TOKEN 用于承载令牌(Bearer token)
  • API_KEY API密钥

示例 OpenAPI 规范

请看 openapi.json 以下是越南各省API的样本规范。

许可证

麻省理工学院(MIT)


有关MCP的更多详细信息,请参阅 模型上下文协议文档。