
Hookwarden — Webhook Integrity
io.github.Hookwarden由 GitHub 帳號 Hookwarden 發布v0.9.5更新於 Oct 24, 2026
Webhook signature-verification audit. Stripe, GitHub, Shopify, Twilio +23. Local. Deterministic.
概覽
本機 MCP 伺服器,用來稽核 Webhook 處理程式是否驗證簽章,並離線驗證 hookwarden 證據包的雜湊鏈。
- 可以做什麼
- 掃描貼上的 Webhook 處理程式碼或一組虛擬檔案,依規則回傳結構化發現,並給出已驗證、未驗證或需人工複核的結論。
- 依 Stripe、GitHub、Shopify、Twilio 等共 27 家服務商的規則包檢查處理程式,支援 JS、TS 與 Python。
- 離線驗證 hookwarden 證據包的逐列雜湊鏈、清單雜湊與內嵌 ECDSA-P256 簽章,回傳是否有效、第一個斷鏈列號與已驗簽數量。
- 每次掃描附上引擎與規則包版本及內容雜湊,並在執行時雜湊與建置時雜湊不一致時回報漂移。
- 適用情境
- 適合在撰寫或審查 Webhook 端點時,讓助理確認簽章是否在產生副作用之前真的被驗證。也適合需要在無網路、無憑證情況下查核 hookwarden 證據包完整性的稽核情境。
- 執行需求
- 以本機 stdio 程序執行,通常透過 npx 啟動 npm 套件 @hookwarden/mcp,因此需要 Node.js 與 npm。未宣告任何驗證、API 金鑰或環境變數,README 表示該程序不發出網路請求。選用的 init 指令會為 Claude Desktop、Cursor 與 Continue 寫入設定檔。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Hookwarden — Webhook Integrity,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
The first MCP server doing webhook signature verification.
Local. Deterministic. Zero network. JS / TS / Python / PHP / Go — 27 providers — 3-state verdicts.
[npm version] [License: Apache 2.0] [Node 22+] [MCP spec 2025-06-18]
What it does
@hookwarden/mcp exposes hookwarden's deterministic webhook-verification engine as MCP tools. AI coding agents — Claude Desktop, Cursor, Continue, and apps built on the Anthropic Agent SDK — get two tools:
scan_handler— scan pasted webhook handler code and get back a structured finding (verified/not-verified/manual-review) for Stripe, GitHub, Shopify, Twilio, and 23 other providers.verify_audit_chain— verify a hookwarden evidence pack's hash chain + KMS-signed Merkle roots offline (no network, no auth), returning{ valid, broken_at_row, signatures_verified }.
Runs entirely client-side. Zero network egress from the MCP process. Zero auth. The same engine the hookwarden CLI ships — same rule pack, same content hashes, end-to-end provenance.
Install in one command
That command detects your installed MCP clients (Claude Desktop / Cursor / Continue), prints a per-OS summary table, and writes the canonical config to each one. .bak files land alongside every config it touches. Restart the relevant client and scan_handler + verify_audit_chain appear in the tool list.
Pass --all for non-interactive use, --dry-run to preview, --force to overwrite an existing mcpServers.hookwarden entry, or --clients claude-desktop,cursor to limit the set.
Manual configuration
If you'd rather not run the init helper, write the config by hand.
Claude Desktop
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%/Claude/claude_desktop_config.json
Cursor
~/.cursor/mcp.json — same shape as Claude Desktop:
Continue.dev
Continue uses a per-server file. Write ~/.continue/mcpServers/hookwarden.yaml:
Anthropic Agent SDK
The Agent SDK is programmatic — there's no config file to edit. Drop this into your code:
The init helper does not write here — the SDK integration is code, not config.
The scan_handler tool
Inputs
Output
Returns Tool.result with structuredContent first-class (MCP spec 2025-06-18) plus a companion stringified-JSON text block for backwards compatibility:
Verdict vocabulary
Same 3-state vocabulary as the CLI. No remapping in the MCP layer.
Error payloads (isError: true)
Parse failures don't crash the transport — they emit as rule_id: "engine/parse-error" findings with severity high and increment verdict_summary.parse_error.
The verify_audit_chain tool
Verify a hookwarden evidence pack's integrity offline — no network, no AWS, no credentials. "Verify the chain without trusting hookwarden." The tool walks the per-row hash chain, roundtrips the manifest hash, and — for v1.1 packs that embed the signing CMK's SPKI public key — verifies the ECDSA-P256 (MessageType:DIGEST) Merkle-root + manifest signatures with node:crypto.
Inputs
Output
Trust model
The v1.1 pack carries its own SPKI public key. The signature proves the pack was not altered after signing by the holder of that key — it is trust-on-first-use. To pin trust to a specific signer out-of-band, an auditor can cross-check signature.signing_cmk_arn against AWS KMS GetPublicKey and confirm the embedded SPKI key matches. Malformed pack JSON returns isError: true (error: "invalid_pack_json") — the tool never throws past its boundary.
This tool imports only @hookwarden/canonical-json (the shared RFC 8785 byte-equality anchor) + node:crypto. It does not load the engine or rule pack and does not run the drift gate.
Integrity claims
- Zero outbound TCP — the published tarball passes
pnpm inspect-bundle, a structural CI gate that rejects any source-file import of HTTP clients (node:http,axios,undici, etc.) and any direct dependency outside the documented allowlist. - Drift detection — every
scan_handlercall cross-checks the runtime-resolved engine + rule-pack hashes against the build-timedist/build-manifest.json. Mismatch returnsisError: truewith structuredengine_drift/rules_driftpayload. No env-var opt-out. See drift-detection — including the v0.8.0 engine-content-hash limitation. - No telemetry — the tarball declares no analytics or tracking SDKs (
@datadog/*,@segment/*,@sentry/*, etc.) independenciesor transitively in source-file imports. - Open source — Apache-2.0 at
Hookwarden/hookwarden/packages/mcp/. Engine + rule pack land in the same monorepo and ship under the same license.
Links
- Documentation — getting started, tool surface reference, drift detection
- npm package
- GitHub repository
- Apache-2.0 License
Copyright 2026 Hookwarden contributors. Apache License 2.0.
來源:packages/mcp/README.md,提交 213ff9a
工具
0版本歷史
2- v0.9.5最新Oct 9, 2026
- v0.8.7Sep 16, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分