SuperAPI AI 工具集

mcp-gateway-scan

mcp-gateway-scan 是一款只读静态扫描工具,用于评估 MCP(Model Context Protocol)或 agent-gateway 仓库的生产就绪度。它围绕 RBAC、故障关闭行为、供应链、可观测性、成本控制与密钥处理等 7 个维度进行红/黄/绿评分,并给出匹配到的具体文件与行号。工具完全只读,不执行代码、不联网,遇到内联密钥只报告位置并脱敏。需要 Node ≥ 18,可作为 CLI 运行,也可作为 MCP 服务器在 Claude Code / Cursor 中调用,并支持 CI 集成。

访问官网

工具介绍

用途

mcp-gateway-scan 是一个只读静态扫描器,用于发现 MCP(Model Context Protocol)或 agent-gateway 在生产环境中可能引发事故的反模式。将仓库指向它,几秒内即可获得 7 个维度的红/黄/绿评分。

它扫描代码与配置,识别会让 MCP 网关从演示变成事故的失败模式,例如:由模型决定授权、错误处理器 fail-open、未固定版本的供应链、缺乏追踪、无上限支出、内联密钥、缺少运维控制杠杆,并打印每个问题所在的位置。

主要能力

  • 7 个维度评分:每个维度以 🟢 绿 / 🟡 黄 / 🔴 红 评分,附严重度标签及匹配证据(file:line)。
  • 只读保证:仅读取文件,不执行代码,不发起网络请求,不打印密钥值;对内联密钥只报告位置(<file:line>),值已脱敏。
  • 连接裁决(connect verdict):在把第三方 MCP 服务器接入持有真实凭据的智能体之前,使用 connect 命令获得单一顶层结论——CONNECT、REVIEW 或 DO-NOT-CONNECT——同样基于 7 个维度,并首先呈现最严重的发现。
  • MCP 服务器模式:同一包可作为 MCP 服务器运行,让智能体以对话方式运行扫描,例如要求它“scan this repo for gateway-readiness”。
  • CI 集成:--ci 打印紧凑、可 grep 的摘要,并在任何维度为红时以非零状态退出,从而让回归(新增 fail-open 处理器、未固定镜像、提交密钥)使构建失败。
  • 附带测试夹具:fixtures/vulnerable 目录包含仅用于演示的假占位密钥(sk-EXAMPLENOTREAL…、AKIAEXAMPLE…),可安全查看脱敏输出。

使用方式

需要 Node ≥ 18。

  • CLI 直接运行:默认命令 mcp-gateway-scan <path> 在终端或 CI 中直接运行。
  • MCP 服务器模式:mcp-gateway-scan mcp 为服务器模式,供智能体调用;mcp 子命令不改变 CLI 行为。
  • Claude Code(一条命令):官方文本提及可用一条命令在 Claude Code 中运行,但具体命令内容未提供。
  • Cursor / 任意 MCP 客户端:将配置添加到 .mcp.json 中,但具体配置内容未提供;随后要求智能体运行 scan_gateway 工具。
  • 工具输入:{ "path": "<repo or dir>", "ci": false }(ci 可选,添加 CI 门禁裁决)。
  • 工具输出:按维度的 🟢🟡🔴 摘要 + 结构化结果。只读,仅扫描给定路径,密钥值保持脱敏(仅位置,绝不显示值)。
  • CI 使用:--ci 打印紧凑、可 grep 的摘要,并在任何红色维度时以非零状态退出。
  • 也可在 Glama MCP 目录中查看其工具 schema、在浏览器中试用,或直接从该列表部署容器化服务器。构建规范与发布流程记录在 docs/glama-release.md 中。

适用场景

  • 在将第三方 MCP 服务器接入持有真实凭据的智能体前,快速获得连接与否的裁决。
  • 在 CI 流程中作为门禁,检测新增 fail-open 处理器、未固定镜像或提交密钥等回归。
  • 在 Claude Code、Cursor 等 MCP 客户端中,通过对话方式扫描仓库。
  • 使用内置夹具安全演示脱敏密钥输出。

限制

  • 这是快速、免费的启发式静态模式扫描器。绿色评分是良好信号,而非保证;红色评分是具体的修复指引。
  • 它不运行故障注入,不检查实时 IAM/IDP,也不读取你的追踪数据。
  • 静态扫描无法担保发布者或运行时行为。
  • 完整深度评估由 Provenwright MCP Gateway Readiness Audit 提供:对实时代码库进行只读评估、逐项证据(文件+行)、引用式差距矩阵,以及排序的 90 天修复路线图。
  • 扫描器区分提示内容(系统消息字符串 / YAML 提示字段)与仅仅记录模式的代码,因此文档注释中引用 rg 'only use|if the user is admin' 不会被标记为授权在提示中,而同样的词出现在真实系统提示内则会被标记。注释行和 grep 配方 / 正则文档在所有维度中被抑制,“控制已存在”信号在代码/配置中匹配,而非散文。

其他信息

由 Provenwright MCP Gateway Readiness Audit 背后的团队构建。完整审计链接:provenwright.com/audit;示例报告:provenwright.com/sample/;预约 15 分钟通话:cal.com/willianpinho;邮箱:me@willianpinho.com。许可:MIT © Willian Pinho。