mcpField
C
checkmcp

checkmcp

本地服务
checkmcp.dev安全011 周前更新

关于 checkmcp

CheckMCP 用于审计 MCP 服务的安全性、质量和上下文成本,并生成带有原因说明的评分报告。开发者和团队可手动检查服务或将审计加入 CI;它也能作为 MCP 服务或网关运行。

主要功能

  1. 01评估安全性与服务质量
  2. 02检查工具、Schema 和协议合规性
  3. 03测量工具列表的上下文成本
  4. 04运行行为评估
  5. 05生成 JSON、HTML 和徽章报告
  6. 06代理并检查 MCP 流量

适用场景

  1. 01采用前审计 MCP 服务
  2. 02在 CI 中按分数或定义变更失败
  3. 03检查运行时输出中的注入与数据泄漏
  4. 04通过自托管网关过滤工具调用

MCP 相关

运行 `audit-mcp mcp` 可向 MCP 客户端提供审计工具。CheckMCP 还提供可自托管的 MCP 网关,用于检查调用并阻止或剥离有害内容。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"h129hj-checkmcp": {
"command": "uvx",
"args": [
"audit-mcp"
]
}
}
}
启动命令uvx audit-mcp

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

安装包
pypiaudit-mcp0.5.0

工具

1

收录的工具列表 · 更新于 2 周前

参数类型必填说明
urlstring是要审计的 MCP 端点 URL,例如 https://mcp.example.com/mcp
tokenstring否如果目标服务需要身份验证,可选的 Bearer 令牌。

详细介绍

CheckMCP

PyPI License: MIT GitHub Action Web audit

适用于任何 MCP 服务的厂商中立质量 / 安全 / 上下文成本审计与评分。 一条 uvx/pipx 命令 → MCP 评分 /100 + 因果分析机会(评分原因),采用 Lighthouse 风格。

从 PyPI 安装的包名为 audit-mcp(checkmcp 已被占用);命令为 audit-mcp。品牌、网站和代码仓库仍为 CheckMCP / checkmcp.dev。

uvx audit-mcp https://mcp.deepwiki.com/mcp
# or
pipx run audit-mcp https://mcp.context7.com/mcp --json
audit-mcp https://my-mcp.example.com/mcp --token "$TOKEN"

将其用作 MCP 服务

audit-mcp mcp 会将审计工具本身转为 MCP 服务(stdio),并提供一个工具 audit_mcp_server——让你的 Agent 能在对话过程中回答 “这个 MCP 服务安全吗?”。

# Claude Code
claude mcp add audit-mcp -- uvx audit-mcp mcp
// Cursor (.cursor/mcp.json) / Claude Desktop (claude_desktop_config.json)
{ "mcpServers": { "audit-mcp": { "command": "uvx", "args": ["audit-mcp", "mcp"] } } }

注册表名称:io.github.H129hj/checkmcp

无依赖项(仅使用标准库)。tiktoken 可选,用于精确计算 token 数量。

测量内容(7 大支柱)

  • 安全性 — OWASP MCP Top 10(工具投毒、硬编码密钥、命令注入)、致命三要素。
  • 工具设计 — 工具蔓延 / 整合(根据真实服务的百分位数校准:中位数约为 7 个工具,p95 约为 42 个)。
  • 架构 / 描述 — 描述以及 inputSchema/outputSchema 的完整性。
  • 上下文成本 — tools/list 消耗的 token,每次请求都要支付(2026 年最突出的痛点)。
  • 合规性 — 协议版本差距、注释、JSON-RPC 错误一致性、OAuth 发现。
  • 可靠性 — 目前仅进行单次检查(不计入评分;checkmcp.dev 提供持续 T3 监控)。
  • 覆盖范围 — 3 种原语(工具 + 资源 + 提示词)。

硬性下限:架构中含有密钥 → 最高 D;握手失败 → 最高 F。每项扣分均会注明归因:测量 → 机制 → 影响 → Δscore。

CLI 标志

标志说明
--json机器可读报告
--badgeSVG 徽章 + README 嵌入代码片段
--html独立的 SEO/GEO 页面(JSON-LD SoftwareApplication + FAQ)
--repo owner/name从 GitHub 添加维护 / 许可证 / 来源信号
--token <bearer>审计受 OAuth 保护的服务
--min-score NCI:如果 MCP 评分 < N,则退出码为 1
--baseline fileCI:固定工具定义;回归时失败(恶意替换)
--gh-summaryCI:将 Markdown 摘要写入 $GITHUB_STEP_SUMMARY
--deep如果存在外部扫描器(mcp-scan/snyk),则进行运行时深度扫描
--evals行为沙箱:使用金丝雀输入实际调用只读工具,以检测工具输出提示词注入、数据外泄途径、密钥 / PII 泄漏及上下文炸弹(会发送真实流量;如果判定为恶意,CI 将失败)

GitHub Action

# .github/workflows/mcp-audit.yml
name: MCP audit
on: [push, pull_request]
jobs:
  checkmcp:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: H129hj/checkmcp@v1
        with:
          url: https://my-mcp.example.com/mcp
          min-score: "70"
          baseline: .checkmcp-baseline.json   # commit it → fails on rug-pull

行为评估(--evals)

静态分析能发现声明的危险;--evals 则通过使用金丝雀输入实际调用只读工具并检查其响应,发现运行时危险,包括工具输出提示词注入、数据外泄途径以及密钥 / PII 泄漏(支持多语言;可选的回调金丝雀可确认数据外泄)。 如果判定为恶意,CI 将失败。

可自托管的安全网关

除了审计之外,CheckMCP 还提供带内 MCP 网关——一个置于 Agent 与 MCP 服务之间的代理。它会检查每次调用,并在主动模式下拦截 / 移除工具投毒与数据外泄,防止其到达 Agent。 可在自己的基础设施中运行(工具流量绝不会离开你的网络):

docker pull ghcr.io/h129hj/checkmcp-gateway:latest   # or build from source
docker run -p 8080:8080 -e GATEWAY_BACKEND_URL=https://mcp.example.com/mcp \
  -e GATEWAY_MODE=active -e GATEWAY_SECRET=$(openssl rand -hex 16) \
  ghcr.io/h129hj/checkmcp-gateway:latest

有关配置(被动 / 主动、OAuth 后端、策略、日志),请参阅 GATEWAY.md。

托管服务

完整报告、公开目录、实时徽章、持续漂移监控、治理策略 API 以及托管网关,均可在 checkmcp.dev 使用。

诚实的局限

  • 百分位区间来自不断扩大的语料库(一个或多个注册表),并会随时间扩展。
  • 使用 pipx install "audit-mcp[exact-tokens]" 获取精确 token 数(cl100k_base);否则使用字符数除以 4 进行估算。
  • 各支柱的权重是专家先验值。python -m checkmcp.calibrate samples.json 会根据已标注的 Agent 成功样本验证这些权重(各支柱相关性 + OLS 建议的权重 + 构念效度 R²)——提供实际结果即可形成闭环。

MIT。

评论

支持 Markdown

第一次接触 MCP?

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

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