OpenAPI MCP Server
OpenAPI MCP Server 是一个代理工具,它通过 Claude Desktop 使自然语言能够与符合 OpenAPI v3.1 标准的 API 进行交互。
概述
OpenAPI MCP 服务器是一个工具,可让您通过 Claude Desktop 与任何符合 OpenAPI (v3.1) 的 API 进行自然语言对话。它创建一个 模型上下文协议 (MCP) 服务器,作为 API 的代理。
主要功能
- 自动将 OpenAPI 端点转换为 Claude 工具
- 支持文件上传(multipart/form-data)
- 适用于本地和远程 API 服务
安装和配置
-
配置 Claude Desktop:
将以下内容添加到
claude_desktop_config.json
中:{ "mcpServers": { "petstore-api": { "command": "npx", "args": ["openapi-mcp-server", "/abs/path/to/petstore-openapi.json"] } } }
-
重启 Claude Desktop 并开始与您的 API 交互!
使用示例
向 Claude 提出自然语言问题:
- "你能获取宠物 ID 123 的详细信息吗?"
- "更新我的头像为 ~/Downloads/photo.png 并裁剪为 200x200"
- "从 ~/Pictures/profile.jpg 上传我的新个人资料图片"
文件上传支持
支持接受 multipart/form-data 的 API 的文件上传。您可以提供本地文件路径,代理将处理读取和上传文件。
开发使用
基础操作:
# 安装依赖
pnpm install
# 运行测试
pnpm test
# 构建项目
pnpm build
# 链接到全局 node_modules
npm link
以编程方式使用
import { OpenAPIToMCPConverter } from 'openapi-mcp-server'
// 初始化转换器
const converter = new OpenAPIToMCPConverter(openApiSpec)
// 转换为 MCP 工具格式
const { tools, openApiLookup } = converter.convertToMCPTools()
注意事项
- 如果遇到规范问题,使用规范清理应用程序
- 仅支持 OpenAPI v3.1 规范
- 文件上传仅支持本地文件
更多详细信息和示例请参阅完整文档。