关于 OpenAPI MCP Server
OpenAPI MCP Server 根据 OpenAPI schema 动态生成 MCP 服务,作为 MCP 客户端与 API 之间的无状态代理。开发者可通过 schema 地址和 API 基础 URL 配置服务,并在 Prompteus、Claude、Cursor 等工具中调用 API 操作。
主要功能
- 01从 OpenAPI schema 动态生成服务
- 02无状态代理 API 请求
- 03通过 URL 配置 schema 与基础地址
- 04提供网页配置生成界面
适用场景
- 01将 OpenAPI 文档 API 接入 MCP 客户端
- 02在工作流中调用 API 工具和资源
MCP 相关
它将 OpenAPI 描述的 API 操作呈现为 MCP 工具,供 MCP 客户端调用。客户端通过包含编码配置的 MCP 服务 URL 连接。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
OpenAPI MCP 服务
这是一个基于 Cloudflare Workers 的服务,可根据任意 OpenAPI schema 定义端点动态创建 MCP 服务。该服务可与 Prompteus、Claude 和 Cursor 等工具无缝集成。
此项目由 Prompteus 团队积极开发。
快速开始
- 安装依赖项:
npm install
- 在本地运行服务:
npm run dev
服务将在 http://localhost:8787 上提供。
托管服务
我们提供此服务的免费托管版本,尽力维护,地址为 bridge.openapitomcp.com。该服务由 Prompteus 团队维护,可供公众使用。我们会尽力保持服务的高可用性,但请注意,此服务按现状提供,不保证正常运行时间或提供支持。
如需使用托管服务,只需在以下任一示例中将 http://localhost:8787 替换为 https://bridge.openapitomcp.com。
工作原理
此服务充当 MCP 客户端与采用 OpenAPI 文档描述的 API 之间的无状态代理。它需要基本的端点配置,该配置以 base64url 编码的 JSON 对象形式传入 URL。
示例:集成 PetStore API
下面介绍如何连接到 Swagger 的示例 PetStore API:
- OpenAPI schema:
https://petstore3.swagger.io/api/v3/openapi.json - API 基础 URL:
https://petstore3.swagger.io/api/v3
- 创建配置负载:
const payload = {
schemaUrl: 'https://petstore3.swagger.io/api/v3/openapi.json',
baseUrl: 'https://petstore3.swagger.io/api/v3'
};
- 转换为 base64url 格式:
const base64Payload = btoa(JSON.stringify(payload))
.replace(/=/g, '')
.replace(/\+/g, '-')
.replace(/\//g, '_');
- 构造 MCP 服务 URL:
http://localhost:8787/mcp/{base64Payload}
配置完成后,你便可以使用此 MCP 服务,通过各种工具与 PetStore API 交互。可用操作包括:
- 列出宠物
- 添加新宠物
- 更新宠物信息
- 删除宠物
- 以及更多……
MCP 服务会自动处理 OpenAPI schema,并为所有 API 交互提供一致的接口。
使用 openapitomcp.com
为了方便使用,我们提供了一个位于 openapitomcp.com 的 Web 界面,可自动为你生成配置负载。
工具专属配置
Prompteus
Prompteus 提供强大的工作流功能,并支持集成 MCP 服务。你可以通过 Call AI Model 节点创建利用 MCP 服务的复杂工作流:
- 在 Prompteus 中前往 MCP Servers 页面
- 点击 Import MCP Server 按钮
- 输入 MCP 服务 URL(例如,
https://bridge.openapitomcp.com/mcp/{base64Payload}) - 点击 Fetch 以验证并初始化服务
- 可选:添加 Friendly Name,以便区分多个 MCP 服务
- 从可用选项中选择所需的 Tools 和 Resources
- 点击 Import 完成设置
如需在 Neuron 工作流中使用 MCP 服务:
- 在工作流中添加 Call AI Model 节点
- 在节点设置中,从下拉菜单选择你的 MCP 服务
- 一个工作流可以选择多个 MCP 服务
- 所选工具和资源将在工作流中可用
Cursor
- 按
CTRL/CMD+Shift+J打开设置 - 前往 MCP 设置
- 选择 “Add new global MCP server”
- 添加以下配置:
{
"mcpServers": {
"linear": {
"command": "npx",
"args": ["-y", "mcp-remote", "http://localhost:8787/mcp/{base64Payload}"]
}
}
}
Visual Studio Code
- 按
CTRL/CMD+P并搜索 “MCP: Add Server” - 选择 “Command (stdio)”
- 输入以下配置:
npx mcp-remote http://localhost:8787/mcp/{base64Payload}
- 为服务命名(例如,“Linear”)
- 通过 “MCP: List Servers” 启用服务
Windsurf
- 按
CTRL/CMD+,打开设置 - 前往 “Cascade -> MCP servers”
- 选择 “Add Server -> Add custom server”
- 添加以下配置:
{
"mcpServers": {
"linear": {
"command": "npx",
"args": ["-y", "mcp-remote", "http://localhost:8787/mcp/{base64Payload}"]
}
}
}
Zed
- 按
CMD+,打开设置 - 添加以下配置:
{
"context_servers": {
"linear": {
"command": "npx",
"args": ["-y", "mcp-remote", "http://localhost:8787/mcp/{base64Payload}"]
},
"settings": {}
}
}
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。