Skip to content

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:

json
{
  "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:

NameTypeRequiredDescription
source_idstringYesThe source ID

Returns:

json
{
  "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:

NameTypeRequiredDescription
namestringYesDisplay name
slugstringYesURL-safe identifier
providerstringNoProvider for signature verification (github, stripe, shopify, etc.)
descriptionstringNoOptional description
reject_invalid_signaturesbooleanNoReject webhooks with invalid signatures
rate_limit_per_minutenumberNoMax 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:

NameTypeRequiredDescription
source_idstringYesThe source ID
namestringNoNew display name
descriptionstringNoNew description
is_activebooleanNoEnable/disable the source
providerstringNoUpdate webhook provider
reject_invalid_signaturesbooleanNoReject invalid signatures
rate_limit_per_minutenumberNoMax webhooks per minute

Destinations

Tools for managing webhook destinations (delivery targets).

hookbase_list_destinations

List all destinations in the organization.

Parameters: None

Returns:

json
{
  "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:

NameTypeRequiredDescription
destination_idstringYesThe destination ID

hookbase_create_destination

Create a new destination.

Parameters:

NameTypeRequiredDescription
namestringYesDisplay name
urlstringYesURL to forward webhooks to
methodstringNoHTTP method (default: POST)
headersobjectNoCustom headers
auth_typestringNoAuth type: none, basic, bearer, api_key, custom_header
auth_configobjectNoAuth configuration
timeout_msnumberNoRequest timeout (default: 30000)
rate_limit_per_minutenumberNoMax requests per minute

Example:

Create a destination named "Build Server" pointing to https://build.example.com/webhook with bearer token auth

hookbase_test_destination

Test connectivity to a destination.

Parameters:

NameTypeRequiredDescription
destination_idstringYesThe destination ID

Returns:

json
{
  "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:

json
{
  "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:

NameTypeRequiredDescription
route_idstringYesThe route ID

hookbase_create_route

Create a new route connecting a source to a destination.

Parameters:

NameTypeRequiredDescription
namestringYesDisplay name
source_idstringYesSource ID
destination_idstringYesDestination ID
filter_idstringNoFilter ID to apply
filter_conditionsobjectNoInline filter conditions
transform_idstringNoTransform ID to apply
prioritynumberNoRoute priority (lower = higher)
is_activebooleanNoWhether 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:

NameTypeRequiredDescription
limitnumberNoMax events to return (default: 20)
source_idstringNoFilter by source
statusstringNoFilter by status: delivered, failed, pending, partial, no_routes
from_datestringNoFilter events after this date (ISO 8601)
to_datestringNoFilter events before this date
searchstringNoSearch in payload

Example:

Show me failed events from the last hour

hookbase_get_event

Get event details including payload and deliveries.

Parameters:

NameTypeRequiredDescription
event_idstringYesThe event ID

Returns:

json
{
  "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:

NameTypeRequiredDescription
event_idstringYesThe event ID

Returns:

json
{
  "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:

NameTypeRequiredDescription
limitnumberNoMax deliveries to return
event_idstringNoFilter by event
destination_idstringNoFilter by destination
statusstringNoFilter by status: pending, success, failed, retrying

hookbase_get_delivery

Get delivery details including response body.

Parameters:

NameTypeRequiredDescription
delivery_idstringYesThe delivery ID

hookbase_replay_delivery

Retry a failed delivery.

Parameters:

NameTypeRequiredDescription
delivery_idstringYesThe delivery ID

Example:

Replay delivery del_abc123

hookbase_bulk_replay

Retry multiple failed deliveries at once.

Parameters:

NameTypeRequiredDescription
delivery_idsstring[]YesArray of delivery IDs (max 100)

Example:

Replay these failed deliveries: del_abc, del_def, del_ghi

Tunnels

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:

NameTypeRequiredDescription
namestringYesDisplay name
subdomainstringNoCustom subdomain (auto-generated if not provided)

Returns:

json
{
  "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:

NameTypeRequiredDescription
tunnel_idstringYesThe tunnel ID

Cron

Tools for managing scheduled jobs.

hookbase_list_cron_jobs

List all cron jobs in the organization.

Parameters: None

Returns:

json
{
  "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:

NameTypeRequiredDescription
job_idstringYesThe cron job ID

Example:

Trigger the daily sync job now

Analytics

Tools for viewing metrics and performance data.

hookbase_get_analytics

Get dashboard analytics and metrics.

Parameters:

NameTypeRequiredDescription
rangestringNoTime range: 1h, 24h, 7d, 30d (default: 24h)

Returns:

json
{
  "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?

Released under the MIT License.