mcpField
O
OpenAPI Lint

OpenAPI Lint

本地服务
basitalisandhu.github.io开发工具12 天前更新

关于 OpenAPI Lint

OpenAPI Lint 是用于检查 OpenAPI 3.0 和 3.1 文档并查看其操作的 MCP 服务。它帮助 API 开发者发现安全性和完整性问题,且只解析本地引用。

主要功能

  1. 01检查 OpenAPI 3.0 和 3.1 文档
  2. 02报告安全性与完整性问题
  3. 03列出操作及其有效安全设置
  4. 04查看操作并解释检查规则

适用场景

  1. 01查找缺失的安全设置或响应定义
  2. 02审查操作参数与响应
  3. 03了解检查结果及修复方法

MCP 相关

该 MCP 服务向 MCP 客户端提供 OpenAPI 检查、操作查看和规则说明工具。它接收本地文件或内联文档,不会获取引用内容。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"basitalisandhu-mcp-openapi-lint": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/basitalisandhu/mcp-openapi-lint:0.3.0"
]
}
}
}
启动命令docker run -i --rm ghcr.io/basitalisandhu/mcp-openapi-lint:0.3.0

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocighcr.io/basitalisandhu/mcp-openapi-lint:0.3.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

openapi-lint MCP 服务

加载 OpenAPI 3.0 或 3.1 文档(JSON 或 YAML,来自本地路径或内联内容),检查其中的安全性和完整性问题;列出并获取包含有效安全配置的操作。仅解析本地 #/ 引用;不会获取任何内容。

属于 dev-mcp-servers。仅支持 Stdio 传输;服务不会开放端口。

工具

工具输入返回内容
lint_openapipath 或 document、ignore?按严重性排序的问题,包含规则 ID、JSON Pointer 路径和消息:OpenAPI 版本、HTTP 服务、缺失、未使用或未定义的安全方案、未配置安全的操作(以及明确公开的操作)、没有响应或成功响应的操作、未描述的响应和参数、未声明或非必填的路径参数、缺失或重复的 operationId、未版本化的路径、空请求体、已弃用的操作、未声明的标签。
list_operationspath 或 document、tag?、method?、path_prefix?每个操作的 operationId、摘要、标签、已弃用标记、有效安全配置(security: [] 时为 public,未应用任何安全配置时为 inherited-none)、参数、请求媒体类型和响应代码。
get_operationpath 或 document、operation_id 或 method + operation_path完整的单个操作,其中已合并路径级参数并解析本地引用。
explain_rulerule严重性、规则检测的内容以及修复方法。

安装

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。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。