基本能力
产品定位
OpenAPI to MCP Generator 是一个开发工具,旨在简化将现有 REST API 转换为 MCP 服务器的过程,从而为 LLMs 提供标准化的接口。
核心功能
- 解析 OpenAPI 规范文件
- 将 API 端点转换为 MCP 工具
- 处理路径参数、查询参数和请求体
- 支持多种 HTTP 方法(GET、POST、PUT、DELETE、PATCH)
- 提供认证支持(API 密钥、Bearer 令牌、Basic 认证)
- 格式化 JSON 响应以提高可读性
- 生成健壮的错误处理
- 包含参数文档,包括有效值和默认值
适用场景
- 为现有 REST API 快速生成 MCP 服务器
- 使 LLMs 能够通过标准化接口与各种 API 交互
- 开发人员希望快速测试和集成不同的 API
工具列表
- SwaggerToMcpGenerator.java:主工具,用于将 OpenAPI 规范转换为 MCP 服务器
- 解析 OpenAPI 规范
- 生成包含所有 API 端点的 MCP 服务器
- 支持多种认证方式和参数处理
常见问题解答
- 如何选择服务器? 可以通过环境变量
SERVER_INDEX
或SERVER_URL
选择特定的服务器。 - 如何设置认证? 通过设置相应的环境变量(如
API_KEY
、BEARER_TOKEN
等)来配置认证。 - 如何处理多个服务器? 生成器会警告如果 OpenAPI 规范中定义了多个服务器且未明确选择。
使用教程
使用依赖
需要安装 jbang 来运行生成器和生成的 MCP 服务器。
```bash
安装 jbang
curl -Ls https://sh.jbang.dev | bash -s - app setup
```
安装教程
- 从 OpenAPI 规范生成 MCP 服务器:
bash
jbang SwaggerToMcpGenerator.java path/to/swagger.json GeneratedMcpServer [options]
参数:
- path/to/swagger.json
:OpenAPI/Swagger 规范文件的路径
- GeneratedMcpServer
:输出 Java 文件的名称(不带 .java 扩展名)
选项:
- --server-index <index>
:使用 OpenAPI 规范中的服务器索引(基于 0)
- --server-url <url>
:使用的服务器 URL(覆盖 server-index)
- 运行生成的 MCP 服务器:
bash
jbang GeneratedMcpServer.java
调试方式
- 选择特定的服务器:
```bash
通过索引选择服务器(基于 0)
export SERVER_INDEX=1
或通过 URL 选择服务器
export SERVER_URL="https://api-example.com/v2"
jbang GeneratedMcpServer.java
```
- 设置认证:
```bash
API 密钥
export API_KEY="your-api-key"
export API_KEY_HEADER="X-API-Key"
Bearer 令牌
export BEARER_TOKEN="your-bearer-token"
Basic 认证
export API_USERNAME="your-username"
export API_PASSWORD="your-password"
jbang GeneratedMcpServer.java
```
- 示例:生成和运行 Open-Meteo Weather API 的 MCP 服务器:
bash
cd examples/open-meteo
jbang ../../SwaggerToMcpGenerator.java open-meteo-openapi.yml OpenMeteoMcpServer
jbang OpenMeteoMcpServer.java
- 示例:生成和运行 Clever Cloud API 的 MCP 服务器:
bash
cd examples/clever-cloud
jbang ../../SwaggerToMcpGenerator.java clever-cloud-openapi.yml CleverCloudMcpServer --server-index 1
export BEARER_TOKEN=your_api_token
jbang CleverCloudMcpServer.java