MCP OpenAPI 服务器
一台使大型语言模型能够通过模型上下文协议发现并与由 OpenAPI 规范定义的 REST API 交互的服务器。
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"openapi": {
"args": [
"-y",
"@ivotoby/openapi-mcp-server"
],
"command": "npx",
"env": {
"API_BASE_URL": "https://api.example.com",
"API_HEADERS": "Authorization:Bearer token123,X-API-Key:your-api-key",
"OPENAPI_SPEC_PATH": "https://api.example.com/openapi.json"
}
}
}
}
服务介绍
OpenAPI MCP 服务器
这是一个模型上下文协议(MCP)服务器,它将OpenAPI端点作为MCP资源公开。此服务器允许大型语言模型通过MCP协议发现并与其定义的REST API进行交互。
快速开始
使用此MCP服务器不需要克隆此仓库。您只需在Claude Desktop中进行配置即可:
-
查找或创建您的Claude Desktop配置文件:
- 在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- 删除构建产物npm run typecheck- 运行TypeScript类型检查
开发模式
npm run dev- 监视源文件并在更改时重建npm run inspect-watch- 在更改时自动重新加载运行检查器
代码质量
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测试您的更改
调试
服务器将调试日志输出到stderr。要查看这些日志:
-
在开发模式下:
- 日志会出现在运行
inspect-watch的终端中
- 日志会出现在运行
-
当直接运行时:
npm run inspect 2>debug.log
贡献
- 叉出仓库
- 创建一个功能分支
- 进行您的修改
- 运行测试和代码检查:
npm run typecheck npm run lint - 提交一个拉取请求
许可证
MIT