API元数据查询服务

基于Model Context Protocol(MCP)实现的OpenAPI元数据查询服务,可通过MCP协议查询API路径、方法及请求/响应结构等信息。

  • by yakinikuk
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 yakinikuk/swagger-mcp-server

使用说明

Swagger MCP 服务器

此项目包括:Model Context Protocol(MCP)安装服务器OpenAPI 式样书(swagger/sample.yaml)MCP 通过协议(stdio传输)公开。@modelcontextprotocol/sdk 来修改标记元素的显示属性MCP 从支持的客户端API 可以查询元数据(例如,路径方法请求/响应模式)。

目次

前提条件

  • Node.js v14以上
  • npm 在工作空间的边缘yarn
  • Linux/macOS/Windows環境

安装

# リポジトリをクローン(未取得時)
git clone <リポジトリのURL> api_div
cd api_div

# 依存パッケージをインストール
npm install
npm run build

将安装以下主要软件包:

  • js-yaml:YAML 导入和分析文件
  • @modelcontextprotocol/sdk:MCP 服务器功能
  • zod:验证输入参数
  • @apidevtools/json模式引用解析器:json模式の $ref 解决

开发依赖性软件包:

  • typescript:TypeScript 编译程序
  • @types/js-yaml、@types/node、@types/json模式引用解析器:型定義

项目配置

api_div/                  # ルートワークスペース
├─ mcp-server/            # MCP サーバー実装
│  ├─ build/              # コンパイル済み出力(build/index.js)
│  ├─ src/                # ソースコード(index.ts など)
│  ├─ package.json
│  └─ tsconfig.json
├─ swagger/               # OpenAPI 仕様書
│  └─ sample.yaml
└─ api-service/           # 実際の API 実装プロジェクト(クライアントやバックエンド)
   ├─ src/                # サービス実装コード
   ├─ package.json
   └─ tsconfig.json

VS Code MCP 客户端使用

  1. 模型上下文协议客户端 安装扩展
  2. 将此工作区VS Code 打开
  3. mcp.json 创建文件
{
    "servers": {
        "swagger": {
            "command": "node",
            "args": ["api_div/mcp-server/build/index.js"],
            "env": {"SPEC_PATH": "api_div/swagger/sample.yaml"}
        }
    }
}
  1. MCP 从客户端面板 swagger 启动服务器并提交工具请求(例如: /users, GET)。

工具:getEndpointInfo

MCP 服务器提供的工具:

  • 参数:
    • path :API URI(缩写: /users/{id})
    • method : HTTP 方法(例如: GET, POST)
  • 响应:
    • description :汇总或说明
    • requestSchema :请求主体的JSON 模式
    • responses 状态代码-方案和说明

MCP 客户端示例:

{ "method": "getEndpointInfo", "params": { "path": "/users", "method": "GET" } }

响应:

{
  "path": "/users",
  "method": "GET",
  "description": "Get all users",
  "requestSchema": null,
  "responses": { ... }
}