适合谁
- 需要将 OpenAPI 规范描述的现有 REST API 集成到 MCP 生态系统的开发者和团队。
- 希望快速将 API 转化为 MCP 工具,并利用动态工具生成功能的场景。
mcp-openapi-proxy 是一个实用的通用代理,能够将 OpenAPI 定义的 REST API 动态转换为 MCP 工具,简化集成。它支持多种认证方式和过滤选项,提供了丰富的示例和客户端兼容性验证。不过,工具列表是动态的,无法预先枚举;某些客户端对 prompts/resources 的支持有限。总体而言,对于希望快速接入大量 REST API 的用户来说,这是一个强大的工具。
最强项 · 安装易用性 13/20 最弱项 · 安全与权限 7/20
静态评测 · 未实际运行收录于 2026-08-07
查看 FMRS 评分方法 →运行环境:Python
OPENAPI_SPEC_URL
必填,OpenAPI 规范的 URL 或 file:// 本地路径。
API_KEY
目标 API 的认证令牌,默认以 Bearer 方式发送;在 API 文档或账户设置中获取。
OPENAPI_SIMPLE_MODE
设为 true 启用 FastMCP 简单模式(静态工具集)。
TOOL_WHITELIST
逗号分隔的端点路径列表,用于过滤要暴露的工具。
ADDITIONAL_RESOURCES
逗号分隔的 name=/path/to/file 条目,作为额外 MCP 资源提供。
TOOL_NAME_PREFIX
为所有工具名添加前缀。
API_AUTH_TYPE
覆盖默认 Bearer 的认证方案(如 Token、api-key)。
STRIP_PARAM
JMESPath 表达式,用于从请求负载中剥离不需要的参数(如 Slack 的 token)。
DEBUG
设为 true/1/yes 启用详细调试日志。
EXTRA_HEADERS
额外 HTTP 头,接受 JSON 数组、每行一条或 \n 分隔。
SERVER_URL_OVERRIDE
覆盖规范中的基础 URL,用于自定义部署。
TOOL_NAME_MAX_LENGTH
截断工具名的最大长度。
IGNORE_SSL_SPEC
设为 true 时获取规范不校验 SSL 证书。
IGNORE_SSL_TOOLS
设为 true 时工具发起的 API 请求不校验 SSL 证书。
API_AUTH_HEADER
API_AUTH_TYPE=api-key 时使用的请求头名(如 x-apikey)。
OPENAPI_SPEC_FORMAT
设为 yaml 可解析 file:// 的 YAML 规范。
OPENAPI_SPEC_CACHE_TTL_SECONDS
远程规范的磁盘缓存 TTL(秒),默认 86400,0 为禁用。
ENABLE_TOOLS
低级模式下是否启用 tools 表面,默认启用。
ENABLE_PROMPTS
低级模式下是否启用 prompts 表面,默认启用。
ENABLE_RESOURCES
低级模式下是否启用 resources 表面,默认启用。
CAPABILITIES_TOOLS
在相应能力上通告 listChanged,默认 false。
CAPABILITIES_PROMPTS
在相应能力上通告 listChanged,默认 false。
CAPABILITIES_RESOURCES
在相应能力上通告 listChanged,默认 false。
通过 PyPI 安装:\n\n``bash\nuvx mcp-openapi-proxy\n`\n\n在 MCP 生态系统的 mcpServers 配置中引入,例如:\n\n`json\n{\n "mcpServers": {\n "mcp-openapi-proxy": {\n "command": "uvx",\n "args": ["mcp-openapi-proxy"],\n "env": {\n "OPENAPI_SPEC_URL": "${OPENAPI_SPEC_URL}",\n "API_KEY": "${API_OPENAPI_KEY}"\n }\n }\n }\n}\n``\n\n设置环境变量 OPENAPI_SPEC_URL(必填)和其他可选变量,如 API_KEY、TOOL_WHITELIST 等。
{
"mcpServers": {
"mcp-openapi-proxy": {
"command": "uvx",
"args": [
"mcp-openapi-proxy"
],
"env": {
"OPENAPI_SPEC_URL": "${OPENAPI_SPEC_URL}",
"API_KEY": "${API_OPENAPI_KEY}"
}
}
}
}
以 Claude Desktop 为例。其他客户端的配置文件位置或字段可能不同(如 VS Code 使用 servers 字段),可用下方配置生成器转换。
{
"servers": {
"mcp-openapi-proxy": {
"command": "uvx",
"args": [
"mcp-openapi-proxy"
],
"env": {
"OPENAPI_SPEC_URL": "${OPENAPI_SPEC_URL}",
"API_KEY": "${API_OPENAPI_KEY}"
}
}
}
}
写入项目的 .vscode/mcp.json(VS Code 使用 servers 字段)。
claude mcp add mcp-openapi-proxy -e 'OPENAPI_SPEC_URL=${OPENAPI_SPEC_URL}' -e 'API_KEY=${API_OPENAPI_KEY}' -- uvx mcp-openapi-proxy
在终端运行;先把 <…> 占位符换成你自己的值。
启动后(OPENAPI_SPEC_URL 设为 https://glama.ai/api/mcp/openapi. 并运行 uvx mcp-openapi-proxy),在客户端工具列表中应出现由规范端点动态生成的工具(如 get_v1_attributes),或通过 JSON-RPC 的 tools/list 返回非空列表。
连接成功后,可以直接对 AI 助手这样说:
依据项目文档列出,未经本站实测。
mcp-openapi-proxy 是一个 Python 包,实现了一个模型上下文协议(MCP)服务器,旨在将 OpenAPI 规范描述的 REST API 动态暴露为 MCP 工具,从而无缝地将 OpenAPI 描述的 API 集成到基于 MCP 的工作流中。支持两种模式:低层模式(默认)根据规范为每个有效端点注册工具;FastMCP 模式(简单模式)暴露预定义的工具集(list_functions 和 call_function)。它支持 OpenAPI v3(可能支持 v2),提供端点白名单过滤、多种认证方式(Authorization 头中的 Bearer、自定义 scheme、api-key 头),以及通过 JMESPath 表达式剥离负载中的 token 参数。还支持额外的 MCP 资源(如自定义用例文档)和提示(如 summarize_spec 和 whimsical_blog)。
Upstash 官方维护,为 AI 编码助手提供实时更新的第三方库文档
基于 AI 的 NPM 包分析 MCP 服务器
为 AI 编码代理提供预算、验证与回滚的治理控制层
GitHub 官方 MCP Server,用自然语言管理仓库、Issue、PR 与工作流
源版本 04334a0c8992 数据同步于 2026-10-12 查看 FMRS 评分方法