mcp-webhook-tools
by rog0x
README.md
# mcp-webhook-tools
Webhook management and testing tools for AI agents, built on the [Model Context Protocol](https://modelcontextprotocol.io/).
## 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=SIGNATURE` format with timestamp tolerance
- **GitHub** — `sha256=SIGNATURE` or `sha1=SIGNATURE` format
- **Slack** — `v0=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.
## Setup
```bash
npm install
npm run build
```
## MCP Configuration
Add to your MCP client config:
```json
{
"mcpServers": {
"webhook-tools": {
"command": "node",
"args": ["path/to/mcp-webhook-tools/dist/index.js"]
}
}
}
```
## License
MIT
TDQS
A4.2/5.0
Scored across 5 tools
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
ResponsivenessNo issues