OpenAPI-MCP
gujord/OpenAPI-MCP加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
你是否有这样的经历——费尽心思训练了一个 AI Agent,却在关键时刻发现它无法访问你公司内部的订单系统、无法查询天气数据、无法调用第三方支付接口?
这并非 AI 能力不足,而是接口孤岛问题:大量 REST API 遵循 OpenAPI 规范(即 Swagger 规范)设计,有完整的接口文档和参数描述,但 AI Agent 仍然无法直接理解和使用它们,因为传统方式需要为每个 API 编写专门的"适配层"代码。
OpenAPI-MCP 的作者 Roger Gujord 正是发现了这一痛点。他的解决方案优雅而直接:不做定制封装,而是实时将 OpenAPI 规范翻译成 MCP(Model Context Protocol)工具,让 AI Agent 无需任何额外代码即可调用任意遵循 OpenAPI 规范的 REST API。

OpenAPI-MCP 工作原理:将 OpenAPI 规范动态转换为 MCP 工具
OpenAPI-MCP 本质上是一个协议转换代理服务器。它的工作流程如下:
OPENAPI_URL 指定远程或本地 OpenAPI 规范文件(支持 YAML 或 JSON 格式)GET /weather/{location})解析为 MCP 工具(tool)| 依赖 | 版本 | 作用 |
|---|---|---|
| fastmcp | ≥2.13.0 | 官方 MCP 服务器框架 |
| httpx | ≥0.28.1 | 异步 HTTP 客户端,支持连接池和超时控制 |
| pydantic | ≥2.10.6 | 数据验证和 schema 生成 |
| starlette | ≥0.46.1 | ASGI 框架底层 |
| uvicorn | ≥0.34.0 | ASGI 服务器 |
项目实现了双认证体系:
X-API-Key 等自定义认证头两种方式均有自动 token 缓存机制,避免频繁请求认证端点。
OpenAPI-MCP 支持三种 MCP 传输模式:
| 传输模式 | 推荐场景 | 说明 |
|---|---|---|
| stdio | CLI 工具、本地集成 | 标准输入输出,Claude CLI |
| SSE | Claude Desktop、Cursor、Windsurf | Server-Sent Events,推荐配置 |
| HTTP | 远程访问 | MCP 官方 HTTP 传输协议 |
最轻量的体验方式是使用 uvx 直接运行,无需安装任何依赖:
OPENAPI_URL="https://api.met.no/weatherapi/locationforecast/2.0/swagger" \
SERVER_NAME="weather" \
uvx openapi-mcp
这条命令启动后,Claude Desktop 就能直接调用挪威气象局(api.met.no)的天气 API。问一句"明天奥斯陆天气怎么样",Claude 会自动调用生成的 weather_get__compact 工具。
npx mcp-remote 将本地服务暴露给 Claude Desktop配置示例:
{
"mcpServers": {
"weather": {
"command": "npx",
"args": ["mcp-remote", "http://127.0.0.1:8001/sse"]
}
}
}

Cursor IDE 中调用 MCP 天气工具
项目提供了 docker-compose 配置,包含 weather 和 petstore 两个示例服务:
./docker-start.sh
# 或
docker-compose up --build -d
自动启动:
每个服务都内置了健康检查(/health 端点),Dockerfile 使用 python:3.12-slim 基础镜像,非 root 用户运行,镜像体积控制在合理范围。
src/openapi_mcp/
fastmcp_server.py # FastMCP 入口,定义服务器和工具注册逻辑
test/ # 15 个测试文件,覆盖核心功能
examples/ # 演示脚本(FastMCP 简单模式、SSE 模式)
项目包含 15 个测试文件,覆盖:
README 长度超过 25,000 字符,包含详尽的安装指南、配置选项和多种 IDE(Claude Desktop、Cursor、Windsurf)的集成教程。另有 CONTRIBUTING.md、CODE_OF_CONDUCT.md、SECURITY.md 完整配套。
appuser)MCP(Model Context Protocol)作为 Anthropic 主导的 AI-Agent 接口标准,正在快速获得生态支持。OpenAPI-MCP 的出现填补了一个关键空白:不是让开发者为 AI 编写适配代码,而是让 AI 自动理解现有的 API 规范。
这种"规范驱动"的思路代表了一种新的集成范式:
随着 MCP 生态的扩展,OpenAPI-MCP 有望成为 AI Agent 接入现有 API 生态的事实标准工具。