OpenAPI规范验证工具

一款基于意大利公共管理指南的OpenAPI规范验证工具,支持多种规则集和智能过滤功能,适用于开发环境中的API规范检查。

  • by italia
  • JavaScript
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 mfortini/api-oas-checker-mcp

使用说明

MCP API OAS检查器

一个模型上下文协议(MCP)服务器,使用官方 意大利公共行政指南.

它包裹着 api oas检查器 规则集(Spectral)直接在LLM环境(如Claude Desktop)中提供验证。

特性

  • 验证OpenAPI文件:根据意大利PA规则检查本地OpenAPI文件。
  • 验证内容:直接粘贴OpenAPI内容进行验证。
  • 多个规则集:从4个标准意大利PA规则集中选择(spectral, spectral-full, spectral-generic, spectral-security)或者使用自定义的。
  • 列表规则:检查任何规则集中的可用规则。
  • 智能过滤:
    • 按行号筛选(line_start, line_end)
    • 按JSON路径筛选(filter_path例如。, paths./users)
    • 按规则代码筛选(allowed_rules)
  • 代币高效:总结输出设计以保存上下文窗口标记。

安装

选项1:直接从GitHub安装(推荐)

您可以直接使用以下命令运行服务器 npx 无需手动克隆存储库:

npx -y github:italia/api-oas-checker-mcp

或者通过以下方式全局安装 npm:

npm install -g git+https://github.com/italia/api-oas-checker-mcp.git

然后你就可以跑了 api-oas-checker-mcp 直接。

或者将其添加到您的配置中(请参阅配置部分)。

选项2:从源代码构建

git clone https://github.com/italia/api-oas-checker-mcp.git
cd api-oas-checker-mcp
npm install

这 prepare 脚本在执行过程中自动编译TypeScript npm install.

验证构建:

node build/index.js

(它应该挂起等待MCP输入,这是正常的。按 Ctrl+C 退出。)

配置

/

克劳德桌面

将服务器添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "api-oas-checker": {
      "command": "npx",
      "args": [
        "-y",
        "github:italia/api-oas-checker-mcp"
      ]
    }
  }
}

来自本地建设(开发)

如果您在本地构建它:

{
  "mcpServers": {
    "api-oas-checker": {
      "command": "node",
      "args": [
        "/absolute/path/to/api-oas-checker-mcp/build/index.js"
      ]
    }
  }
}

全局安装

如果全局安装:

{
  "mcpServers": {
    "api-oas-checker": {
      "command": "api-oas-checker-mcp",
      "args": []
    }
  }
}

用法

工具

validate_openapi

验证OpenAPI文档。

论据:

  • openapi_path (string,可选):文件的绝对路径。
  • openapi_content (string,可选):OpenAPI文件的原始字符串内容。
  • standard_ruleset (字符串,可选):其中之一 spectral, spectral-full, spectral-generic, spectral-security默认值: spectral.
  • ruleset_path (字符串,可选):自定义光谱规则集文件的URL或本地路径。
  • allowed_rules (string[],可选):要检查的规则代码列表。如果省略,则检查所有规则。
  • filter_path (string,可选):过滤路径中包含此字符串的问题(例如。, info.version).
  • line_start (数字,可选):显示从此行开始的问题。
  • line_end (数字,可选):显示以此行结尾的问题。
  • max_issues (数字,可选):限制报告的问题数量(默认值:20)。

示例提示:

检查/home/user/my-api.yaml文件是否有错误,重点检查'/users'路径

list_rules

列出光谱规则集中的可用规则。

论据:

  • standard_ruleset (字符串,可选):其中之一 spectral, spectral-full, spectral-generic, spectral-security默认值: spectral.
  • ruleset_path (字符串,可选):自定义光谱规则集文件的URL或本地路径。

发展

  • npm run build:将TypeScript编译为JavaScript。
  • npm start:运行服务器(stdio)。

贡献

欢迎投稿!请随时打开Pull Request。

许可证

该项目根据MIT许可证获得许可。