article
README
🚀 OpenAPI MCP 服务器
OpenAPI MCP 服务器是一个通过 OpenAPI 端点暴露为 MCP 资源的模型上下文协议(MCP)服务器。它允许大型语言模型借助 MCP 协议,发现并与由 OpenAPI 规范定义的 REST API 进行交互。
🚀 快速开始
您无需克隆此仓库即可使用此 MCP 服务器,只需在 Claude 桌面中进行如下配置:
- 找到或创建 Claude 桌面配置文件:
- 在 macOS 系统上,配置文件路径为:
~/Library/Application Support/Claude/claude_desktop_config.json
- 在 macOS 系统上,配置文件路径为:
- 添加配置以启用 OpenAPI MCP 服务器:
{
"mcpServers": {
"openapi": {
"command": "npx",
"args": ["-y", "@ivotoby/openapi-mcp-server"],
"env": {
"API_BASE_URL": "https://api.example.com",
"OPENAPI_SPEC_PATH": "https://api.example.com/openapi.json",
"API_HEADERS": "Authorization:Bearer token123,X-API-Key:your-api-key"
}
}
}
}
- 替换环境变量为实际 API 配置:
API_BASE_URL:API 的基础 URLOPENAPI_SPEC_PATH:OpenAPI 规范的 URL 或路径API_HEADERS:用于 API 身份验证的逗号分隔键值对
✨ 主要特性
此项目包含多种开发工具,可简化工作流程,具体如下:
构建
npm run build:编译 TypeScript 源代码npm run clean:删除构建 artifactsnpm run typecheck:运行 TypeScript 类型检查
开发模式
npm run dev:监视源文件并在更改时重建npm run inspect-watch:运行 inspector 并在更改时自动重新加载
代码质量
npm run lint:运行 ESLintnpm run typecheck:验证 TypeScript 类型
📦 安装指南
服务器可通过环境变量或命令行参数进行配置:
环境变量
API_BASE_URL:API 端点的基础 URLOPENAPI_SPEC_PATH:OpenAPI 规范的路径或 URLAPI_HEADERS:用于 API 头的逗号分隔键值对SERVER_NAME:MCP 服务器的名称(默认: "mcp-openapi-server")SERVER_VERSION:服务器版本(默认: "1.0.0")
命令行参数
npm run inspect -- \
--api-base-url https://api.example.com \
--openapi-spec https://api.example.com/openapi.json \
--headers "Authorization:Bearer token123,X-API-Key:your-api-key" \
--name "my-mcp-server" \
--version "1.0.0"
💻 使用示例
开发工作流程
- 启动开发环境:
npm run inspect-watch
- 对
src/中的 TypeScript 文件进行更改 - 服务器会自动重建并重新启动
- 使用 MCP Inspector UI 测试更改
调试
服务器将调试日志输出到标准错误流,查看日志的方法如下:
- 在开发模式下:日志会在运行
inspect-watch的终端中显示。 - 直接运行时:
npm run inspect 2>debug.log
📚 详细文档
贡献流程
- Fork 仓库
- 创建功能分支
- 进行更改
- 运行测试和 linting:
npm run typecheck
npm run lint
- 提交拉取请求
📄 许可证
本项目采用 MIT 许可证。
微信扫一扫