小贴士:按下Ctrl+D 或 ⌘+D,一键收藏本站,方便下次快速访问!
20
最近更新:1个月前

OpenAPI 架构模型上下文协议服务器

OpenAPI Schema Model Context Protocol Server

一个Model Context Protocol(MCP)服务器,用于向Claude等大型语言模型(LLM)暴露OpenAPI schema信息。该服务器允许LLM通过一组专用工具探索和理解OpenAPI规范。

功能

  • 加载通过命令行参数指定的任何OpenAPI schema文件(JSON或YAML)
  • 探索API路径、操作、参数和schema
  • 查看详细的请求和响应schema
  • 查找组件定义和示例
  • 在整个API规范中搜索
  • 获取YAML格式的响应以提升LLM理解能力

使用方式

命令行

运行MCP服务器并指定schema文件:

bash 复制代码
# 使用当前目录下的默认openapi.yaml文件  
npx -y mcp-openapi-schema  

# 使用特定schema文件(相对路径)  
npx -y mcp-openapi-schema ../petstore.json  

# 使用特定schema文件(绝对路径)  
npx -y mcp-openapi-schema /absolute/path/to/api-spec.yaml  

# 显示帮助  
npx -y mcp-openapi-schema --help  

Claude桌面端集成

要在Claude桌面端使用此MCP服务器,请编辑claude_desktop_config.json配置文件:

json 复制代码
{  
  "mcpServers": {  
    "OpenAPI Schema": {  
      "command": "npx",  
      "args": ["-y", "mcp-openapi-schema", "/ABSOLUTE/PATH/TO/openapi.yaml"]  
    }  
  }  
}  

配置文件位置:

  • macOS/Linux:~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows:$env:AppData\Claude\claude_desktop_config.json

Claude Code集成

要在Claude Code CLI中使用此MCP服务器,请按以下步骤操作:

  1. 将OpenAPI Schema MCP服务器添加到Claude Code

    bash 复制代码
    # 基本语法  
    claude mcp add openapi-schema npx -y mcp-openapi-schema  
    
    # 指定schema的示例  
    claude mcp add petstore-api npx -y mcp-openapi-schema ~/Projects/petstore.yaml  
  2. 验证MCP服务器是否已注册

    bash 复制代码
    # 列出所有配置的服务器  
    claude mcp list  
    
    # 获取OpenAPI schema服务器的详细信息  
    claude mcp get openapi-schema  
  3. 需要时移除服务器

    bash 复制代码
    claude mcp remove openapi-schema  
  4. 在Claude Code中使用工具

    配置完成后,您可以通过询问有关OpenAPI schema的问题在Claude Code会话中调用该工具。

提示:

  • 使用-s--scope标志配合project(默认)或global来指定配置存储位置
  • 为不同的API添加多个MCP服务器并使用不同的名称

MCP工具

服务器提供以下工具供LLM与OpenAPI schema交互:

  • list-endpoints:以嵌套对象结构列出所有API路径及其HTTP方法和摘要
  • get-endpoint:获取特定端点的详细信息,包括参数和响应
  • get-request-body:获取特定端点和方法的请求体schema
  • get-response-schema:获取特定端点、方法和状态码的响应schema
  • get-path-parameters:获取特定路径的参数
  • list-components:列出所有schema组件(schemas、responses、parameters等)
  • get-component:获取特定组件的详细定义
  • list-security-schemes:列出所有可用的安全方案
  • get-examples:获取特定组件或端点的示例
  • search-schema:在路径、操作和schema中搜索

示例

可尝试的示例查询:

复制代码
此API中有哪些可用端点?  
显示POST /pets端点的详细信息。  
GET /pets/{petId}端点需要哪些参数?  
创建新宠物时的请求体schema是什么?  
从DELETE /pets/{petId}端点会得到什么响应?  
此API中定义了哪些schema?  
显示Pet schema的定义。  
此API有哪些可用的安全方案?  
是否有按ID获取宠物的示例响应?  
在此API中搜索与"user"相关的内容。