关于 OpenAPI Lint
OpenAPI Lint 是用于检查 OpenAPI 3.0 和 3.1 文档并查看其操作的 MCP 服务。它帮助 API 开发者发现安全性和完整性问题,且只解析本地引用。
主要功能
- 01检查 OpenAPI 3.0 和 3.1 文档
- 02报告安全性与完整性问题
- 03列出操作及其有效安全设置
- 04查看操作并解释检查规则
适用场景
- 01查找缺失的安全设置或响应定义
- 02审查操作参数与响应
- 03了解检查结果及修复方法
MCP 相关
该 MCP 服务向 MCP 客户端提供 OpenAPI 检查、操作查看和规则说明工具。它接收本地文件或内联文档,不会获取引用内容。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
docker run -i --rm ghcr.io/basitalisandhu/mcp-openapi-lint:0.3.0本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
ghcr.io/basitalisandhu/mcp-openapi-lint:0.3.0stdio工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
openapi-lint MCP 服务
加载 OpenAPI 3.0 或 3.1 文档(JSON 或 YAML,来自本地路径或内联内容),检查其中的安全性和完整性问题;列出并获取包含有效安全配置的操作。仅解析本地 #/ 引用;不会获取任何内容。
属于 dev-mcp-servers。仅支持 Stdio 传输;服务不会开放端口。
工具
| 工具 | 输入 | 返回内容 |
|---|---|---|
lint_openapi | path 或 document、ignore? | 按严重性排序的问题,包含规则 ID、JSON Pointer 路径和消息:OpenAPI 版本、HTTP 服务、缺失、未使用或未定义的安全方案、未配置安全的操作(以及明确公开的操作)、没有响应或成功响应的操作、未描述的响应和参数、未声明或非必填的路径参数、缺失或重复的 operationId、未版本化的路径、空请求体、已弃用的操作、未声明的标签。 |
list_operations | path 或 document、tag?、method?、path_prefix? | 每个操作的 operationId、摘要、标签、已弃用标记、有效安全配置(security: [] 时为 public,未应用任何安全配置时为 inherited-none)、参数、请求媒体类型和响应代码。 |
get_operation | path 或 document、operation_id 或 method + operation_path | 完整的单个操作,其中已合并路径级参数并解析本地引用。 |
explain_rule | rule | 严重性、规则检测的内容以及修复方法。 |
安装
Claude Code:
claude mcp add openapi-lint -- docker run --rm -i -v "$PWD:/work:ro" ghcr.io/basitalisandhu/mcp-openapi-lint:0.2.2
添加 -s user,即可在每个项目中使用。任何可读取 .mcp.json 的客户端(Claude Code、Claude Desktop、Cursor):
{
"mcpServers": {
"openapi-lint": {
"command": "docker",
"args": ["run", "--rm", "-i", "-v", "/path/to/your/project:/work:ro", "ghcr.io/basitalisandhu/mcp-openapi-lint:0.2.2"]
}
}
}
如图所示固定版本,避免更新在你未察觉的情况下改变编辑器中运行的内容。容器只能看到挂载的目录,因此请传入 /work 下的路径。该软件包尚未发布到 npmjs.com,因此 npx 无法使用;请参阅仓库 README,了解 GitHub Packages npm。从检出目录开始,在仓库根目录运行 npm install && npm run build 后,使用 "command": "node", "args": ["<path>/packages/openapi-lint/dist/index.js"]。
涉及内容
- 网络:无。
- 本地文件:读取指定的单个文件,最大 5 MB。解析 YAML 时会限制别名数量。
- 遥测:无。
注意事项
- Swagger 2.0 文档会由
openapi-version规则报告,而不会进行检查。 - 检查结果描述的是文档,而不是正在运行的 API。
构建和测试
npm install # at the repository root
npm run build -w @basitalisandhu/mcp-openapi-lint
npm test -w @basitalisandhu/mcp-openapi-lint
测试使用 node:test 和 SDK 的内存传输;不会访问网络。
许可证
MIT。参见 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。