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许可证获得许可。
