OpenAPI MCP 服务器
一个模型上下文协议 (MCP) 服务器,它将 OpenAPI 端点公开为 MCP 资源。此服务器允许大型语言模型通过 MCP 协议发现并交互 OpenAPI 规范定义的 REST API。
概述
该 MCP 服务器支持两种传输方式:
- Stdio Transport (默认):用于与通过标准输入/输出管理 MCP 连接的 Claude Desktop 等 AI 系统直接集成。
- 可流式 HTTP 传输:通过 HTTP 连接到服务器,允许 Web 客户端和其他支持 HTTP 的系统使用 MCP 协议。
用户快速入门
选项 1:与 Claude Desktop (Stdio Transport) 一起使用
无需克隆此存储库。只需配置 Claude Desktop 即可使用此 MCP 服务器:
- 找到或创建您的 Claude Desktop 配置文件:
- 在 macOS 上:
~/Library/Application Support/Claude/claude_desktop_config.json
- 在 macOS 上:
- 添加以下配置:
- 将环境变量替换为您的实际 API 配置:
API_BASE_URL
:API 的基本 URLOPENAPI_SPEC_PATH
:OpenAPI 规范的 URL 或路径API_HEADERS
:API 身份验证标头的逗号分隔键值对
选项 2:使用 HTTP 客户端(HTTP 传输)
要将服务器与 HTTP 客户端一起使用:
- 无需安装!使用 npx 直接运行包:
- 使用 HTTP 请求与服务器交互:
运输类型
Stdio 传输(默认)
stdio 传输旨在与 Claude Desktop 等通过标准输入/输出管理 MCP 连接的 AI 系统直接集成。这是最简单的设置,无需网络配置。
何时使用:与 Claude Desktop 或其他支持基于 stdio 的 MCP 通信的系统集成时。
可流式传输的 HTTP 传输
HTTP 传输允许通过 HTTP 访问 MCP 服务器,从而使 Web 应用程序和其他支持 HTTP 的客户端能够与 MCP 协议交互。它支持会话管理、流式响应和标准 HTTP 方法。
主要特点:
- 使用 Mcp-Session-Id 标头进行会话管理
initialize
和tools/list
请求的 HTTP 响应在 POST 上同步发送。- 其他服务器到客户端消息(例如,
tools/execute
结果、通知)使用服务器发送事件(SSE)通过 GET 连接传输。 - 支持 POST/GET/DELETE 方法
何时使用:当您需要将 MCP 服务器公开给通过 HTTP 而不是 stdio 进行通信的 Web ��户端或系统时。
配置选项
可以通过环境变量或命令行参数配置服务器:
环境变量
API_BASE_URL
- API 端点的基本 URLOPENAPI_SPEC_PATH
- OpenAPI 规范的路径或 URLAPI_HEADERS
- API 标头的逗号分隔键值对SERVER_NAME
- MCP 服务器的名称(默认值:“mcp-openapi-server”)SERVER_VERSION
- 服务器版本(默认值:“1.0.0”)TRANSPORT_TYPE
- 要使用的传输类型:“stdio”或“http”(默认值:“stdio”)HTTP_PORT
- HTTP 传输端口(默认值:3000)HTTP_HOST
- HTTP 传输的主机(默认值:“127.0.0.1”)ENDPOINT_PATH
- HTTP 传输的端点路径(默认值:“/mcp”)
命令行参数
安全注意事项
- HTTP 传输验证 Origin 标头以防止 DNS 重新绑定攻击
- 默认情况下,HTTP 传输仅绑定到本地主机(127.0.0.1)
- 如果暴露给其他主机,请考虑实施额外的身份验证
调试
查看调试日志:
- 当使用 Claude Desktop 的 stdio 传输时:
- 日志出现在 Claude Desktop 日志中
- 使用 HTTP 传输时:
对于开发人员
开发工具
npm run build
- 构建 TypeScript 源npm run clean
- 删除构建工件npm run typecheck
- 运行 TypeScript 类型检查npm run lint
- 运行 ESLintnpm run dev
- 监视源文件并在发生更改时重建npm run inspect-watch
- 运行检查器并在发生更改时自动重新加载
开发工作流程
- 克隆存储库
- 安装依赖项:
npm install
- 启动开发环境:
npm run inspect-watch
- 对
src/
中的 TypeScript 文件进行更改 - 服务器将自动重建并重启
贡献
- 分叉存储库
- 创建功能分支
- 进行更改
- 运行测试和 linting:
npm run typecheck && npm run lint
- 提交拉取请求
执照
麻省理工学院
Related MCP Servers
- -securityAlicense-qualityAn MCP server that exposes HTTP methods defined in an OpenAPI specification as tools, enabling interaction with APIs via the Model Context Protocol.Last updated -2PythonMIT License
- -securityFlicense-qualityA server based on Model Context Protocol that parses Swagger/OpenAPI documents and generates TypeScript types and API client code for different frameworks (Axios, Fetch, React Query).Last updated -1431TypeScript
- AsecurityFlicenseAqualityA Model Context Protocol server that enables large language models to interact with Apache Superset databases through REST API, supporting database queries, table lookups, field information retrieval, and SQL execution.Last updated -43TypeScript
- -securityAlicense-qualityA Model Context Protocol server that provides standardized interfaces for interacting with Ollama API, offering JSON responses, error handling, and intelligent guidance for LLM-based API calls.Last updated -PythonMIT License