Openhook
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Webhook, email and DNS inboxes for AI agents to capture callbacks and test integrations.
| Author | io.github.openhook-dev |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 1822 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"Openhook": {
"url": "https://openhook.dev/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (29)
server_statusread-onlyInspect native storage, retention, and enabled capture transports.
Hints: read-only yes · destructive no · idempotent not declared · open-world no
create_webhookdestructiveCreate an inbox. Save its private token; share only public capture addresses. A hosted Pro account_key creates a persistent owned inbox.
Parameters:
name— stringexpiry— integeraccount_key— string
Hints: read-only no · destructive yes · idempotent not declared · open-world no
get_hosted_inboxesread-onlyHosted only: list your persistent inboxes and usage using a private account agent key.
Parameters:
account_key(required) — string
Hints: read-only yes · destructive no · idempotent not declared · open-world no
access_hosted_inboxdestructiveHosted only: issue a private inbox token for an inbox you own. Keep the returned token private.
Parameters:
account_key(required) — stringinbox_id(required) — string
Hints: read-only no · destructive yes · idempotent not declared · open-world no
configure_webhookdestructiveSet HTTP responses and optional SHA256 HMAC verification, preserving unspecified fields.
Parameters:
webhook_token(required) — stringcorsdefault_statusdefault_contentsignature_providerverification_secretdefault_content_type
Hints: read-only no · destructive yes · idempotent not declared · open-world no
get_webhook_inforead-onlyRead addresses, expiry, response settings, and retained event count.
Parameters:
webhook_token(required) — string
Hints: read-only yes · destructive no · idempotent not declared · open-world no
get_webhook_emailread-onlyRead the email address, available when this deployment runs SMTP.
Parameters:
webhook_token(required) — string
Hints: read-only yes · destructive no · idempotent not declared · open-world no
register_github_webhookdestructiveCreate a signed GitHub repository subscription and native inbox. Requires webhook-write permission.
Parameters:
access_token(required) — stringrepository(required) — stringevents(required) — arrayaccount_key— string
Hints: read-only no · destructive yes · idempotent not declared · open-world yes
register_stripe_webhookdestructiveCreate a signed Stripe webhook endpoint and native inbox. Provider credentials are not stored.
Parameters:
access_token(required) — stringevents(required) — arrayaccount_key— string
Hints: read-only no · destructive yes · idempotent not declared · open-world yes
register_linear_webhookdestructiveCreate a signed Linear subscription and native inbox. Requires admin scope; optional team filter.
Parameters:
access_token(required) — stringresource_types(required) — arrayteam_id— stringaccount_key— string
Hints: read-only no · destructive yes · idempotent not declared · open-world yes
unregister_webhookdestructiveRemove the registered provider subscription and permanently delete its native inbox and events.
Parameters:
webhook_token(required) — stringaccess_token(required) — string
Hints: read-only no · destructive yes · idempotent not declared · open-world yes
delete_webhookdestructivePermanently delete this inbox and its stored events.
Parameters:
webhook_token(required) — string
Hints: read-only no · destructive yes · idempotent not declared · open-world no
rotate_webhook_tokendestructiveRevoke the old private token and return a new one; capture addresses stay unchanged.
Parameters:
webhook_token(required) — string
Hints: read-only no · destructive yes · idempotent not declared · open-world no
get_webhook_requestsread-onlyRead events with pagination or a durable sequence cursor.
Parameters:
webhook_token(required) — stringpage— integerlimit— integersince— integerrequest_type
Hints: read-only yes · destructive no · idempotent not declared · open-world no
get_webhook_activityread-onlyRead durable receipt and mutation history with a cursor. Bodies and secrets are excluded.
Parameters:
webhook_token(required) — stringlimit— integersince— integer
Hints: read-only yes · destructive no · idempotent not declared · open-world no
search_requestsread-onlySearch captured bodies, URLs, and headers for a literal substring.
Parameters:
webhook_token(required) — stringquery(required) — stringpage— integerlimit— integerrequest_type
Hints: read-only yes · destructive no · idempotent not declared · open-world no
get_requestread-onlyRead a complete event; omit request_id to inspect the newest one.
Parameters:
webhook_token(required) — stringrequest_id
Hints: read-only yes · destructive no · idempotent not declared · open-world no
update_requestdestructiveAnnotate an event without changing its original captured body.
Parameters:
webhook_token(required) — stringrequest_id(required) — stringnote(required) — string
Hints: read-only no · destructive yes · idempotent not declared · open-world no
download_request_fileread-onlyRetrieve exact captured bytes as base64, including binary bodies or raw MIME.
Parameters:
webhook_token(required) — stringrequest_id(required) — string
Hints: read-only yes · destructive no · idempotent not declared · open-world no
delete_requestdestructivePermanently delete one event belonging to this inbox.
Parameters:
webhook_token(required) — stringrequest_id(required) — string
Hints: read-only no · destructive yes · idempotent not declared · open-world no
delete_all_requestsdestructiveClear stored events, keeping the inbox's addresses and settings.
Parameters:
webhook_token(required) — string
Hints: read-only no · destructive yes · idempotent not declared · open-world no
export_webhook_dataread-onlyExport a bounded page of full events; resume with next_since. Browser export streams the entire inbox.
Parameters:
webhook_token(required) — stringsince— integerformat— string
Hints: read-only yes · destructive no · idempotent not declared · open-world no
wait_for_requestread-onlyWait up to 120 seconds; pass next_since when reconnecting to avoid missing events.
Parameters:
webhook_token(required) — stringsincerequest_typereturn_existing— booleantimeout_seconds— number
Hints: read-only yes · destructive no · idempotent not declared · open-world no
wait_for_emailread-onlyWait for an email received by Openhook's SMTP listener.
Parameters:
webhook_token(required) — stringsincereturn_existing— booleantimeout_seconds— number
Hints: read-only yes · destructive no · idempotent not declared · open-world no
send_requestsdestructiveCreate up to ten marked test HTTP events in this inbox.
Parameters:
webhook_token(required) — stringpayloads(required) — array
Hints: read-only no · destructive yes · idempotent not declared · open-world no
extract_links_from_requestread-onlyExtract HTTP links and verification codes without visiting the URLs.
Parameters:
webhook_token(required) — stringrequest_id
Hints: read-only yes · destructive no · idempotent not declared · open-world no
generate_oob_payloadsread-onlyRead callback addresses for authorized out-of-band testing.
Parameters:
webhook_token(required) — string
Hints: read-only yes · destructive no · idempotent not declared · open-world no
check_for_callbacksread-onlyCheck for callbacks newer than a sequence cursor without waiting.
Parameters:
webhook_token(required) — stringsince— integer
Hints: read-only yes · destructive no · idempotent not declared · open-world no
respond_to_next_requestdestructiveRespond to the next request using ?openhook_wait=1, within its 20-second response window.
Parameters:
webhook_token(required) — stringcontent(required) — stringstatus— integercontent_type— stringtimeout_seconds— number
Hints: read-only no · destructive yes · idempotent not declared · open-world no
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.