MCP Tools Reference
Complete reference for all 24 tools available in the Hookbase MCP server.
Sources
Tools for managing webhook sources (ingest endpoints).
hookbase_list_sources
List all webhook sources in the organization.
Parameters: None
Returns:
{
"sources": [
{
"id": "src_abc123",
"name": "GitHub Webhooks",
"slug": "github",
"provider": "github",
"isActive": true,
"eventCount": 1234,
"routeCount": 2
}
]
}hookbase_get_source
Get detailed information about a specific source.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
source_id | string | Yes | The source ID |
Returns:
{
"source": {
"id": "src_abc123",
"name": "GitHub Webhooks",
"slug": "github",
"provider": "github",
"description": "Production GitHub webhooks",
"signingSecret": "whsec_xxx",
"rejectInvalidSignatures": true,
"rateLimitPerMinute": 1000,
"isActive": true,
"eventCount": 1234,
"routeCount": 2
}
}hookbase_create_source
Create a new webhook source.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Display name |
slug | string | Yes | URL-safe identifier |
provider | string | No | Provider for signature verification (github, stripe, shopify, etc.) |
description | string | No | Optional description |
reject_invalid_signatures | boolean | No | Reject webhooks with invalid signatures |
rate_limit_per_minute | number | No | Max webhooks per minute |
Example:
Create a source named "Stripe Production" with slug "stripe-prod" and provider "stripe"hookbase_update_source
Update an existing source.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
source_id | string | Yes | The source ID |
name | string | No | New display name |
description | string | No | New description |
is_active | boolean | No | Enable/disable the source |
provider | string | No | Update webhook provider |
reject_invalid_signatures | boolean | No | Reject invalid signatures |
rate_limit_per_minute | number | No | Max webhooks per minute |
Destinations
Tools for managing webhook destinations (delivery targets).
hookbase_list_destinations
List all destinations in the organization.
Parameters: None
Returns:
{
"destinations": [
{
"id": "dst_abc123",
"name": "Slack Notifications",
"url": "https://hooks.slack.com/...",
"method": "POST",
"authType": "none",
"isActive": true,
"deliveryCount": 5678,
"successCount": 5650,
"failureCount": 28
}
]
}hookbase_get_destination
Get detailed information about a destination.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
destination_id | string | Yes | The destination ID |
hookbase_create_destination
Create a new destination.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Display name |
url | string | Yes | URL to forward webhooks to |
method | string | No | HTTP method (default: POST) |
headers | object | No | Custom headers |
auth_type | string | No | Auth type: none, basic, bearer, api_key, custom_header |
auth_config | object | No | Auth configuration |
timeout_ms | number | No | Request timeout (default: 30000) |
rate_limit_per_minute | number | No | Max requests per minute |
Example:
Create a destination named "Build Server" pointing to https://build.example.com/webhook with bearer token authhookbase_test_destination
Test connectivity to a destination.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
destination_id | string | Yes | The destination ID |
Returns:
{
"success": true,
"statusCode": 200,
"responseTime": 145
}Routes
Tools for managing routes (source → destination connections).
hookbase_list_routes
List all routes in the organization.
Parameters: None
Returns:
{
"routes": [
{
"id": "rte_abc123",
"name": "GitHub to Slack",
"sourceId": "src_abc",
"sourceName": "GitHub",
"destinationId": "dst_xyz",
"destinationName": "Slack",
"isActive": true,
"deliveryCount": 1234
}
]
}hookbase_get_route
Get detailed information about a route.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
route_id | string | Yes | The route ID |
hookbase_create_route
Create a new route connecting a source to a destination.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Display name |
source_id | string | Yes | Source ID |
destination_id | string | Yes | Destination ID |
filter_id | string | No | Filter ID to apply |
filter_conditions | object | No | Inline filter conditions |
transform_id | string | No | Transform ID to apply |
priority | number | No | Route priority (lower = higher) |
is_active | boolean | No | Whether route is active |
Example:
Create a route from source src_abc to destination dst_xyz named "GitHub to CI"Events
Tools for querying webhook events.
hookbase_list_events
Query events with optional filters.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
limit | number | No | Max events to return (default: 20) |
source_id | string | No | Filter by source |
status | string | No | Filter by status: delivered, failed, pending, partial, no_routes |
from_date | string | No | Filter events after this date (ISO 8601) |
to_date | string | No | Filter events before this date |
search | string | No | Search in payload |
Example:
Show me failed events from the last hourhookbase_get_event
Get event details including payload and deliveries.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
event_id | string | Yes | The event ID |
Returns:
{
"event": {
"id": "evt_abc123",
"sourceName": "GitHub",
"eventType": "push",
"payload": { "...": "..." },
"status": "delivered",
"deliveries": [
{
"id": "del_xyz",
"destinationName": "Slack",
"status": "success",
"responseStatus": 200,
"responseTimeMs": 145
}
]
}
}hookbase_get_event_debug
Generate a cURL command to replay an event.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
event_id | string | Yes | The event ID |
Returns:
{
"eventId": "evt_abc123",
"sourceName": "GitHub",
"curl": "curl -X POST 'https://api.hookbase.app/ingest/...' -H 'Content-Type: application/json' -d '{...}'"
}Deliveries
Tools for managing webhook deliveries.
hookbase_list_deliveries
Query deliveries with optional filters.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
limit | number | No | Max deliveries to return |
event_id | string | No | Filter by event |
destination_id | string | No | Filter by destination |
status | string | No | Filter by status: pending, success, failed, retrying |
hookbase_get_delivery
Get delivery details including response body.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
delivery_id | string | Yes | The delivery ID |
hookbase_replay_delivery
Retry a failed delivery.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
delivery_id | string | Yes | The delivery ID |
Example:
Replay delivery del_abc123hookbase_bulk_replay
Retry multiple failed deliveries at once.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
delivery_ids | string[] | Yes | Array of delivery IDs (max 100) |
Example:
Replay these failed deliveries: del_abc, del_def, del_ghiTunnels
Tools for managing localhost tunnels.
hookbase_list_tunnels
List all tunnels in the organization.
Parameters: None
hookbase_create_tunnel
Create a new localhost tunnel.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Display name |
subdomain | string | No | Custom subdomain (auto-generated if not provided) |
Returns:
{
"tunnel": {
"id": "tun_abc123",
"name": "Dev Tunnel",
"subdomain": "my-dev"
},
"tunnelUrl": "https://api.hookbase.app/t/my-dev",
"instructions": "Use the CLI to connect: hookbase tunnel connect tun_abc123"
}hookbase_get_tunnel_status
Check the connection status of a tunnel.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
tunnel_id | string | Yes | The tunnel ID |
Cron
Tools for managing scheduled jobs.
hookbase_list_cron_jobs
List all cron jobs in the organization.
Parameters: None
Returns:
{
"cronJobs": [
{
"id": "cron_abc123",
"name": "Daily Sync",
"cronExpression": "0 0 * * *",
"timezone": "UTC",
"url": "https://api.example.com/sync",
"isActive": true,
"lastRunAt": "2024-01-15T00:00:00Z",
"nextRunAt": "2024-01-16T00:00:00Z"
}
]
}hookbase_trigger_cron
Manually trigger a cron job.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
job_id | string | Yes | The cron job ID |
Example:
Trigger the daily sync job nowAnalytics
Tools for viewing metrics and performance data.
hookbase_get_analytics
Get dashboard analytics and metrics.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
range | string | No | Time range: 1h, 24h, 7d, 30d (default: 24h) |
Returns:
{
"range": "24h",
"overview": {
"totalEvents": 12847,
"totalDeliveries": 25691,
"successfulDeliveries": 25487,
"failedDeliveries": 204,
"successRate": "99.2%",
"avgResponseTime": "234ms"
},
"topSources": [
{ "name": "GitHub", "eventCount": 8234 }
],
"topDestinations": [
{ "name": "Slack", "deliveryCount": 15234, "successRate": "99.8%" }
]
}Example:
What's my webhook performance for the last 7 days?