Skip to main content
Glama

Webhook Toolkit

Server Details

Webhook URLs for AI agents: receive, wait for, replay, sign and verify webhooks (Stripe, GitHub…).

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
THE-KIPDEV/webhook-toolkit
GitHub Stars
0

TDQS

A4.2/5.0

Scored across 10 tools

Disambiguation5/5

Each tool targets a distinct action in the webhook lifecycle: create/list URLs, capture/inspect/wait for requests, set responses, replay, sign/verify, and explain. There is no meaningful overlap, and even similar-looking tools like get_webhook_request and explain_webhook_request are clearly separated as raw retrieval versus AI analysis.

Naming Consistency5/5

All tools follow a consistent `verb_webhook_noun` pattern in snake_case: create_, list_, get_, replay_, set_, sign_, verify_, wait_, explain_. The noun after the verb is also predictable, using webhook_url, webhook_request, webhook_response, webhook_payload, or webhook_signature. Naming is uniform and easy to predict.

Tool Count5/5

Ten tools is within the well-scoped 3-15 range and each tool earns its place by covering a distinct part of the webhook workflow: creating endpoints, inspecting traffic, simulating responses, replaying requests, and testing signatures. No tool feels redundant or filler.

Completeness4/5

The tool surface covers the full webhook debugging loop: create a URL, capture and inspect requests, wait for incoming events, set custom responses, replay, sign, verify, and receive AI explanations. Minor gaps exist, such as the lack of a delete webhook URL tool and no single-URL detail endpoint, but these can be worked around and do not block the core purpose.

Available Tools

10 tools
create_webhook_urlCreate a webhook URLAInspect

Create a public HTTPS URL that captures every request sent to it (any method, any sub-path). Use it when you need an endpoint to receive a webhook from a third-party service while building or debugging an integration. Returns the URL to configure in the service and a live inspector link for the human.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoLabel, e.g. 'stripe-test'

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the behavioral disclosure burden. It does disclose key behavior: the URL captures every request on any method or sub-path, and it returns an inspector link. However, it omits details like URL expiration, storage/retention of captured requests, or any rate limits or visibility implications of a public URL.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences with no filler. The most important facts—what the URL does and what it returns—are front-loaded, and every sentence adds useful information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a simple one-parameter tool with no output schema, and the description tells the agent what the tool returns (URL and inspector link). It is nearly complete, though a short note on URL persistence or data capture behavior would make it fully self-sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already fully documents the single 'name' parameter with an example, so the baseline is 3. The description adds no extra parameter-level detail, which is acceptable because the schema coverage is complete and the parameter is simple.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Create') and describes a clear resource: a public HTTPS URL that captures all requests. It distinguishes itself from sibling tools like list_webhook_urls or get_webhook_request by focusing on creation and by clarifying the URL's catch-all behavior.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states exactly when to use this tool: when needing an endpoint to receive a webhook from a third-party service while building or debugging an integration. It does not explicitly name alternatives or exclusions, but the use-case framing is strong enough for an agent to route correctly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

explain_webhook_requestExplain a webhook / write its handler (AI)AInspect

AI analysis of a captured request. mode=explain: who sent it, which event, key fields, how to verify the signature, pitfalls. mode=handler: complete receiving code that verifies the signature and handles this event. Included in paid plans; anonymous and free users get 3 trials.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNo
tokenYes
languageNoHandler language (mode=handler). Default node.
request_idYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the behavioral burden. It discloses the trial limit and the two modes, but it does not explicitly state that this tool is read-only (it only analyzes/generates code) or describe error behavior, rate limits, or authentication requirements. It adds some context but leaves key behavioral aspects unstated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, with the core purpose stated first and mode specifics following. It is compact, front-loaded, and contains no filler. Every sentence adds value, covering the two modes and the access constraint.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the main functionality, the two modes, and the access limitation. It does not describe the output format (e.g., whether explain returns structured text or handler returns a code snippet), but given there is no output schema and the tool is straightforward, this is a minor gap. It also does not mention error conditions or prerequisites beyond having a request_id.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 25% (only 'language' has a description). The description explains 'mode' by detailing what explain and handler modes do, and it clarifies that 'language' applies to handler mode with a default. However, 'token' and 'request_id' are left undocumented in both schema and description; the description does not compensate for these, though they are likely self-explanatory as identifiers.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it provides AI analysis of a captured request and can write a handler, with two explicit modes (explain and handler) that each specify what they deliver. It distinguishes itself from sibling tools like verify_webhook_signature and get_webhook_request by focusing on explanation and code generation rather than verification or retrieval.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use this tool: when you need to understand a webhook request or generate handling code. It does not explicitly contrast with alternatives, but the mode-based breakdown makes the intended use clear. It also mentions a trial limit, which sets expectations about access, though it does not mention exclusions like 'do not use for verification'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_webhook_requestGet a captured requestA
Read-only
Inspect

Return one captured request in full (headers, raw body, detected provider/event).

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
request_idYes

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With readOnlyHint=true already covering the safety profile, the description adds useful behavioral detail: the response contains the full request including headers, raw body, and derived provider/event detection, implying no transformation. It does not cover error conditions or exact formatting, but the added context goes beyond the annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, front-loaded with the verb and object, and the parenthetical 'in full' enumerates specifics without redundancy. Every word contributes.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only tool with readOnlyHint, the description conveys core behavior, but it omits any parameter guidance and does not explain when to prefer this tool over explain_webhook_request or replay_webhook_request. With no output schema, a bit more detail on how the request is identified or what 'full' excludes would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and neither 'token' nor 'request_id' is explained in the description. The parameter names are somewhat self-explanatory, but the description does not compensate for the missing schema documentation by clarifying formats, ownership, or how they relate to the returned request.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a clear verb ('Return'), a specific object ('one captured request'), and distinguishes scope by saying 'in full' and enumerating contents (headers, raw body, detected provider/event), separating it from list/explain/replay siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description makes the read/retrieval purpose obvious but gives no explicit guidance on when to choose it over list_webhook_requests or explain_webhook_request. There are no stated prerequisites or exclusions, so usage is only implied by the phrase 'one captured request in full.'

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_webhook_requestsList captured requestsA
Read-only
Inspect

List the most recent requests captured by a webhook URL, newest first (summaries; use get_webhook_request for one full request).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoDefault 10
tokenYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, and the description adds useful behavioral context: results are newest-first and are summaries rather than full requests. It also points to get_webhook_request for full detail, giving the agent a sense of the data shape without repeating annotation info.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence packs the action, scope, ordering, summary nature, and an alternative tool reference with no filler. The most important information is front-loaded and every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only list operation with readOnlyHint and limit defaults in the schema, the description is mostly sufficient. The main gaps are the unexplained token parameter and the lack of any detail about what a 'summary' contains, but the reference to get_webhook_request partially compensates.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 50%: limit is documented with min/max/default, but token has no description and the tool description does not explain it. The description adds no parameter-level meaning, leaving the required token parameter ambiguous.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('List'), the resource ('requests captured by a webhook URL'), and key characteristics ('most recent', 'newest first', 'summaries'). It also distinguishes itself from get_webhook_request, so an agent can tell them apart immediately.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly tells the agent when to use a different tool: 'use get_webhook_request for one full request.' This is a clear alternative and helps the agent decide between list and detail retrieval.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_webhook_urlsList my webhook URLsA
Read-only
Inspect

List the webhook URLs of the account behind the API key (requires an API key).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotation readOnlyHint=true already covers the read-only nature. The description adds the requirement of an API key, which is useful context, but does not disclose other behavioral aspects such as output format, pagination, or whether it lists all webhook URLs. With annotations present, the description provides some incremental value but not extensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that conveys the purpose and a key requirement without redundancy. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only listing tool with no parameters and no output schema, the description is largely complete. It states the scope (account behind API key) and action. It could mention that it returns a list of URLs, but that is implied by 'List'. Minor gap: no mention of response structure, but that is not critical for invoking the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters and schema coverage is 100%. Baseline for no parameters is 4. The description adds no parameter-related details because none exist, which is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear action (List) and a specific resource (webhook URLs) scoped to the account behind the API key. It unambiguously distinguishes from siblings like list_webhook_requests, which handles requests rather than URLs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when-to-use guidance or differentiation from alternatives is provided. The only usage note is 'requires an API key', which is a prerequisite rather than a selection criterion. It does not mention that this is the tool for listing URLs as opposed to other webhook operations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

replay_webhook_requestReplay a captured requestAInspect

Re-send a captured request (same method, headers and raw body) to a PUBLIC URL and return the target's response. Localhost and private IPs are refused here: for localhost use the CLI (npx webhook-toolkit replay) or the local MCP server (npx webhook-toolkit mcp).

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
request_idYes
target_urlYes

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It discloses meaningful traits: the request is re-sent verbatim (same method, headers, raw body), only PUBLIC targets are accepted, and the tool returns the target's raw response. It omits other useful behavioral details like failure behavior, retries, or idempotency, which leaves it adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with zero waste. The core action and return value are front-loaded in the first sentence, followed by the restriction and alternatives in the second. Every clause earns its place; there is no filler or repetition of the tool name/title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 3-parameter tool with no output schema and no annotations, the description covers the essentials: what it does, what it returns ('the target's response'), and the key target restriction. The origin of request_id is inferable from the sibling tools (get_webhook_request/list_webhook_requests). Only the undocumented token parameter and lack of failure-mode detail keep it from being fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, and it partially does: target_url is implied by 'PUBLIC URL' and request_id by 'captured request.' However, the token parameter is completely unexplained in both schema and description, and the mapping is implicit rather than explicit. At 0% coverage this is a meaningful gap, keeping it at a baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb-resource pair: 'Re-send a captured request (same method, headers and raw body) to a PUBLIC URL and return the target's response.' This clearly differentiates from siblings like get_webhook_request (retrieve) and explain_webhook_request (analyze) by focusing on the replay action. It doesn't explicitly name those siblings, so the differentiation is implied rather than stated, which keeps it at a 4.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit when-not guidance: localhost and private IPs are refused, and it names concrete alternatives ('use the CLI (`npx webhook-toolkit replay`) or the local MCP server (`npx webhook-toolkit mcp`)'). It covers exclusion well but offers no positive 'use this when...' framing beyond the inherent re-send action, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_webhook_responseSet the HTTP responseAInspect

Choose what the webhook URL answers to callers (status code, body, content type) — e.g. return 500 to test the sender's retries, or a specific JSON/XML body the service expects.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNo
tokenYes
statusNo
content_typeNo

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavior on its own. It states the core effect (sets the response to callers), but does not mention that it overwrites any existing configuration, whether changes take effect immediately, or potential side effects. The required token parameter is also not explained, leaving some behavioral ambiguity.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The entire description is a single, well-structured sentence that front-loads the core function and uses an em-dash to give illustrative examples. Every word earns its place; there is no filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple setter with four parameters (one required), no annotations, and no output schema, the description covers the main parameters and gives usage guidance. However, the missing token explanation and lack of any safety or persistence notes leave gaps that could affect correct invocation, especially for a mutation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It adds meaning to status, body, and content_type by tying them to concrete scenarios, but it entirely omits the required 'token' parameter, which is critical for identifying which webhook URL to configure. Partial compensation, not full.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (choose/set) on a specific resource (what the webhook URL answers to callers) and lists the key fields (status code, body, content type). The concrete examples make it unambiguous and distinct from sibling tools like create_webhook_url or get_webhook_request.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides practical use cases ('return 500 to test the sender's retries, or a specific JSON/XML body the service expects'), giving clear context for when to use the tool. It does not explicitly mention alternatives or exclusions, but the examples adequately signal typical invocation scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sign_webhook_payloadSign a test webhook payloadAInspect

Build a webhook body with a VALID signature header for a provider, to test a handler's signature verification without triggering a real event. Providers: stripe, github, shopify, slack, twilio, mailgun. Returns the headers, the exact body to send and a ready-to-run curl command.

ParametersJSON Schema
NameRequiredDescriptionDefault
secretYesThe webhook signing secret configured in your handler (whsec_… for Stripe)
payloadNoJSON payload (or form fields as JSON for Twilio). Default: a realistic sample event.
providerYes
event_typeNoSample event to use when no payload is given, e.g. checkout.session.completed
target_urlNoHandler URL (required for Twilio, whose signature covers the URL)

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral burden. It explicitly says the tool does not trigger a real event and that it returns headers, the exact body, and a ready-to-run curl command, strongly implying it does not send the request itself. This provides useful, non-obvious behavioral context, though it could be even more explicit about having no side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three short, purposeful sentences: the goal, the supported providers, and the return value. It is front-loaded with the primary purpose and contains no filler or redundant restatement of the tool name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given five parameters and no output schema, the description still covers the key practical facts: what it builds, why, what providers are supported, and what the caller receives. The Twilio-specific target_url caveat lives in the schema, and the return components are summarized well enough for a caller to understand the tool's output.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 80%, so the schema already documents most parameters well. The description adds the provider list and the core purpose, but it does not add meaningful parameter-level semantics beyond what the schema provides. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Build'), a specific resource ('webhook body with a VALID signature header'), and a clear objective ('test a handler's signature verification without triggering a real event'). It also lists supported providers, which distinguishes it from sibling tools like verify_webhook_signature.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly identifies when to use this tool: when you need to test signature verification without sending a real event. It does not explicitly name alternatives or state when not to use it, but the intended use case is well implied and differentiated from generating real webhooks.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

verify_webhook_signatureVerify a webhook signatureA
Read-only
Inspect

Check whether a webhook signature is valid for a raw body and a secret, and diagnose why it fails (wrong secret, whitespace, re-serialized JSON body, expired timestamp, wrong URL for Twilio). Providers: stripe, github, shopify, slack, twilio.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoTwilio only: the full URL Twilio called
secretYes
providerYes
raw_bodyYesThe raw request body exactly as received
signatureYesThe signature header value (Stripe-Signature, X-Hub-Signature-256, X-Shopify-Hmac-Sha256, X-Slack-Signature, X-Twilio-Signature)
timestampNoSlack only: X-Slack-Request-Timestamp

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With readOnlyHint already conveying safety, the description adds real behavioral value by enumerating failure modes such as wrong secret, whitespace, re-serialized JSON body, expired timestamp, and wrong URL for Twilio. It stops short of describing the exact return/result format, but the diagnostic scope is well disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one efficient sentence with a front-loaded action and diagnostic scope, followed by a compact provider list. Every phrase adds useful information and there is no repetition of schema content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a multi-provider tool with no output schema, the description covers provider scope and common failure causes well. It does not explicitly state per-provider required inputs like timestamp for Slack or URL for Twilio, and the exact return shape is left implied, but the schema fills in some of those details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

At 67% schema coverage, the schema documents most parameter meanings. The description goes further by linking failure causes to parameters (secret, raw_body, timestamp, url), which helps the agent understand how the inputs interact during verification rather than just their types.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource ('Check whether a webhook signature is valid for a raw body and a secret') and clearly scopes providers. It also distinguishes the tool from siblings like sign_webhook_payload by emphasizing validation and failure diagnosis rather than generation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description makes the tool's context clear (validating webhook signatures across several providers) but never explicitly names alternatives or states when not to use it. An agent can infer usage, but the guidance is implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wait_for_webhookWait for a webhookA
Read-only
Inspect

Block until the next request reaches a webhook URL (or the timeout elapses), then return it in full: method, path, headers, body, detected provider and event. Use right after triggering an action that should send a webhook. Call again with after set to the last request's createdAt to wait for the following one.

ParametersJSON Schema
NameRequiredDescriptionDefault
afterNoISO timestamp: only requests strictly newer than this. Default: now.
tokenYesToken of the webhook URL (the part after /r/)
timeout_secondsNoDefault 30, max 50

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description reveals key behavior beyond the readOnlyHint annotation: it blocks until a request or timeout, returns method/path/headers/body/provider/event, and supports sequential waiting via `after`. This gives the agent an accurate mental model of a potentially long-running call.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, no fluff, with the core blocking and return behavior stated first and usage follow-up second. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description explains what is returned in reasonable detail and gives the main usage scenario. It is slightly incomplete on the timeout edge case—what exactly is returned if the timeout elapses with no request—but overall sufficient for an agent to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds real meaning to `after` by tying it to the last request's createdAt and clarifies that the tool waits until timeout, augmenting the schema's raw field definitions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Block until') and resource ('next request reaches a webhook URL'), and clarifies the distinguishing behavior from siblings like list_webhook_requests or get_webhook_request: it waits and returns the request in full. This lets an agent differentiate it without inspecting schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly says to use it right after triggering an action that should send a webhook, and explains how to wait for the following request by passing `after`. It does not name alternatives or state when not to use it, but the usage context is clear enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 10 tool updates
    • First observedcreate_webhook_url
    • First observedexplain_webhook_request
    • First observedget_webhook_request
    • First observedlist_webhook_requests
    • First observedlist_webhook_urls
    • First observedreplay_webhook_request
    • First observedset_webhook_response
    • First observedsign_webhook_payload
    • First observedverify_webhook_signature
    • First observedwait_for_webhook

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables AI agents to create disposable webhook URLs, capture incoming HTTP requests, inspect headers and bodies, and replay them against local or remote endpoints, streamlining the webhook handler development loop.
    5
    4 npm
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables AI agents to create callback endpoints, wait for async webhook results, and verify signatures, eliminating the need for polling.
    8
    26 npm
    2
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.