article
README
🚀 使用 MCP 资源模板探索 OpenAPI 规范
本项目提供了 MCP 资源模板,可用于探索和理解 OpenAPI 规范,让你轻松获取 API 的各种信息并进行深入分析。
🚀 快速开始
📦 安装依赖
pip install -r requirements.txt
⚙️ 启动服务
python server.py
✨ 主要特性
MCP 提供了多个资源模板,用于探索和理解 OpenAPI 规范。以下是各个资源模板的详细说明:
openapi://{field}
- 描述:此模板用于访问 OpenAPI 文档中的顶层字段(如
info、servers、tags)或列出paths和components的内容。具体可用字段取决于加载的规范。 - 示例:
- 请求:
openapi://info - 响应:以 JSON/YAML/minified JSON 格式返回
info字段的内容。 - 自动完成:提供
{field}的动态建议,基于实际文档中的顶层键。
- 请求:
- 参数:无
openapi://paths/{path}
- 描述:列出特定 API 路径支持的所有 HTTP 方法(操作)。
- 参数:
{path}:API 路径字符串。必须 URL 编码(例如,/users/{id}应编码为users%2F%7Bid%7D)。
- 示例:
- 请求:
openapi://paths/users%2F%7Bid%7D - 响应:以文本形式列出该路径支持的所有 HTTP 方法。
- 自动完成:提供
{path}的动态建议,基于文档中的所有路径(URL 编码后)。
- 请求:
openapi://paths/{path}/{method*}
- 描述:获取特定 API 路径上一个或多个 HTTP 方法的详细规范。
- 参数:
{path}:API 路径字符串。必须 URL 编码。{method*}:一个或多个 HTTP 方法(如get、post),支持逗号分隔(例如,get,post)。不区分大小写。
- 示例:
- 单个方法:
openapi://paths/users%2F%7Bid%7D/get - 多个方法:
openapi://paths/users%2F%7Bid%7D/get,post
- 单个方法:
- 输出格式:以 JSON/YAML/minified JSON 格式返回详细规范。
- 自动完成:提供
{path}的动态建议,以及{method*}的静态建议(常见 HTTP 谓词如 GET、POST、PUT、DELETE 等)。
openapi://components/{type}
- 描述:列出特定类型的所有定义组件(例如,
schemas、responses、parameters),并附有简短描述。具体可用类型取决于加载的规范。 - 示例:
- 请求:
openapi://components/schemas - 响应:以文本形式列出所有
schemas类型的组件及其描述。 - 自动完成:提供
{type}的动态建议,基于文档中的组件类型。
- 请求:
openapi://components/{type}/{name}
- 描述:获取特定组件类型的详细信息,例如
schema、response或parameter的具体定义。 - 参数:
{type}:组件的类型(如schemas)。{name}:组件的具体名称或标识符。
- 示例:
- 请求:
openapi://components/schemas/User - 响应:以 JSON/YAML 格式返回
User构件的详细定义。
- 请求:
🔧 贡献指南
💻 提交代码
git clone https://github.com/yourusername/mcp.git
cd mcp
🛠️ 开发流程
# 安装依赖
pip install -r requirements.txt
# 启动开发服务器
python server.py
🚀 发布流程
📦 打包
python setup.py sdist bdist_wheel
🚀 发布到 PyPI
twine upload dist/*
🚀 未来计划
- 支持更多 OpenAPI 版本。
- 增加对其他 API 格式的解析能力。
- 提供交互式界面以提升用户体验。
微信扫一扫