mcp openapi查询
  
A. FastMCP 用于导航和查询OpenAPI规范的服务器。将任何兼容MCP的AI应用程序连接到此服务器,以便它可以探索API架构,解决 $ref 指针,并检查路径和操作,而无需一次读取整个规范文件。
MCP(模型上下文协议) 是一个开放标准,允许AI助手调用外部工具和服务。此服务器通过HTTP实现MCP,因此任何兼容MCP的AI应用程序都可以访问它。
______________________________________________________________________
先决条件
- 码头工人 --对于Docker Compose部署路径
- 紫外线 --有关源部署路径(请参见 安装uv)
______________________________________________________________________
快速开始
选项A——Docker编写
- 创建一个
docker-compose.yml:
services:
mcp-openapi-query:
image: sesopenko/mcp-openapi-query:latest
ports:
- "8080:8080"
volumes:
- ./config.toml:/config/config.toml:ro
restart: unless-stopped- 复制示例配置并对其进行编辑:
cp config.toml.example config.toml- 启动服务器:
docker compose up -d选项B——从源运行
- 安装 紫外线 如果你还没有。
- 安装依赖项:
uv sync- 复制示例配置并对其进行编辑:
cp config.toml.example config.toml- 启动服务器:
uv run python -m mcp_openapi_query______________________________________________________________________
安全
此服务器具有 无认证 在其MCP端点上。它仅设计用于局域网。
请勿将此服务器直接暴露于互联网。
如果您需要远程访问它,请将其放置在处理TLS终止和访问控制的反向代理后面。配置反向代理不在此项目范围内。
______________________________________________________________________
配置
创建一个 config.toml 在工作目录中(或传递 --config ):
[server]
host = "0.0.0.0"
port = 8080
[logging]
level = "info"\[服务器\]
| 密钥 | 默认值 | 描述 |
|---|---|---|
host | "0.0.0.0" | MCP服务器监听的地址。 0.0.0.0 绑定所有接口。 |
port | 8080 | MCP服务器侦听的端口 |
\[日志记录\]
| 密钥 | 默认值 | 描述 |
|---|---|---|
level | "info" | 日志冗长。什么之中的一个: debug, info, warning, error. |
______________________________________________________________________
连接AI应用程序
此服务器使用 流式HTTP MCP运输。客户端通过HTTP POST与流式响应进行通信——在浏览器中打开端点将返回 Not Acceptable 错误,这是预期的。
将兼容MCP的AI应用程序指向服务器的MCP端点:
http://:
/mcp例如,如果服务器正在运行 192.168.1.10 使用默认端口:
http://192.168.1.10:8080/mcp有关如何注册MCP服务器,请参阅您的AI应用程序的文档。确保它支持流式HTTP传输(大多数现代MCP客户端都支持)。
______________________________________________________________________
使用Claude代码
1.启动服务器
创建一个 docker-compose.yml 以及最小值 config.toml,然后启动服务器:
services:
mcp-openapi-query:
image: sesopenko/mcp-openapi-query:latest
ports:
- "8080:8080"
volumes:
- ./config.toml:/config/config.toml:ro
restart: unless-stopped[server]
host = "0.0.0.0"
port = 8080
[logging]
level = "info"docker compose up -d2.在Claude Code中注册MCP服务器
将服务器添加到项目的MCP配置中。从项目根目录运行以下命令:
claude mcp add --transport http openapi-query http://localhost:8080/mcp或手动添加到 .claude/settings.json 在您的项目中:
{
"mcpServers": {
"openapi-query": {
"type": "http",
"url": "http://localhost:8080/mcp"
}
}
}3.验证连接
在Claude Code会话中,运行:
/mcp这 openapi-query 服务器应显示为已连接。您也可以致电 health_check 直接确认服务器可访问。
______________________________________________________________________
可用工具
| 工具 | 说明 |
|---|---|
health_check | 退货 {"status": "ok"} 确认服务器正在运行。 |
list_paths | 列出OpenAPI规范中定义的所有路径键,当路径项中存在时,每个路径键都有一个可选的描述。 |
get_path_item | 返回特定路径的完整Path Item对象。 |
get_operation | 返回特定HTTP方法和路径的Operation对象。 |
get_spec_version | 返回规范格式版本字符串(例如。 swagger 2.0, openapi 3.0.3). |
list_refs_in_path | 列出全部 $ref 值及其在路径项中的JSON指针位置。 |
get_component_schema | 从返回一个命名的架构对象 components.schemas. |
list_refs_in_schema | 列出全部 $ref 模式中的值,按名称或 $ref 弦。 |
resolve_ref | 解决内部问题 $ref string,并返回目标对象及其规范指针。 |
______________________________________________________________________
运行测试
uv run pytest tests/unit/______________________________________________________________________
贡献/维护
看 维护.md 用于设置、开发命令、AI代理轨道以及如何运行测试。
______________________________________________________________________
许可证
版权所有(c)Sean Esopenko 2026
该项目根据 GNU通用公共许可证v3.0.
______________________________________________________________________
致谢:骑在巨人的背上
这个项目是在 克劳德代码,由Anthropic开发的AI编码助手。
像Claude这样的人工智能助手接受了大量数据的培训,其中大部分是由开源社区编写的:开发人员自由贡献的库、工具、文档和数十年的共享知识。没有这个基础,这样的工具是不可能的。
鉴于该债务,该项目根据 GNU通用公共许可证v3.0GPL确保此代码以及任何衍生作品保持开源。这是一个小小的互惠行为:回馈公地,使之成为可能。
对于每一位将提交推送到公共仓库、编写Stack Overflow答案或在开放许可证下发布包的开发人员——谢谢。
