SuperAPI AI 工具集

mcp-drill

mcp-drill 是一个面向 MCP(Model Context Protocol)服务器的故障注入与可靠性评分工具。它通过一条命令将任意 MCP 服务器包裹起来,注入超时、畸形 JSON-RPC、截断以及“损坏但格式合法”的工具输出,用于测量服务器是否能干净地降级,以及 AI 智能体是否会察觉异常还是静默地基于垃圾数据行动。由于 MCP 是基于 stdio/SSE 的双向 JSON-RPC,普通 HTTP 故障注入器和混沌工具并不适用,mcp-drill 直接“说 MCP”,透明地置于 MCP 客户端与后端服务器之间扰动流量,从而在 CI 中无需真实 LLM 即可测试失败路径。项目还提供无模型的可靠性评分卡,评估服务器对错误输入的响应方式以及工具输出契约的可机器校验程度。

访问官网

工具介绍

用途

mcp-drill 用于对 MCP(Model Context Protocol)服务器和 AI 智能体进行故障注入与可靠性测试。真实 MCP 部署会出现集成测试从未覆盖的失败方式:工具超时、服务器返回格式正确但内容错误的载荷、响应在流中途被截断。大多数智能体从未针对这些路径进行过演练,mcp-drill 让这些失败路径变得可复现。

主要能力

  • 故障注入:确定性地注入超时、畸形/超大/截断响应、损坏但符合 schema 的载荷、丢失的工具以及延迟。
  • CI 优先:提供 CLI 和 GitHub Action,循环中无需真实模型或 API 密钥。
  • 可靠性评分卡:无模型的扫描,评估服务器如何响应错误输入,以及其工具输出契约的可机器校验程度。

测量内容(无模型)

scan 命令是确定性的,不涉及语言模型,因此其数值是服务器和协议本身的属性,而非取决于恰好调用它的某个智能体:

  • 错误一致性:对无效请求(未知方法、未知工具、缺少必需参数),服务器是返回符合规范的 JSON-RPC 错误、正确的工具错误,还是挂起/崩溃/像什么都没发生一样作答?
  • 输出契约覆盖率:服务器的工具中声明了可机器校验的 outputSchema 的比例。没有声明的工具让下游校验器无从检查。
  • 输出契约可执行性:在声明了 outputSchema 的工具中,有多少会真正拒绝损坏(类型正确但内容错误)的响应?许多声明的 schema 只校验形状,因此损坏的载荷仍能通过服务器自身的契约。

使用方式

用一条命令包裹任意 MCP 服务器即可开始。项目提供 CLI 和 GitHub Action。代理/注入器核心为纯标准库;schema 评分使用 jsonschema(scan extra)。遥测关闭,工具不会回传数据。

适用场景

  • 在 CI 中测试 MCP 服务器的失败路径,无需真实 LLM。
  • 评估 MCP 服务器对错误输入的响应是否符合规范。
  • 检查工具输出契约的覆盖率与可执行性。

限制与说明

项目处于早期开发阶段。许可证为 Apache-2.0。关于 mcp-drill(契约合规)与 mcp-scan(安全)的区别,可参见相关对比说明。