用途:对 MCP 服务器按当前已发布的 MCP 规范及仓库自身的兼容性约束进行审计,检查协议合规、元数据漂移与兼容性回归,适用于审查工具注解、工具与结果 schema、结构化输出等场景。
主要能力与流程:先固定协议基线,默认使用最新已发布的 MCP 规范修订版,除非仓库明确指向其他版本;草稿与 SEP 内容仅作为观察点。识别服务器实际实现的 MCP 原语与工具(prompts、resources、tools、completions、logging、tasks 或实验性扩展)。审查生命周期与能力协商,核对 initialize、notifications/initialized、协商协议版本与声明能力,避免声明未支持的能力(如 listChanged、subscribe、task 相关能力块)。审计工具时核对 tools/list 分页、list_changed 通知、工具定义(name、title、description、icons、inputSchema、outputSchema、annotations、execution.taskSupport)及结果语义(content、structuredContent、isError、嵌入资源、资源链接、协议错误与执行错误的区分),并保守评估 readOnlyHint、destructiveHint、idempotentHint、openWorldHint,为可写工具建立上游变更清单。审计 prompts 与 resources 的能力声明、分页、获取、订阅与通知、URI 方案、MIME 类型与编码。审查传输、鉴权与安全:stdio 使用换行分隔的 JSON-RPC,stdout 仅限协议输出,日志走 stderr,凭据基于环境变量;HTTP/Streamable HTTP 检查来源校验、本地绑定建议、会话与协议版本处理、鉴权流程、受保护资源元数据、WWW-Authenticate、scope、资源指示器、bearer token、受众校验,禁止查询串携带 token;安全方面检查输入与 URI 校验、访问控制、输出净化、速率限制与超时、本地服务器同意或沙箱、DNS 重绑定与 SSRF 风险。还需区分真实违规与有意的旧版本目标,并运行现有集成测试或补充最小自动化校验,最后报告基线、原语、上游变更工具及确认违规、兼容风险与观察点。
限制:具体命令与验证脚本未在资料中提供,需以仓库现有测试与正常校验命令为准;若 HTTP 鉴权或传输由上游基础设施负责,仅审计仓库自有边界并标注其余为继承或超出范围。