{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_tc92bw3z4yk7","handle":"hookden","url":"https://wellknown.network/agents/hookden","links":{"self":"https://wellknown.network/agents/hookden/record.json","html":"https://wellknown.network/agents/hookden","markdown":"https://wellknown.network/agents/hookden/record.md","api":"https://wellknown.network/api/v1/agents/hookden","status":"https://wellknown.network/api/v1/agents/hookden/status","claim":"https://wellknown.network/agents/hookden/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/hookden/claim.json","badge":"https://wellknown.network/agents/hookden/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/hookden/history","tools":"https://wellknown.network/api/v1/agents/hookden/tools"},"ard":{"identifier":"urn:air:hookden.pages.dev:server:hookden","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Hookden","summary":"Webhook capture bins for agents: get a URL, wait for webhooks, set replies, verify signatures.","description":"Webhook capture bins for agents: get a URL, wait for webhooks, set replies, verify signatures.","publisher":{"name":"dev.pages.hookden","url":null},"homepage":"https://hookden.pages.dev","repository":null,"version":"1.3.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://hookden.pages.dev/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-08-31T08:10:19.063753Z","publishedAt":"2026-08-31T08:10:19.063753Z","registryName":"dev.pages.hookden/hookden"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"communication.notifications","name":"Notifications","confidence":1,"provenance":"derived"},{"slug":"automation.workflows","name":"Workflow Automation","confidence":0.51,"provenance":"derived"}],"categories":["automation","communication"],"language":"de"},"observed":{"status":"live","statusReason":"Responded 4h ago.","lastOkAt":"2026-10-09T21:27:34.803Z","lastProbedAt":"2026-10-09T21:27:34.803Z","statusComputedAt":"2026-10-09T21:28:12.816Z","reliability30d":{"probes":108,"successRate":1,"p50Ms":367,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":108,"ok":108,"authBoundaryOk":0,"serviceOk":108,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-09T21:27:34.803Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":353,"error":null,"detail":{"tools":[{"name":"create_bin","description":"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"},{"name":"list_captures","description":"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 h"},{"name":"get_capture","description":"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 "},{"name":"wait_for_capture","description":"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 "},{"name":"send_test_webhook","description":"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 e"},{"name":"set_response","description":"Configure what a bin replies to webhook senders: HTTP status, content-type, body, custom response headers, optional delay. Body and header values support {{…}} "},{"name":"verify_signature","description":"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 H"}],"toolCount":7,"toolsHash":"ae8c2c5f76cc78577a3337b7d9edb4f2022cdd199686592931f73e8d93ff2c80","serverName":"hookden","capabilities":["tools"],"serverVersion":"1.3.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T15:32:17.377Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":347,"error":null,"detail":{"tools":[{"name":"create_bin","description":"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"},{"name":"list_captures","description":"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 h"},{"name":"get_capture","description":"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 "},{"name":"wait_for_capture","description":"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 "},{"name":"send_test_webhook","description":"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 e"},{"name":"set_response","description":"Configure what a bin replies to webhook senders: HTTP status, content-type, body, custom response headers, optional delay. Body and header values support {{…}} "},{"name":"verify_signature","description":"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 H"}],"toolCount":7,"toolsHash":"ae8c2c5f76cc78577a3337b7d9edb4f2022cdd199686592931f73e8d93ff2c80","serverName":"hookden","capabilities":["tools"],"serverVersion":"1.3.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T08:26:59.134Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":304,"error":null,"detail":{"tools":[{"name":"create_bin","description":"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"},{"name":"list_captures","description":"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 h"},{"name":"get_capture","description":"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 "},{"name":"wait_for_capture","description":"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 "},{"name":"send_test_webhook","description":"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 e"},{"name":"set_response","description":"Configure what a bin replies to webhook senders: HTTP status, content-type, body, custom response headers, optional delay. Body and header values support {{…}} "},{"name":"verify_signature","description":"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 H"}],"toolCount":7,"toolsHash":"ae8c2c5f76cc78577a3337b7d9edb4f2022cdd199686592931f73e8d93ff2c80","serverName":"hookden","capabilities":["tools"],"serverVersion":"1.3.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T01:25:21.876Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":449,"error":null,"detail":{"tools":[{"name":"create_bin","description":"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"},{"name":"list_captures","description":"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 h"},{"name":"get_capture","description":"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 "},{"name":"wait_for_capture","description":"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 "},{"name":"send_test_webhook","description":"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 e"},{"name":"set_response","description":"Configure what a bin replies to webhook senders: HTTP status, content-type, body, custom response headers, optional delay. Body and header values support {{…}} "},{"name":"verify_signature","description":"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 H"}],"toolCount":7,"toolsHash":"ae8c2c5f76cc78577a3337b7d9edb4f2022cdd199686592931f73e8d93ff2c80","serverName":"hookden","capabilities":["tools"],"serverVersion":"1.3.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T19:24:13.192Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":413,"error":null,"detail":{"tools":[{"name":"create_bin","description":"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"},{"name":"list_captures","description":"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 h"},{"name":"get_capture","description":"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 "},{"name":"wait_for_capture","description":"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 "},{"name":"send_test_webhook","description":"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 e"},{"name":"set_response","description":"Configure what a bin replies to webhook senders: HTTP status, content-type, body, custom response headers, optional delay. Body and header values support {{…}} "},{"name":"verify_signature","description":"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 H"}],"toolCount":7,"toolsHash":"ae8c2c5f76cc78577a3337b7d9edb4f2022cdd199686592931f73e8d93ff2c80","serverName":"hookden","capabilities":["tools"],"serverVersion":"1.3.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T13:22:26.302Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":376,"error":null,"detail":{"tools":[{"name":"create_bin","description":"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"},{"name":"list_captures","description":"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 h"},{"name":"get_capture","description":"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 "},{"name":"wait_for_capture","description":"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 "},{"name":"send_test_webhook","description":"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 e"},{"name":"set_response","description":"Configure what a bin replies to webhook senders: HTTP status, content-type, body, custom response headers, optional delay. Body and header values support {{…}} "},{"name":"verify_signature","description":"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 H"}],"toolCount":7,"toolsHash":"ae8c2c5f76cc78577a3337b7d9edb4f2022cdd199686592931f73e8d93ff2c80","serverName":"hookden","capabilities":["tools"],"serverVersion":"1.3.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T06:22:34.709Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":328,"error":null,"detail":{"tools":[{"name":"create_bin","description":"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"},{"name":"list_captures","description":"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 h"},{"name":"get_capture","description":"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 "},{"name":"wait_for_capture","description":"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 "},{"name":"send_test_webhook","description":"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 e"},{"name":"set_response","description":"Configure what a bin replies to webhook senders: HTTP status, content-type, body, custom response headers, optional delay. Body and header values support {{…}} "},{"name":"verify_signature","description":"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 H"}],"toolCount":7,"toolsHash":"ae8c2c5f76cc78577a3337b7d9edb4f2022cdd199686592931f73e8d93ff2c80","serverName":"hookden","capabilities":["tools"],"serverVersion":"1.3.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T23:25:31.625Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":435,"error":null,"detail":{"tools":[{"name":"create_bin","description":"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"},{"name":"list_captures","description":"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 h"},{"name":"get_capture","description":"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 "},{"name":"wait_for_capture","description":"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 "},{"name":"send_test_webhook","description":"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 e"},{"name":"set_response","description":"Configure what a bin replies to webhook senders: HTTP status, content-type, body, custom response headers, optional delay. Body and header values support {{…}} "},{"name":"verify_signature","description":"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 H"}],"toolCount":7,"toolsHash":"ae8c2c5f76cc78577a3337b7d9edb4f2022cdd199686592931f73e8d93ff2c80","serverName":"hookden","capabilities":["tools"],"serverVersion":"1.3.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T17:30:40.936Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":1236,"error":null,"detail":{"tools":[{"name":"create_bin","description":"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"},{"name":"list_captures","description":"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 h"},{"name":"get_capture","description":"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 "},{"name":"wait_for_capture","description":"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 "},{"name":"send_test_webhook","description":"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 e"},{"name":"set_response","description":"Configure what a bin replies to webhook senders: HTTP status, content-type, body, custom response headers, optional delay. Body and header values support {{…}} "},{"name":"verify_signature","description":"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 H"}],"toolCount":7,"toolsHash":"ae8c2c5f76cc78577a3337b7d9edb4f2022cdd199686592931f73e8d93ff2c80","serverName":"hookden","capabilities":["tools"],"serverVersion":"1.3.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T11:25:44.044Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":428,"error":null,"detail":{"tools":[{"name":"create_bin","description":"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"},{"name":"list_captures","description":"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 h"},{"name":"get_capture","description":"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 "},{"name":"wait_for_capture","description":"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 "},{"name":"send_test_webhook","description":"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 e"},{"name":"set_response","description":"Configure what a bin replies to webhook senders: HTTP status, content-type, body, custom response headers, optional delay. Body and header values support {{…}} "},{"name":"verify_signature","description":"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 H"}],"toolCount":7,"toolsHash":"ae8c2c5f76cc78577a3337b7d9edb4f2022cdd199686592931f73e8d93ff2c80","serverName":"hookden","capabilities":["tools"],"serverVersion":"1.3.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"create_bin","description":"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"},{"name":"list_captures","description":"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 h"},{"name":"get_capture","description":"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 "},{"name":"wait_for_capture","description":"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 "},{"name":"send_test_webhook","description":"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 e"},{"name":"set_response","description":"Configure what a bin replies to webhook senders: HTTP status, content-type, body, custom response headers, optional delay. Body and header values support {{…}} "},{"name":"verify_signature","description":"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 H"}],"package":null,"toolSurface":{"id":"ts_97se4wc526wj","endpointId":"ep_s68czxmt5ggu","hash":"ae8c2c5f76cc78577a3337b7d9edb4f2022cdd199686592931f73e8d93ff2c80","toolCount":7,"serverName":"hookden","serverVersion":"1.3.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-09-12T16:26:11.035Z","lastSeenAt":"2026-10-09T21:27:34.788Z","observations":100,"toolNames":["create_bin","list_captures","get_capture","wait_for_capture","send_test_webhook","set_response","verify_signature"],"distinctSurfaces":1},"endpointFacts":[{"id":"ep_s68czxmt5ggu","url":"https://hookden.pages.dev/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-09T08:26:59.140Z","auth":{"observedAt":"2026-10-09T08:26:59.159Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-09T08:26:59.180Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"hookden.pages.dev","issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validFrom":"2026-08-27T19:48:44.000Z","validTo":"2026-11-25T20:47:24.000Z","daysToExpiry":46,"sanCount":2,"fingerprint256":"B3:AE:5D:8D:C1:B0:7A:B0:9D:C7:89:52:B2:B9:13:EA:B3:9B:D9:D6:A2:20:59:32:2C:B9:A0:D0:F4:0D:2C:F2"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"dev.pages.hookden/hookden","url":"https://registry.modelcontextprotocol.io/v0/servers/dev.pages.hookden%2Fhookden","firstSeenAt":"2026-09-05T23:20:58.013Z","fetchedAt":"2026-10-09T14:21:11.213Z","normalizedAt":"2026-10-09T14:21:11.213Z"}]},"firstSeenAt":"2026-09-05T23:20:58.013Z","updatedAt":"2026-10-09T21:29:14.946Z"}