hook0-mcp

Crates.iohook0-mcp
lib.rshook0-mcp
version1.0.0
created_at2026-01-08 19:41:19.782731+00
updated_at2026-01-08 19:41:19.782731+00
descriptionMCP Server for Hook0 Open-Source Webhooks as a Service
homepagehttps://www.hook0.com/
repositoryhttps://github.com/hook0/hook0
max_upload_size
id2030944
size144,115
Francois-Guillaume Ribreau (FGRibreau)

documentation

README

Hook0 MCP Server

Connect Claude to your webhook infrastructure


Hook0 MCP Integration

License Rust MCP


What is this?

A Model Context Protocol (MCP) server that lets AI assistants like Claude interact with your Hook0 webhook infrastructure. Query events, create subscriptions, debug deliveries - all through natural conversation.

Features

  • List & inspect - Browse organizations, applications, event types, and delivery history
  • Send events - Ingest webhook events directly via Claude
  • Manage subscriptions - Create, enable, disable webhook endpoints
  • Retry deliveries - Retry failed webhook attempts
  • Guided workflows - Step-by-step prompts for common tasks
  • Read-only mode - Safe observability access without write permissions

Quick Start

1. Build the server

cd clients/mcp
cargo build --release

2. Get your API token

Grab your HOOK0_API_TOKEN from the Hook0 dashboard.

3. Add to Claude Desktop

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "hook0": {
      "command": "/path/to/target/release/hook0-mcp",
      "env": {
        "HOOK0_API_TOKEN": "your-api-token-here"
      }
    }
  }
}

Configuration

Variable Default Description
HOOK0_API_TOKEN required Your Hook0 API token
HOOK0_API_URL https://app.hook0.com Hook0 API base URL
HOOK0_READ_ONLY false Enable read-only mode
MCP_TRANSPORT stdio Transport: stdio or sse
MCP_SSE_PORT 3000 Port for SSE transport

Read-Only Mode

Set HOOK0_READ_ONLY=true for safe observability access. Only list/get operations are exposed - no modifications allowed.


Available Tools

Read Operations

Tool Description
list_organizations List accessible organizations
list_applications List applications
get_application Get application details
list_event_types List event types for an app
list_subscriptions List webhook subscriptions
list_events List events for an app
get_event Get event details
list_request_attempts List delivery attempts

Write Operations

Tool Description
create_application Create a new application
delete_application Delete an application
create_event_type Register a new event type
create_subscription Create a webhook subscription
delete_subscription Delete a subscription
ingest_event Send a new event
retry_delivery Retry a failed delivery

Prompts

Prompt Description
create_webhook_subscription Step-by-step guide to create a subscription
debug_event_delivery Troubleshoot delivery issues
setup_application Initial application setup guide

Resources

URI Description
hook0://organizations List all organizations
hook0://applications List all applications
hook0://applications/{id} Application details
hook0://applications/{id}/events Events for an app
hook0://applications/{id}/subscriptions App subscriptions
hook0://applications/{id}/event_types App event types
hook0://events/{id} Event details
hook0://events/{id}/attempts Delivery attempt history

Example Conversation

User: List my Hook0 applications

Claude: [Uses list_applications tool]
Here are your Hook0 applications:
1. Order Notifications (app_123...)
2. User Events (app_456...)

User: Create a webhook subscription for order events

Claude: I'll help you set up a webhook subscription. Which application
should receive the subscription?

User: Use Order Notifications, send to https://api.example.com/webhooks

Claude: [Uses create_subscription tool]
Created subscription successfully! It will now receive order.* events
at https://api.example.com/webhooks

Development

# Build
cargo build

# Test
cargo test

# Lint
cargo fmt --check
cargo clippy --all-targets --all-features -- -D warnings

License

MIT

Commit count: 1469

cargo fmt