Skip to main content
Glama
rog0x
by rog0x

mcp-webhook-tools

Webhook management and testing tools for AI agents, built on the Model Context Protocol.

Tools

webhook_send

Send a webhook payload to any URL with custom headers, body, and content-type. Supports automatic retry with exponential backoff and jitter. Returns detailed attempt records including status codes, timing, and errors.

webhook_validate

Validate webhook signatures using HMAC-SHA256 or HMAC-SHA1. Includes built-in patterns for:

  • Stripet=TIMESTAMP,v1=SIGNATURE format with timestamp tolerance

  • GitHubsha256=SIGNATURE or sha1=SIGNATURE format

  • Slackv0=SIGNATURE with v0:timestamp:body signing scheme

Uses timing-safe comparison to prevent timing attacks.

webhook_generate_payload

Generate realistic webhook payloads for testing. Supported events:

Service

Events

Stripe

payment_intent.succeeded

GitHub

push, pull_request

Slack

message

Each payload includes randomized IDs, current timestamps, and suggested headers. Use the overrides parameter to customize specific fields.

webhook_debug

Analyze a webhook request end-to-end:

  • Parse and categorize headers (content-type, signature, timestamp, delivery ID, custom)

  • Validate the request body (size, JSON validity, encoding)

  • Auto-detect the provider (Stripe, GitHub, Slack)

  • Verify the signature if a secret is provided

  • Check timestamp freshness (default 300s threshold)

  • Report all issues found

webhook_retry_schedule

Calculate a retry schedule with exponential backoff. Shows each attempt's delay, cumulative elapsed time, and scheduled ISO timestamp. Configurable base delay, max delay cap, multiplier, and jitter.

Related MCP server: hookray-mcp

Setup

npm install
npm run build

MCP Configuration

Add to your MCP client config:

{
  "mcpServers": {
    "webhook-tools": {
      "command": "node",
      "args": ["path/to/mcp-webhook-tools/dist/index.js"]
    }
  }
}

License

MIT

Available Tools

5 tools
webhook_debugA

Analyze a webhook request: parse headers, validate signature, decode body, check content-type, verify timestamp freshness, and detect the provider.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoThe webhook endpoint URL (for reference)
bodyYesRaw request body
methodNoHTTP method used
secretNoSigning secret for signature verification (optional)
headersYesRequest headers as key-value pairs

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It lists non-destructive analytical actions, suggesting read-only behavior, but it does not explicitly state that the tool has no side effects, nor does it describe what happens when the optional secret is omitted or how results are returned.

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 with no redundant wording. Each listed action ('parse', 'validate', 'decode', 'check', 'verify', 'detect') earns its place, making it concise and easy to scan.

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?

The tool has five parameters, no output schema, and no annotations. The description gives a useful high-level overview but omits critical details such as the output format, error behavior, and conditional handling (e.g., signature validation only when a secret is provided). For a multi-step debugging tool, this is a moderate gap.

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 coverage is 100%, so the baseline is 3. The description adds some context by linking actions to parameters (e.g., 'validate signature' implies use of 'secret'), but it does not provide substantial value beyond the schema's own parameter descriptions.

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 tool's function with a specific verb 'Analyze' and detailed scope ('parse headers, validate signature, decode body, check content-type, verify timestamp freshness, and detect the provider'). It distinguishes itself from sibling tools like webhook_validate by covering a broader analysis workflow.

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 implies usage for debugging webhook requests, but it does not explicitly state when to choose this tool over alternatives like webhook_validate or webhook_send. No exclusions or comparison are provided, leaving the selection largely to inference.

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

webhook_generate_payloadA

Generate a realistic webhook payload for common services. Supports Stripe (payment_intent.succeeded), GitHub (push, pull_request), and Slack (message).

ParametersJSON Schema
NameRequiredDescriptionDefault
eventYesEvent type (e.g., payment_intent.succeeded, push, pull_request, message)
serviceYesService to generate payload for
overridesNoOptional field overrides to merge into the generated payload

TDQS

A4.1/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It states that the tool generates a realistic payload, implying it does not send or mutate anything, but it does not explicitly disclose the output format or behavior for invalid inputs. For a benign generator, this is adequate but not fully transparent.

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 concise sentence, front-loaded with the main action, and contains no unnecessary detail. It efficiently communicates the tool's purpose and key supported services.

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?

No output schema or annotations exist, so the description should explain return values and constraints. It covers the core purpose and supported services, but lacks explicit output format details (e.g., JSON) and does not clarify whether only the listed event types are supported. The description is adequate for a simple generator but leaves some gaps.

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 schema descriptions cover all parameters (100% coverage), but the description adds meaningful service-event mappings (e.g., Stripe -> payment_intent.succeeded, GitHub -> push/pull_request, Slack -> message) that are not present in the schema. This helps the agent select valid service-event combinations beyond the generic schema descriptions.

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 (generate) and resource (realistic webhook payload), and lists supported services (Stripe, GitHub, Slack) and example events. This distinguishes it from sibling tools like send, validate, and debug, which have different purposes.

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 generate a payload for common services) and distinguishes it from siblings by name, but it does not explicitly state alternatives or when-not-to-use scenarios. The context is clear but exclusions are not explicit.

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

webhook_retry_scheduleA

Calculate a retry schedule with exponential backoff and optional jitter. Shows the delay, cumulative time, and scheduled timestamp for each retry attempt.

ParametersJSON Schema
NameRequiredDescriptionDefault
jitterNoAdd randomized jitter (default: true)
multiplierNoBackoff multiplier (default: 2)
start_timeNoISO 8601 start time (default: now)
max_retriesYesNumber of retry attempts
max_delay_msNoMaximum delay cap in milliseconds (default: 60000)
base_delay_msNoInitial delay in milliseconds (default: 1000)

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are present, so the description must disclose behavior. It states the tool calculates and shows results, implying a read-only operation, but does not explicitly confirm it sends no webhooks or mention edge cases like invalid inputs or jitter behavior. Moderate transparency.

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 that front-load the action and describe the output. No filler words—every phrase adds value.

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 tool's purpose and output shape, but with 6 parameters and no output schema or annotations, it leaves some ambiguity about return format and boundary conditions. Still, it is sufficient for a calculation 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 100%, and the description adds limited context by mentioning exponential backoff and jitter, which map to existing parameters. It does not explain parameter relationships or formulas beyond what the schema provides.

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 ('Calculate') and resource ('retry schedule'), explicitly naming the algorithm (exponential backoff) and output components (delay, cumulative time, scheduled timestamp). This clearly distinguishes it from sibling tools like webhook_send or webhook_validate.

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 implies usage for planning retry timing but does not explicitly state when to use it versus alternatives or what conditions warrant this tool. No exclusions or comparisons are provided.

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

webhook_sendA

Send a webhook payload to a URL with custom headers, body, and content-type. Supports retry with exponential backoff.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesTarget URL to send the webhook to
bodyYesRequest body (typically JSON string)
methodNoHTTP method (default: POST)
headersNoCustom HTTP headers as key-value pairs
timeout_msNoRequest timeout in milliseconds (default: 10000)
max_retriesNoMaximum retry attempts on failure (default: 0)
content_typeNoContent-Type header (default: application/json)
base_delay_msNoBase delay between retries in ms (default: 1000)

TDQS

A4.1/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses retry with exponential backoff, which is a useful behavioral detail, but it does not mention return values, error handling, or side effects. More context (e.g., whether it blocks, returns HTTP response) would improve transparency.

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, front-loaded with the primary action, and contains no redundant words. It efficiently covers the core purpose and a key feature (retry with exponential backoff).

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 tool with 8 parameters and no output schema or annotations, the description is somewhat minimal. It covers the main purpose and retry behavior, but lacks details about what the tool returns or how errors are surfaced. It is adequate but not comprehensive.

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 coverage is 100%, so baseline is 3. The description adds meaningful nuance by mentioning 'exponential backoff,' which clarifies the relationship between max_retries and base_delay_ms beyond their schema descriptions. It also highlights key parameters but mostly echoes schema info.

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 sends a webhook payload to a URL, with explicit mention of customization options (headers, body, content-type). This specific verb+resource scope distinguishes it from siblings like webhook_generate_payload and webhook_validate.

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 this is the tool for actually sending webhooks, and the sibling tools serve clearly different purposes (generating, validating, debugging, retry scheduling). However, it does not explicitly state when to use or not use this tool versus alternatives, 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.

webhook_validateA

Validate a webhook signature. Supports HMAC-SHA256 and HMAC-SHA1 with built-in patterns for Stripe, GitHub, and Slack.

ParametersJSON Schema
NameRequiredDescriptionDefault
secretYesThe webhook signing secret
payloadYesThe raw webhook payload body
providerNoWebhook provider for automatic format detection
algorithmNoHash algorithm (default: sha256)
signatureYesThe signature to validate
timestampNoRequest timestamp (required for Slack)
signature_formatNoSignature encoding (default: hex)
tolerance_secondsNoMax age of timestamp in seconds (default: 300)

TDQS

A3.7/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions supported algorithms and provider patterns but does not state what the tool returns on valid/invalid signatures, error handling, or any side effects. For a validation tool, this is a significant gap.

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: 'Validate a webhook signature.' It wastes no words and immediately states the core purpose, then adds useful supporting details about algorithms and providers.

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?

The tool has 8 parameters, no output schema, and no annotations. The schema covers parameter semantics well, but the description lacks crucial behavioral context such as return values and error behavior. The description plus schema is adequate for a basic understanding, but the absence of return-value information leaves a clear gap.

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 100%, so the baseline is 3. The description adds limited semantic value beyond the schema, such as noting built-in provider patterns that relate to the 'provider' parameter. It does not explain each parameter in detail, but the schema already covers that, so the score stays at the baseline.

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 tool's function: 'Validate a webhook signature.' It also specifies supported algorithms (HMAC-SHA256, HMAC-SHA1) and provider-specific patterns (Stripe, GitHub, Slack), which distinguishes it from sibling tools like webhook_generate_payload or webhook_send.

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 clear context: it's for validating webhook signatures. It implies when to use it (when a webhook signature must be checked) but does not explicitly mention alternatives or when not to use it. The sibling tool names suggest related webhook operations, but no explicit exclusions are provided, so it falls 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.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 5 tool updatesv1.0.0
    • First observedwebhook_debug
    • First observedwebhook_generate_payload
    • First observedwebhook_retry_schedule
    • First observedwebhook_send
    • First observedwebhook_validate

TDQS

A4.2/5.0
Disambiguation5/5

Each tool targets a distinct webhook operation: generating payloads, sending, validating signatures, debugging requests, and computing retry schedules. No two tools overlap in purpose.

Naming Consistency5/5

All tool names follow a consistent 'webhook_<verb>_<noun>' pattern in snake_case. Clear and predictable naming convention throughout.

Tool Count5/5

Five tools is well-scoped for a webhook utility server. Each tool serves a distinct need without redundancy or bloat.

Completeness5/5

The set covers the core webhook workflow: generate, send, validate, debug, and plan retries. There are no obvious missing operations for the server's stated purpose.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Enables interaction with Webhook.site to create, manage, and monitor endpoints for capturing HTTP requests, emails, and DNS lookups. It provides 16 tools for testing webhooks and inspecting incoming data through the Model Context Protocol.
    24
    12
    MIT
  • 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
    15
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Webhook management and debugging. Validate signatures, log events, replay, and analyze webhook traffic.
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables management and inspection of webhook tokens (URLs) and incoming requests via webhook-test.com, allowing users to create, list, fetch details, fetch payloads, and delete webhooks without custom API integrations.
    -

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/rog0x/mcp-webhook-tools'

If you have feedback or need assistance with the MCP directory API, please join our Discord server