返回市场
MCP开放API模式

MCP开放API模式

作者:hannesj46 星标更新:2025-03-13

项目介绍

OpenAPI 模式上下文协议服务器

一个模型上下文协议(MCP)服务器,通过OpenAPI模式信息向大型语言模型(如Claude)提供服务。此服务器允许语言模型通过一组专门工具来探索和理解OpenAPI规范。

功能

  • 加载通过命令行参数指定的任何OpenAPI模式文件(JSON或YAML)
  • 探索API路径、操作、参数和模式
  • 查看详细的请求和响应模式
  • 查找组件定义和示例
  • 在整个API规范中搜索
  • 获取以YAML格式的响应,以便更好地让语言模型理解

使用方法

命令行

运行具有特定模式文件的MCP服务器:

# 使用当前目录下的默认openapi.yaml
npx -y mcp-openapi-schema

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

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

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

Claude Desktop 集成

要将此MCP服务器与Claude Desktop集成,请编辑您的claude_desktop_config.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 集成

要将此MCP服务器与Claude Code CLI集成,请遵循以下步骤:

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

    # 基本语法
    claude mcp add openapi-schema npx -y mcp-openapi-schema
    
    # 具体模式示例
    claude m[此处省略了部分内容]p add petstore-api npx -y mcp-openapi-schema ~/Projects/petstore.yaml
    
  2. 验证MCP服务器是否已注册

    # 列出所有已配置的服务器
    claude mcp list
    
    # 获取您的OpenAPI模式服务器的详细信息
    claude mcp get openapi-schema
    
  3. 如有需要,移除服务器

    claude mcp remove openapi-schema
    
  4. 在Claude Code中使用该工具

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

提示:

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

MCP 工具

该服务器提供了以下工具供语言模型与OpenAPI模式进行交互:

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

示例

尝试以下查询示例:

这个API有哪些端点可用?
给我显示POST /pets端点的详细信息。
GET /pets/{petId}端点接受哪些参数?
创建新宠物的请求体模式是什么?
DELETE /pets/{petId}端点会返回什么响应?
这个API定义了哪些模式?
给我显示Pet模式的定义。
这个API有哪些可用的安全方案?
获取ID的宠物是否有任何示例响应?
在这个API中搜索与“用户”相关的任何内容。