Hookwarden — Webhook Integrity
What it does
Webhook signature-verification audit. Stripe, GitHub, Shopify, Twilio +23. Local. Deterministic.
- Connects パソコンで動く
- Account or key No key needed
- Category 開発者ツール
インストール
使っているAIアプリを選んで、設定をコピーしてください。
チェック 3/3 合格 · あなたのパソコンで動きます
まず:どの AI を使っていますか?
使っているアプリを選ぶと、下に手順が表示されます。
Claude につなげますが、先に準備が必要です
先にパソコンへ Node.js を入れてください(1 回だけ) · パソコン版 Claude アプリ(Windows または Mac)のみ。Web やスマホでは使えません
パソコン版 Claude アプリの設定ファイルを開く
SettingsDeveloperEdit Config
この設定を貼り付けて保存
コマンドを確認中 · 確認が通るとコピーボタンが出ます
Claude を終了してもう一度開く
試してみる
Hookwarden — Webhook Integrity を使って、私に何ができるか教えて、1 つやってみせて✓ Claude が Hookwarden — Webhook Integrity を使っていると言うか、回答に Hookwarden — Webhook Integrity のツール名が出れば接続成功です
メニュー名は 2026年11月11日 に Anthropic のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
ChatGPT はまだ Hookwarden — Webhook Integrity につなげません
Hookwarden — Webhook Integrity はパソコンに入れて使うものですが、ChatGPT は Web 上で動くサーバーにしかつなげません
代わりにできること
A · Hookwarden — Webhook Integrity につなげるアプリを使う
- 先にパソコンへ Node.js を入れてください(1 回だけ) · パソコン版 Claude アプリ(Windows または Mac)のみ。Web やスマホでは使えません
- 先にパソコンへ Node.js を入れてください(1 回だけ)
- 先にパソコンへ Node.js を入れてください(1 回だけ)
- 先にパソコンへ Node.js を入れてください(1 回だけ)
B · 開発者ツール の中で ChatGPT につなげる別のサーバー
同じカテゴリでよく使われているものから、キーなしでアドレスだけでつなげるものを選びました
- Sentry✓ ChatGPT
- Compiler Explorer✓ ChatGPT
- GitDiagram✓ ChatGPT
Claude Code につなげますが、先に準備が必要です
先にパソコンへ Node.js を入れてください(1 回だけ)
ターミナルを開く
Mac:Command+スペースで Terminal と入力 · Windows:PowerShell を開く
このコマンドを貼り付けて Enter
コマンドを確認中 · 確認が通るとコピーボタンが出ます
Claude Code で /mcp と入力
Hookwarden — Webhook Integrity が一覧にあり、接続済みと表示されれば OK です
試してみる
Hookwarden — Webhook Integrity を使って、私に何ができるか教えて、1 つやってみせて✓ Claude Code が Hookwarden — Webhook Integrity を使っていると言うか、回答に Hookwarden — Webhook Integrity のツール名が出れば接続成功です
メニュー名は 2026年11月11日 に Anthropic のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
Cursor につなげますが、先に準備が必要です
先にパソコンへ Node.js を入れてください(1 回だけ)
このボタンで Cursor を開く
コマンドを確認中 · 確認が通るとコピーボタンが出ます
Cursor の AI チャットを Agent モードで開く
試してみる
Hookwarden — Webhook Integrity を使って、私に何ができるか教えて、1 つやってみせて✓ Cursor が Hookwarden — Webhook Integrity を使っていると言うか、回答に Hookwarden — Webhook Integrity のツール名が出れば接続成功です
メニュー名は 2026年11月11日 に Cursor のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
VS Code につなげますが、先に準備が必要です
先にパソコンへ Node.js を入れてください(1 回だけ)
このボタンで VS Code を開く
コマンドを確認中 · 確認が通るとコピーボタンが出ます
VS Code の AI チャットを Agent モードで開く
試してみる
Hookwarden — Webhook Integrity を使って、私に何ができるか教えて、1 つやってみせて✓ VS Code が Hookwarden — Webhook Integrity を使っていると言うか、回答に Hookwarden — Webhook Integrity のツール名が出れば接続成功です
メニュー名は 2026年11月11日 に VS Code のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
開発者向け:ターミナルのコマンドと JSON 設定
パソコンにインストール
Claude Code
コマンドを確認中 · 確認が通るとコピーボタンが出ます
Claude Desktop (claude_desktop_config.json)
コマンドを確認中 · 確認が通るとコピーボタンが出ます
Cursor (~/.cursor/mcp.json)
コマンドを確認中 · 確認が通るとコピーボタンが出ます
VS Code (mcp.json)
コマンドを確認中 · 確認が通るとコピーボタンが出ます
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
ひと目でわかる
- 週あたりのダウンロードi
- 92/週
- 接続方法
- パソコンで動く
- 最新バージョンi
- 0.9.5
- レジストリ公開日i
- 2026年10月9日
- コードの最終更新i
- 2026年11月4日
- 作者
- Hookwarden
- パッケージ
npm: @hookwarden/mcp- ウェブサイト
- hookwarden.dev
- レジストリでの状態
- 有効
使えるアプリ
このサーバーのつなぎ方と、各アプリの公式ドキュメントに基づきます。2026年11月10日に確認。
パソコン上で動かせるアプリ
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
できること
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
基本チェックi
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月13日にチェック
- ✓ 合格
作者とリポジトリが一致
レジストリ名は、リポジトリを所有するGitHubアカウント Hookwarden で確認済みです
- ✓ 合格
今もメンテナンスされている
コードの最終更新:9 日前
- ✓ 合格
ライセンスがある
Apache-2.0を使用
- – 対象外
エンドポイントが応答する
これはパソコンで動くため、インターネット上のエンドポイントはありません
- – 対象外
OAuthでサインイン
パソコンで動き、代わりにローカルの設定を使います
- … 未チェック
ツールの説明に隠れた指示がない
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
話し合い
質問、コツの共有、使えないことの報告ができます。「役に立った」の多い順です。
ユーザーレビュー
まだレビューはありません
開発者ツールのほかのサーバーとの比較i
- このカテゴリのほかの5825件のうち0%よりスターが多い
- このカテゴリのほかの5825件のうち48%より最近レジストリに公開
- 基本チェックの結果が、このカテゴリのほかの5825件のうち100%と同じかそれ以上
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
よくある質問
Hookwarden — Webhook Integrityは安全ですか?
当てはまる基本チェック3項目のうち3項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
どんなキーやコードが必要ですか?
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
パソコンで動きますか、それともクラウドですか?
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
今もメンテナンスされていますか?
GitHubリポジトリの最終更新は9 日前、最新バージョン(0.9.5)がレジストリに届いたのは35 日前です。
どのアプリで使えますか?
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
同じカテゴリのほかの候補
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
GitHub
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
Serena MCP: the IDE for your agent
A powerful toolkit for coding, providing semantic retrieval and editing capabilities.
作者のREADME
READMEを開く
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
The first MCP server doing webhook signature verification.
Local. Deterministic. Zero network. JS / TS / Python / PHP / Go — 27 providers — 3-state verdicts.
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
npx @hookwarden/mcp init
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
{
"mcpServers": { "hookwarden": { "command": "npx", "args": ["-y", "@hookwarden/mcp"] } } }
Cursor
~/.cursor/mcp.json — same shape as Claude Desktop:
{
"mcpServers": { "hookwarden": { "command": "npx", "args": ["-y", "@hookwarden/mcp"] } } }
Continue.dev
Continue uses a per-server file. Write ~/.continue/mcpServers/hookwarden.yaml:
name: hookwarden
command: npx args: [-y, "@hookwarden/mcp"]
Anthropic Agent SDK
The Agent SDK is programmatic — there's no config file to edit. Drop this into your code:
import { query } from "@anthropic-ai/claude-agent-sdk";
for await (const message of query({ prompt: "Audit this webhook handler for missing signature verification...", options: { mcpServers: { hookwarden: { command: "npx", args: ["-y", "@hookwarden/mcp"], }, }, }, })) { console.log(message); }
The init helper does not write here — the SDK integration is code, not config.
The scan_handler tool
Inputs
| Field | Type | Notes | ||
|---|---|---|---|---|
code | string | Single-blob mode. Defaults to TypeScript; override with language. Mutually exclusive with files. | ||
files | Record | Multi-file mode. Keys are virtual file paths; language inferred from extension. | ||
language | `"js" \ | "ts" \ | "python"` | Optional. "php" returns language_not_in_preview — PHP support ships in v0.8.1. |
provider | string | Optional. Case-insensitive ("stripe" = "Stripe"). unknown_provider if not in the rule pack. |
Output
Returns Tool.result with structuredContent first-class (MCP spec 2025-06-18) plus a companion stringified-JSON text block for backwards compatibility:
{
"verdict_summary": { "verified": 0, "not_verified": 1, "manual_review": 0, "parse_error": 0 }, "findings": [ { "rule_id": "stripe/missing-signature-verification", "provider": "stripe", "severity": "critical", "verdict": "not-verified", "file": "__handler.ts", "line_start": 7, "line_end": 9, "message": "Webhook handler reads req.body without calling stripe.webhooks.constructEvent...", "provider_docs_url": "https://stripe.com/docs/webhooks", "references": [ "https://www.svix.com/blog/common-failure-modes-for-webhook-signatures/", "https://hookdeck.com/webhooks/guides/webhook-security-vulnerabilities-guide" ], "rule_pack_version": "0.7.2" } ], "scan_metadata": { "engine_version": "0.7.2", "rule_pack_version": "0.7.2", "rule_pack_content_hash": "938f7565e29f19e0cbd34594731d1de2b0ffd40ee87aacaa8be2435fc1f47f32" } }
Verdict vocabulary
| Verdict | Meaning |
|---|---|
verified | Engine proved the handler verifies signatures via the provider's documented SDK call. |
not-verified | Engine proved the handler does NOT verify signatures (or verifies after side effects). |
manual-review | Engine has structural evidence but can't decide without human eyes — review the snippet. |
Same 3-state vocabulary as the CLI. No remapping in the MCP layer.
Error payloads (isError: true)
| Error | Trigger |
|---|---|
empty_input | Neither code nor files provided. |
exclusive_input_modes | Both code and files provided — pick one. |
language_not_in_preview | language: "php" — PHP ships in v0.8.1. Suggestion: npx hookwarden scan. |
unsupported_language | language outside the known set. |
unknown_provider | provider not in the rule pack. Response includes the sorted known list. |
engine_drift / rules_drift | Boot or call-time drift — see drift-detection. |
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
| Field | Type | Notes |
|---|---|---|
evidence_pack_json | string | The full evidence-pack JSON (the file hookwarden's evidence export produces). Both v1.0 and v1.1 packs are accepted. |
Output
{
"valid": true, "broken_at_row": null, "signatures_verified": 2 }
| Field | Meaning |
|---|---|
valid | true iff the hash chain is intact AND the manifest hash roundtrips AND every signature that could be verified offline verified. |
broken_at_row | The seq of the first row whose chain hash didn't match, or null if the chain is intact. Signature validity is independent of chain integrity. |
signatures_verified | Count of offline-verified signatures: N Merkle-root signatures + 1 manifest signature (N+1). 0 for v1.0 packs (no embedded public key) — the tool emits a signatures not verifiable offline (v1.0 pack) note instead of failing. |
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.