About webhook
An MCP server for AI agents to manage and test webhooks. It can send requests, validate signatures, generate test payloads, inspect requests, and calculate retry schedules.
Key features
- 01Send webhooks with custom headers and bodies
- 02Validate Stripe, GitHub, and Slack signatures
- 03Generate test payloads for supported service events
- 04Inspect requests, signatures, timestamps, and bodies
- 05Calculate retry schedules with backoff and jitter
Use cases
- 01Send a webhook to a URL and review the result
- 02Verify signatures from Stripe, GitHub, or Slack
- 03Generate test events to debug a receiver
- 04Diagnose request issues and plan retries after failures
MCP support
The MCP server exposes webhook sending, signature validation, payload generation, request debugging, and retry scheduling tools to MCP clients.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
5Saved tool list · updated 3w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| url | string | Yes | Target URL to send the webhook to |
| body | string | Yes | Request body (typically JSON string) |
| method | enum | No | HTTP method (default: POST)GET | POST | PUT | PATCH | DELETE |
| headers | object | No | Custom HTTP headers as key-value pairs |
| timeout_ms | number | No | Request timeout in milliseconds (default: 10000) |
| max_retries | number | No | Maximum retry attempts on failure (default: 0) |
| content_type | string | No | Content-Type header (default: application/json) |
| base_delay_ms | number | No | Base delay between retries in ms (default: 1000) |
Details
From the project READMEmcp-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:
- Stripe —
t=TIMESTAMP,v1=SIGNATUREformat with timestamp tolerance - GitHub —
sha256=SIGNATUREorsha1=SIGNATUREformat - Slack —
v0=SIGNATUREwithv0:timestamp:bodysigning 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.
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
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.