Skip to main content
Glama
rog0x
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