Tern MCP
# @hookflo/tern-mcp
MCP server for [Tern](https://github.com/Hookflo/tern) — add verified webhook
handlers to any project from Claude Code.
## Install
Add to your Claude Code MCP config:
```json
{
"mcpServers": {
"tern": {
"command": "npx",
"args": ["@hookflo/tern-mcp"]
}
}
}
```
## Tools
### add_webhook
Generate a complete verified webhook handler for any platform and framework. Returns code only (no filesystem writes). Framework is required.
```
add a Stripe webhook handler for my Next.js app
add a Clerk webhook with queue and Slack alerts
(If framework is missing, Claude should ask before calling add_webhook)
```
### get_capabilities
Entry-point menu of everything Tern MCP can do.
```
what can Tern help me with?
```
### verify_signature
Verify and debug webhook signatures — static or live endpoint diagnosis.
```
why is my Shopify webhook returning 400?
verify this stripe signature: headers... body... secret...
```
### manage_dlq
List failed events and replay them.
```
show me all failed webhook events
replay dlq event dlq_abc123
```
### list_platforms
List all 16+ supported platforms with algorithms and header formats.
```
what webhook platforms does Tern support?
```
## Supported Platforms
Stripe, GitHub, Clerk, Shopify, Polar, WorkOS, Dodo Payments, Paddle,
Lemon Squeezy, GitLab, Sentry, Grafana, Doppler, Sanity, fal.ai, Replicate
## Links
- GitHub: github.com/Hookflo/tern
- Docs: tern.hookflo.com
## Build & Publish
```bash
# build
npm run build
# test locally
node dist/index.js
# publish
npm publish --access public
```
## Claude Code Config for testing
```json
{
"mcpServers": {
"tern": {
"command": "npx",
"args": ["@hookflo/tern-mcp"]
}
}
}
```
Add this to `~/.claude/claude_desktop_config.json` to test locally before publishing.
TDQS
Scored across 5 tools
Each tool has a clearly distinct purpose: add_webhook creates handlers, get_capabilities provides an overview, list_platforms enumerates supported platforms, manage_dlq handles failed events, and verify_signature validates signatures. There is no overlap or ambiguity between these functions.
Most tools follow a consistent verb_noun pattern (e.g., add_webhook, list_platforms, manage_dlq, verify_signature), but get_capabilities deviates slightly by using 'get' instead of a more descriptive verb like 'list' or 'show'. This minor inconsistency does not significantly hinder readability.
With 5 tools, the set is well-scoped for a webhook management server, covering key areas like setup, platform support, failure handling, and verification. Each tool earns its place without feeling excessive or insufficient for the domain.
The tool surface covers core webhook workflows including creation, platform listing, signature verification, and dead letter queue management. A minor gap is the lack of tools for updating or deleting webhooks, but agents can likely work around this given the server's focus on verification and management rather than full CRUD operations.