Anonymous webhook capture, inspection, waiting, and response configuration for AI agents.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Permanently delete every capture in a bucket. Requires confirm=true.
must be true to perform this destructive action
The server marks this tool as destructive. Running it may delete or overwrite data on the server or in any account you connected with your headers.
Permanently delete every capture in a bucket. Requires confirm=true.
| Argument | Type | Description |
|---|---|---|
| confirm* | boolean | must be true to perform this destructive action |
| bucket_id* | string |
{
"type": "object",
"required": [
"bucket_id",
"confirm"
],
"properties": {
"confirm": {
"type": "boolean",
"description": "must be true to perform this destructive action"
},
"bucket_id": {
"type": "string"
}
},
"additionalProperties": false
}Set the status, content type (JSON, plain text, XML, or form-encoded), body, optional Retry-After or X-Hook-Secret header, and a delay up to 10 seconds returned by the webhook endpoint. Browser visits always receive plain text.
| Argument | Type | Description |
|---|---|---|
| body* | string | |
| status* | integer | |
| headers | object | optional response headers; only Retry-After and X-Hook-Secret are supported, matched case-insensitively |
| delay_ms | integer | response delay in milliseconds, from 0 to 10000 |
| bucket_id* | string | |
| content_type* | string | application/json, text/plain, application/xml, text/xml, application/soap+xml, application/problem+xml, application/x-www-form-urlencoded, or application/*+json; only a charset parameter is allowed; empty selects application/json |
{
"type": "object",
"required": [
"bucket_id",
"status",
"content_type",
"body"
],
"properties": {
"body": {
"type": "string"
},
"status": {
"type": "integer"
},
"headers": {
"type": "object",
"description": "optional response headers; only Retry-After and X-Hook-Secret are supported, matched case-insensitively",
"additionalProperties": {
"type": "string"
}
},
"delay_ms": {
"type": "integer",
"description": "response delay in milliseconds, from 0 to 10000"
},
"bucket_id": {
"type": "string"
},
"content_type": {
"type": "string",
"description": "application/json, text/plain, application/xml, text/xml, application/soap+xml, application/problem+xml, application/x-www-form-urlencoded, or application/*+json; only a charset parameter is allowed; empty selects application/json"
}
},
"additionalProperties": false
}Create an anonymous temporary webhook capture bucket. The returned bucket ID is a bearer capability and expires after 15 days of inactivity.
| Argument | Type | Description |
|---|---|---|
| name | string | optional display name for the bucket |
| controlled_test | boolean | set true only for maintainer QA or automated evaluations; not for a real user's first test |
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "optional display name for the bucket"
},
"controlled_test": {
"type": "boolean",
"description": "set true only for maintainer QA or automated evaluations; not for a real user's first test"
}
},
"additionalProperties": false
}Permanently delete a bucket and all of its captures. Requires confirm=true.
| Argument | Type | Description |
|---|---|---|
| confirm* | boolean | must be true to perform this destructive action |
| bucket_id* | string |
{
"type": "object",
"required": [
"bucket_id",
"confirm"
],
"properties": {
"confirm": {
"type": "boolean",
"description": "must be true to perform this destructive action"
},
"bucket_id": {
"type": "string"
}
},
"additionalProperties": false
}Read one webhook capture scoped to its bucket. Sensitive headers and query values are redacted by default.
| Argument | Type | Description |
|---|---|---|
| bucket_id* | string | |
| webhook_id* | string | |
| max_body_bytes | integer | maximum body bytes to return; defaults to 65536 and cannot exceed 262144 |
| include_sensitive | boolean | return sensitive header and query values; defaults to false |
{
"type": "object",
"required": [
"bucket_id",
"webhook_id"
],
"properties": {
"bucket_id": {
"type": "string"
},
"webhook_id": {
"type": "string"
},
"max_body_bytes": {
"type": "integer",
"description": "maximum body bytes to return; defaults to 65536 and cannot exceed 262144"
},
"include_sensitive": {
"type": "boolean",
"description": "return sensitive header and query values; defaults to false"
}
},
"additionalProperties": false
}Read a bucket name and its configured HTTP response settings.
| Argument | Type | Description |
|---|---|---|
| bucket_id* | string | bucket capability ID |
{
"type": "object",
"required": [
"bucket_id"
],
"properties": {
"bucket_id": {
"type": "string",
"description": "bucket capability ID"
}
},
"additionalProperties": false
}List webhook capture summaries in newest-first order using cursor pagination.
| Argument | Type | Description |
|---|---|---|
| limit | integer | number of summaries to return, from 1 to 50 |
| cursor | string | opaque cursor returned by a previous call |
| bucket_id* | string |
{
"type": "object",
"required": [
"bucket_id"
],
"properties": {
"limit": {
"type": "integer",
"description": "number of summaries to return, from 1 to 50"
},
"cursor": {
"type": "string",
"description": "opaque cursor returned by a previous call"
},
"bucket_id": {
"type": "string"
}
},
"additionalProperties": false
}Return the latest capture, wait for a newer capture, or report received=false after the timeout.
| Argument | Type | Description |
|---|---|---|
| bucket_id* | string | |
| wait_seconds | integer | seconds to wait; defaults to 20 and cannot exceed 25 |
| max_body_bytes | integer | |
| after_webhook_id | string | wait for a capture newer than this webhook ID |
| include_sensitive | boolean |
{
"type": "object",
"required": [
"bucket_id"
],
"properties": {
"bucket_id": {
"type": "string"
},
"wait_seconds": {
"type": "integer",
"description": "seconds to wait; defaults to 20 and cannot exceed 25"
},
"max_body_bytes": {
"type": "integer"
},
"after_webhook_id": {
"type": "string",
"description": "wait for a capture newer than this webhook ID"
},
"include_sensitive": {
"type": "boolean"
}
},
"additionalProperties": false
}