Checkmcp

io.github.H129hj由 GitHub 帳號 H129hj 發布v0.5.0更新於 Oct 24, 2026

Audit any MCP server's security & quality — OWASP MCP Top 10 + explainable 0-100 MCP Score

已驗證STDIO僅桌面開發者工具安全與監控

概覽

AI 產生的概覽

稽核任何 MCP 伺服器的安全性、工具設計、結構描述品質與上下文成本,並給出可解釋的 0-100 MCP 分數。

可以做什麼
CheckMCP 是廠商中立的 MCP 伺服器稽核工具。它只提供一個工具 audit_mcp_server,讓代理能在對話中詢問某個 MCP 伺服器是否安全。它從七個面向評分:安全性(OWASP MCP Top 10、工具投毒、硬編碼密鑰、命令注入)、工具設計、結構描述與說明的完整度、上下文 token 成本、協定合規性、可靠性,以及對工具、資源與提示詞三種原語的涵蓋度。每項扣分都依量測、機制、影響與分數變化歸因;當結構描述中出現密鑰或握手失敗時,分數會被硬性上限壓低。
適用情境
適合在把某個 MCP 伺服器加入代理之前進行評估,也適合在 CI 中做可重複的品質與安全檢查。需要比較不同伺服器、追蹤分數退步,或回答某伺服器是否可安全連線時,都可使用。
執行需求
以 stdio 本機程序執行,從 PyPI 安裝為 audit-mcp,並以 uvx 或 pipx 啟動,因此需要 Python 工具鏈。除標準函式庫外沒有相依套件;tiktoken 為選用,用於精確 token 計數。稽核受 OAuth 保護的伺服器需要在命令列傳入 bearer token。--repo 參數使用 GitHub 資料,--deep 需要 mcp-scan 或 snyk 等外部掃描器。
安裝前請注意
--evals 會對被稽核的伺服器送出真實流量,以金絲雀輸入呼叫唯讀工具,因此只應對獲准探測的伺服器使用。--token 是命令列傳入的憑證。選用閘道需要 GATEWAY_SECRET 與 GATEWAY_BACKEND_URL,在 active 模式下會攔截或剝除代理與伺服器之間的流量。checkmcp.dev 提供託管報告、徽章與監控。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Checkmcp,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

CheckMCP

[PyPI] [License: MIT] [GitHub Action] [Web audit]

Vendor-neutral quality / security / context-cost audit & score for any MCP server. One uvx/pipx command → an MCP Score /100 + causal opportunities (why the score), Lighthouse-style.

Installed from PyPI as audit-mcp (the name checkmcp was already taken); the command is audit-mcp. Brand, site and repo remain CheckMCP / checkmcp.dev.

bash
uvx audit-mcp https://mcp.deepwiki.com/mcp# orpipx run audit-mcp https://mcp.context7.com/mcp --jsonaudit-mcp https://my-mcp.example.com/mcp --token "$TOKEN"

Use it as an MCP server

audit-mcp mcp turns the auditor itself into an MCP server (stdio) exposing one tool, audit_mcp_server — so your agent can answer "is this MCP server safe?" mid-conversation.

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

Registry name: io.github.H129hj/checkmcp

No dependencies (stdlib only). tiktoken optional for exact token counts.

What it measures (7 pillars)

  • Security — OWASP MCP Top 10 (tool poisoning, hardcoded secrets, command injection), lethal-trifecta.
  • Tool design — sprawl/consolidation (percentile-calibrated on real servers: median ~7 tools, p95 ~42).
  • Schemas / desc — descriptions + inputSchema/outputSchema completeness.
  • Context-cost — tokens spent on tools/list, paid on every request (the #1 pain of 2026).
  • Compliance — protocol-version gap, annotations, JSON-RPC error conformance, OAuth discovery.
  • Reliability — single-shot today (not credited; continuous T3 monitoring on checkmcp.dev).
  • Coverage — the 3 primitives (tools + resources + prompts).

Hard floors: secret-in-schema → cap D, failed handshake → cap F. Every penalty is attributed: measure → mechanism → effect → Δscore.

CLI flags

flagwhat
--jsonmachine-readable report
--badgeSVG badge + README embed snippets
--htmlstandalone SEO/GEO page (JSON-LD SoftwareApplication + FAQ)
--repo owner/nameadd maintenance/license/provenance signal from GitHub
--token <bearer>audit an OAuth-protected server
--min-score NCI: exit 1 if MCP Score < N
--baseline fileCI: pin tool definitions; fail on regression (rug-pull)
--gh-summaryCI: write a Markdown summary to $GITHUB_STEP_SUMMARY
--deepruntime depth via an external scanner (mcp-scan/snyk) if present
--evalsbehavioral sandbox: actually invokes read-only tools with canary inputs to catch tool-output prompt-injection, exfiltration vectors, secret/PII leakage and context bombs (sends real traffic; CI-fails on a malicious verdict)

GitHub Action

yaml
# .github/workflows/mcp-audit.ymlname: MCP auditon: [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

Behavioral evals (--evals)

Static analysis catches declared danger; --evals catches runtime danger by actually invoking read-only tools with canary inputs and inspecting the responses for tool-output prompt-injection, exfiltration vectors and secret/PII leakage (multilingual; optional callback-canary confirms exfil). CI-fails on a malicious verdict.

Self-hosted security gateway

Beyond auditing, CheckMCP ships an in-band MCP gateway — a proxy you put between your agent and an MCP server. It inspects every call, and in active mode blocks/strips tool-poisoning & exfiltration before they reach the agent. Run it in your own infra (tool traffic never leaves your network):

bash
docker pull ghcr.io/h129hj/checkmcp-gateway:latest   # or build from sourcedocker 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

See GATEWAY.md for config (passive/active, OAuth backends, policy, logs).

Hosted

Full reports, public directory, live badges, continuous drift monitoring, a governance policy API and a hosted gateway at checkmcp.dev.

Honest limitations

  • Percentile bands come from a growing corpus (one+ registries) — widening over time.
  • Exact tokens with pipx install "audit-mcp[exact-tokens]" (cl100k_base); otherwise chars/4 approximation.
  • Pillar weights are expert priors. python -m checkmcp.calibrate samples.json validates them against a labeled agent-success sample (per-pillar correlation + OLS-suggested weights + construct-validity R²) — supply real outcomes to close the loop.

MIT.

來源:README.md,提交 6d272b1

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.5.0最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分