AnyHook
REMOTE · ANYHOOK.NET · SCANNED AUG 3
A webhook inbox for agents: one call returns a live URL. Mock, verify, inspect and replay.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →
Endpoint Security63
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation not fully verified: no authorisation is required to call this server, and 12 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. See how to fix → View diagnostics → Unverified
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability71
- AI-judged instruction clarity (good).Pass
- Tool/resource definitions use about 1216 tokens (~101/item across 12 items; 12 tools + 0 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management17
- Stability observed for 5 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage97
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 91% of tool parameters carry a description.Partial
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
remote · anyhook.net
claude mcp add --transport http net-anyhook-anyhook https://anyhook.net/mcp
[mcp_servers.net-anyhook-anyhook] url = "https://anyhook.net/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"net-anyhook-anyhook": {
"type": "remote",
"url": "https://anyhook.net/mcp",
"enabled": true
}
}
} openclaw mcp add net-anyhook-anyhook --url https://anyhook.net/mcp --transport streamable-http
mcp_servers:
net-anyhook-anyhook:
url: "https://anyhook.net/mcp" {
"mcpServers": {
"net-anyhook-anyhook": {
"type": "http",
"url": "https://anyhook.net/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 3 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.
- 1 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.
- 31 Jul 26 +1
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Jul 26 +1
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 29 Jul 26 63
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 3 Aug 2026 · Probed https://anyhook.net/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=anyhook.net | CN=YR1,O=Let's Encrypt,C=US | 11 Jun 2026 | 9 Sept 2026 | RSA 2048 | SHA256-RSA | 6b725f5effc1051c0a83c656d243d37ccd4 |
| SANs: anyhook.net | ||||||
| CN=YR1,O=Let's Encrypt,C=US (CA) | CN=Root YR,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | RSA 2048 | SHA256-RSA | a20253f15f2691c05dc1ce13b9bcca4e |
| CN=Root YR,O=ISRG,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | RSA 4096 | SHA256-RSA | f24b6d17f9d9ad7cb1c9fea78782699f |
DNSSEC insecure
Validation of anyhook.net. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| net. | present | 37331 | 13 | Verified |
| anyhook.net. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=63072000; includeSubDomains; preload |
| x-content-type-options | nosniff |
| x-frame-options | DENY |
| referrer-policy | strict-origin-when-cross-origin |
| permissions-policy | camera=(), microphone=(), geolocation=() |
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://anyhook.net/mcp | Verified | 200 | |
| http (plaintext) | http://anyhook.net/mcp | HTTPS enforced | 308 | https://anyhook.net/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
anyhook_apps_create Create a new AnyHook app ~121
Create a new app with a name, provider source, and (optionally) destinations. Returns the inbound URL.
| Name | Type | Req | Description |
|---|---|---|---|
| api_key | string | — | API key (ahk_live_...) from anyhook_quickstart. Only needed over HTTP when no Authorization header is set; ignored over stdio. |
| destinations | array | — | Destination URLs that should receive forwarded events. |
| name | string | yes | Human-readable app name. |
| source | string | yes | Provider name (stripe, github, shopify, ...). Used for signature auto-detection. |
No output schema declared.
No examples provided.
anyhook_apps_list List your AnyHook apps ~65
List apps in your AnyHook account with inbound URLs, sources, and destination URLs.
| Name | Type | Req | Description |
|---|---|---|---|
| api_key | string | — | API key (ahk_live_...) from anyhook_quickstart. Only needed over HTTP when no Authorization header is set; ignored over stdio. |
No output schema declared.
No examples provided.
anyhook_events List recent webhook events ~155
List webhook events (most recent first). Uses your AnyHook account when connected (via ANYHOOK_API_KEY or anyhook_quickstart), otherwise the local in-memory store.
| Name | Type | Req | Description |
|---|---|---|---|
| api_key | string | — | API key (ahk_live_...) from anyhook_quickstart. Only needed over HTTP when no Authorization header is set; ignored over stdio. |
| appSlug | string | — | Filter to a specific app slug (account mode). |
| limit | integer | — | — |
| source | string | — | Filter by provider source (local mode). |
| status | string | — | Filter by status. Account mode: queued|success|retrying|failed. Local mode: received|forwarded|failed|retrying. |
No output schema declared.
No examples provided.
anyhook_inbox Get this app's email inbox address ~134
Every AnyHook app is also an email inbox: mail sent to {user}.{app}@anyhook.net becomes an event (type email.received) you can read with anyhook_events. Returns the address and webhook URL for one of your apps. No account yet? anyhook_quickstart returns an inbox_address directly.
| Name | Type | Req | Description |
|---|---|---|---|
| api_key | string | — | API key (ahk_live_...) from anyhook_quickstart. Only needed over HTTP when no Authorization header is set; ignored over stdio. |
| app | string | — | App slug (from anyhook_apps_list). Defaults to your first app. |
No output schema declared.
No examples provided.
anyhook_inspect Inspect a specific event ~82
Full detail for one event: source, type, status, delivery summary. Account or local store.
| Name | Type | Req | Description |
|---|---|---|---|
| api_key | string | — | API key (ahk_live_...) from anyhook_quickstart. Only needed over HTTP when no Authorization header is set; ignored over stdio. |
| id | string | yes | Event ID returned by anyhook_events. |
No output schema declared.
No examples provided.
anyhook_mock Mock a webhook ~134
Generate a webhook request with a valid signature for Stripe, GitHub, or Slack. If targetUrl is provided, the request is POSTed there and the response is returned.
| Name | Type | Req | Description |
|---|---|---|---|
| data | object | — | Optional fields to deep-merge into the fixture. |
| event | string | yes | Event name (e.g. 'payment_intent.succeeded' for Stripe). |
| provider | string | yes | Webhook provider to simulate. |
| secret | string | — | Signing secret. Falls back to a deterministic default per provider. |
| targetUrl | string | — | If set, POST the generated request to this URL and return the response. |
No output schema declared.
No examples provided.
anyhook_providers List supported providers and event types ~27
List webhook providers AnyHook can mock, along with the event types available for each.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
anyhook_quickstart Create a free AnyHook endpoint (no account needed) ~105
Zero-config bootstrap: creates a free ephemeral relay endpoint + API key with no signup. Returns inbound_url (receives webhooks immediately), api_key, and claim_url. This MCP session auto-connects to the new account; remote tools work right after. Endpoint expires in 7 days unless claimed.
| Name | Type | Req | Description |
|---|---|---|---|
| destination_url | string | — | Optional forwarding destination for the new endpoint. |
| source | string | — | Optional provider hint (stripe, github, shopify, ...). |
No output schema declared.
No examples provided.
anyhook_replay Replay an event ~90
Re-send a stored event to its destinations. Replay does NOT consume monthly event quota — safe to call repeatedly while debugging.
| Name | Type | Req | Description |
|---|---|---|---|
| api_key | string | — | API key (ahk_live_...) from anyhook_quickstart. Only needed over HTTP when no Authorization header is set; ignored over stdio. |
| id | string | yes | Event ID to replay. Replay does not consume event quota. |
No output schema declared.
No examples provided.
anyhook_replay_failed Bulk-replay all failed events for an app ~88
Re-send every failed event for the given app slug. Useful after fixing a downstream bug to recover queued work.
| Name | Type | Req | Description |
|---|---|---|---|
| api_key | string | — | API key (ahk_live_...) from anyhook_quickstart. Only needed over HTTP when no Authorization header is set; ignored over stdio. |
| appSlug | string | yes | Bulk-replay every failed event for this app. |
No output schema declared.
No examples provided.
anyhook_undelivered List undelivered events for an app ~85
Show events for the given app that have not successfully reached any destination (failed or still retrying).
| Name | Type | Req | Description |
|---|---|---|---|
| api_key | string | — | API key (ahk_live_...) from anyhook_quickstart. Only needed over HTTP when no Authorization header is set; ignored over stdio. |
| appSlug | string | yes | — |
| limit | integer | — | — |
No output schema declared.
No examples provided.
anyhook_verify Verify a webhook signature ~130
Verify a webhook signature against a secret. Supports 19 providers including stripe, github, shopify, slack, discord, linear, vercel, paddle, hubspot, and paypal.
| Name | Type | Req | Description |
|---|---|---|---|
| body | string | yes | Raw request body. |
| headers | object | yes | Request headers as a flat object. |
| provider | string | yes | Provider name (e.g. 'stripe', 'github', 'slack', 'generic'). |
| requestUrl | string | — | Original request URL (required for Twilio/HubSpot). Defaults to a placeholder. |
| secret | string | yes | Signing secret to verify against. |
No output schema declared.
No examples provided.