Mmcp.market

Hookden MCP server

by hookden.pages.dev·dev.pages.hookden/hookden·v1.3.0

Webhook capture bins for agents: get a URL, wait for webhooks, set replies, verify signatures.

C60/100grade C
What users say
No reviews yet
Be the first
Safety scan
C60/100

full report

Adoption
New

Little public usage data yet

Reviews

Write one

Nobody has reviewed Hookden yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

Hookden tools (7, 2 write)

write = sends, deletes, buys or posts
  • create_binwrite actionFree

    Create a new webhook capture bin. Returns a public capture_url — point any webhook (Stripe, GitHub, Slack, your own service…) at it and every request sent there (any method, any subpath, headers + raw body) is stored. Then read what arrived with list_captures, get_capture, or wait_for_capture. Anonymous bins keep requests ~24h. No auth needed.

  • get_captureFree

    Get one captured request in full: method, path, query, every header, and the body. Binary bodies are returned base64-encoded (up to 8KB, with a URL for the raw bytes).

  • list_capturesFree

    List requests captured by a bin, oldest first. Compact summaries (id, method, path, time, content-type, body size, signature status). Use get_capture for full headers/body. Pass `after` (a capture id) to only see newer captures.

  • send_test_webhookwrite actionFree

    Simulate a webhook delivery into a bin — no external sender or HTTP client needed. Seeds one realistic, clearly-labeled sample capture (default: a GitHub push event) and returns it in full, so you can exercise the whole loop (create_bin → send_test_webhook → list_captures / get_capture) entirely from MCP. Pass `example` to pick a provider payload from the /examples library (e.g. "stripe-payment-intent-succeeded", "slack-event-callback", "shopify-order-created"). Sample captures are marked as simulated and never count as real webhook traffic.

  • set_responseFree

    Configure what a bin replies to webhook senders: HTTP status, content-type, body, custom response headers, optional delay. Body and header values support {{…}} templates rendered per-request from the INCOMING delivery — {{body.challenge}}, {{query.hub.challenge}}, {{header.x-hook-secret}}, {{hmac_sha256 body.plainToken YOUR_SECRET}} — so a bin can pass provider verification handshakes with zero code: Slack URL verification (body {{body.challenge}}), Zoom CRC (JSON with the hmac_sha256 helper), Meta/WhatsApp GET echo (text/plain {{query.hub.challenge}}), Strava (JSON {"hub.challenge":"{{query.hub.challenge}}"}), Asana (response header X-Hook-Secret: {{header.x-hook-secret}}). Only the fields you pass change; everything else keeps its current value. Works on bins created via create_bin by this same client; the incoming request is still captured in full either way.

  • verify_signatureFree

    Verify a webhook signature against a secret — 25 provider-exact schemes plus a generic HMAC mode, the same engine that computes ✓/✗ badges on captures. Covers HMAC-SHA256 (GitHub, Stripe, Svix/Standard Webhooks, Shopify-style base64, URL-signing Square/HubSpot/Trello…), ECDSA (SendGrid), RSA (Kick) and HMAC-MD5 (Patreon). Pass the scheme, the secret, the delivery's headers, and the BYTE-EXACT raw body (body_base64 for binary). The secret is used only for this one in-memory computation — never stored or logged. No bin needed. If verification fails, the #1 cause is a re-serialized body: point the real webhook at a capture bin (create_bin) to get the true raw bytes first.

  • wait_for_captureFree

    Block until the next request arrives at a bin (or a timeout passes), then return it in full. Ideal flow: create_bin → configure the webhook sender → trigger it → wait_for_capture. If `after_id` is omitted, waits for the next capture after "now". Returns timed_out:true instead of erroring when nothing arrives.

Public scan report

scanner v0.1.9 · 2026-09-20 · same rubric, same numbers if you re-run it

1 high1 low
  • Code scanremote-only server, no package to scann/a
  • Live reliabilityremote reachable in 1040ms20/20
  • Tool poisoning7 tool descriptions checked15/15
  • Auth qualityopen endpoint exposes 2 write-action tools with no auth3/15
  • Maintenanceno repository listed3/15
  • Maintainer identityverified namespace with website, no repo4/10

Findings (2)

  • highWrite-action tools reachable without authenticationauth.open-write
  • lowNo source repository listedmaint.no-repo
Overall 60/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

Install directly

claude mcp add --transport http hookden https://hookden.pages.dev/mcp
Add to Cursor

Hookden: common questions

Is Hookden MCP server safe?
With care: it is graded C, so read the findings first (60/100). Read the Hookden safety report
How do I install Hookden?
It runs remotely at hookden.pages.dev. Add it to Claude Code, Claude Desktop or Cursor with the snippets above, or call it through the mcp.market gateway without installing anything.
Does Hookden need an API key?
Not as far as the registry entry and our scan can tell: no credentials are declared or required.
Is Hookden maintained?
The latest release is v1.3.0.
Is Hookden up?
100% of our last 7 checks got an answer. We check remote servers about four times a day.

More from hookden.pages.dev