Token导航 LogoToken导航TokenDH.com
Openapi MCP Bridge logo
运维云端未说明官方级别未说明来源级核验

Openapi MCP Bridge

MCP Server

一个将OpenAPI规范动态转换为MCP工具的Rust服务器,支持多种传输方式和认证机制。

工具数

0

提示词数

0

GitHub Stars

1

资源数

0
RustClaudeAPI集成Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

juncaifeng

提供方

juncaifeng

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

OpenAPI MCP桥

Rust MCP(模型上下文协议)服务器,可将OpenAPI规范动态转换为MCP工具。

特性

  • 动态工具生成:自动将OpenAPI 3.0操作转换为MCP工具
  • 多种运输支持:支持从本地文件或远程URL加载OpenAPI规范
  • 灵活配置:所有配置均通过环境变量进行
  • 身份验证支持:支持承载令牌和API密钥认证
  • YAML和JSON支持:自动检测和解析YAML和JSON OpenAPI规范
  • 错误处理:自动修复常见的OpenAPI规范问题(例如布尔字段中的数值)

安装

cargo build --release

可执行文件将位于 target/release/openapi-mcp-bridge.exe

配置

使用环境变量配置服务器:

必需

  • OPENAPI_SPEC_PATH:OpenAPI规范文件的路径或URL

- 本地文件: ./openapi.json/path/to/spec.yaml - 远程URL: https://api.example.com/openapi.json

可选的

  • API_BASE_URL:API请求的基本URL(例如。, https://api.example.com)

- 如果您的OpenAPI规范已经包含服务器,则可以省略

  • API_AUTH_TOKEN:用于身份验证的承载令牌

- 增加 Authorization: Bearer 所有请求的标题

  • API_KEY:用于身份验证的API密钥

- 增加 X-API-Key: 所有请求的标题

  • SKILLS_MD_PATH:工具默认值的skills.md文件的路径(未来功能)

用法

运行服务器

# Set environment variables
export OPENAPI_SPEC_PATH="./openapi.json"
export API_BASE_URL="https://api.example.com"
export API_AUTH_TOKEN="your-bearer-token"

# Run the server
./target/release/openapi-mcp-bridge

Claude桌面集成

添加到您的Claude Desktop配置(claude_desktop_config.json):

{
  "mcpServers": {
    "openapi-bridge": {
      "command": "path/to/openapi-mcp-bridge.exe",
      "env": {
        "OPENAPI_SPEC_PATH": "https://api.example.com/openapi.json",
        "API_BASE_URL": "https://api.example.com",
        "API_AUTH_TOKEN": "your-bearer-token"
      }
    }
  }
}

运作原理

  1. 启动时:服务器从指定的路径/URL加载OpenAPI规范
  2. 工具发现:规范中的每个GET和POST操作都成为MCP工具

- 工具名称来源于 operationId (例如。, getUsers, createOrder) - 工具描述来自 summarydescription 领域

  1. 工具执行:当Claude调用工具时:

- 服务器使用以下命令构造完整的URL API_BASE_URL +操作路径 - 如果已配置,则添加身份验证标头 - 对于GET请求:从工具参数中查询参数 - 对于POST请求:从工具参数请求正文 - 返回API对Claude的响应

OpenAPI规范示例

openapi: 3.0.0
info:
  title: Sample API
  version: 1.0.0
servers:
  - url: https://api.example.com/v1
paths:
  /users:
    get:
      operationId: getUsers
      summary: Get all users
      parameters:
        - name: limit
          in: query
          schema:
            type: integer
        - name: offset
          in: query
          schema:
            type: integer
      responses:
        '200':
          description: Success
    post:
      operationId: createUser
      summary: Create a new user
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                email:
                  type: string
      responses:
        '201':
          description: Created

这将生成两个MCP工具:

  • getUsers:GET/具有可选限制/偏移参数的用户
  • createUser:POST/具有名称/电子邮件正文参数的用户

发展

运行测试

cargo test

使用调试日志运行

RUST_LOG=debug cargo run

生产大楼

cargo build --release

局限性

目前支持:

  • ✅ GET和POST操作
  • ✅ 查询参数(GET)
  • ✅ JSON请求体(POST)
  • ✅ 承载令牌身份验证
  • ✅ API密钥验证
  • ✅ 本地文件和远程URL规范
  • ✅ YAML和JSON格式

马上就来:

  • 🔲 PUT、DELETE、PATCH操作
  • 🔲 路径参数
  • 🔲 OpenAPI规范中的标头
  • 🔲 请求根据模式进行验证
  • 🔲 Skills.md集成

故障排除

“无效类型:浮点 0.0,预期为布尔值“

当OpenAPI规范使用数值(如 0.01.0)而不是 true/false 对于布尔字段。服务器会自动修复这些问题:

  • 转换 0.0false 以及任何非零数字→ true
  • 修复了常见的布尔字段: deprecated, required, nullable, readOnly, writeOnly, uniqueItems

如果您在日志中看到此错误,服务器将尝试自动修复它,并且应该正常工作。

“连接已关闭”或“启动失败”

  1. 检查您的OpenAPI规范URL:确保 OPENAPI_SPEC_PATH 可访问的
  2. 启用调试日志:设置 RUST_LOG=debug 查看详细的错误消息
  3. 测试URL:验证您可以在浏览器中或使用curl访问规范
  4. 检查身份验证:确保 API_AUTH_TOKENAPI_KEY 如果需要,是正确的

调试模式

运行详细日志记录:

export RUST_LOG=debug
./target/debug/openapi-mcp-bridge.exe

这将显示:

  • 规格加载过程
  • 提取的工具数量
  • 正在发出API请求
  • 详细的错误消息

建筑

src/
├── main.rs        # Entry point, sets up MCP server with stdio transport
├── lib.rs         # MCP handler implementation (list_tools, call_tool)
├── config.rs      # Environment variable configuration
├── state.rs       # Shared state (tools list, HTTP client, config)
├── openapi.rs     # OpenAPI spec loading and tool extraction
└── tools.rs       # Tool execution logic (makes HTTP requests)

许可证

麻省理工学院

贡献

欢迎投稿!请打开问题或提交拉取请求。

目录标签

目录标签

RustClaudeAPI集成OpenAPI转换本地部署MCP工具Rust服务器动态生成工具

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

api-key

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明api-key部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP