Datoka Hooks

Public webhook relay with signed observations, retries and verified receivers. Self-service beta.

Should I use this

Quality & Safety

A
Description quality
97%
Schema completeness
80%
Naming quality
91%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,119Tokens (tool definitions)
~1.1 KBTypical response size
Moderate attention impact (0.87% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "datoka-hooks": {
      "url": "https://datoka-hooks-test.bhazarstudio.workers.dev/mcp"
    }
  }
}

Remote endpoints

https://datoka-hooks-test.bhazarstudio.workers.dev/mcpstreamable-http

What it can do

Tool inventory

Tools (7)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟡register_destination(target, recoveryKey)

Create an isolated access. Keep recoveryKey secret and reuse it only with the same target on retries.

Input Schema

{
  "type": "object",
  "properties": {
    "target": {
      "type": "string",
      "maxLength": 2048,
      "format": "uri"
    },
    "recoveryKey": {
      "type": "string",
      "pattern": "^[a-f0-9]{64}$"
    }
  },
  "required": [
    "target",
    "recoveryKey"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
⚪verify_destination(hookId, managementToken)

Verify the well-known challenge file and activate your destination.

Input Schema

{
  "type": "object",
  "properties": {
    "hookId": {
      "type": "string",
      "pattern": "^pub-[a-f0-9]{32}$"
    },
    "managementToken": {
      "type": "string",
      "pattern": "^[a-f0-9]{64}$"
    }
  },
  "required": [
    "hookId",
    "managementToken"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢get_destination_status(hookId, managementToken)

Read verification/revocation status and challenge.

Input Schema

{
  "type": "object",
  "properties": {
    "hookId": {
      "type": "string",
      "pattern": "^pub-[a-f0-9]{32}$"
    },
    "managementToken": {
      "type": "string",
      "pattern": "^[a-f0-9]{64}$"
    }
  },
  "required": [
    "hookId",
    "managementToken"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🔴revoke_destination(hookId, managementToken)

Permanently revoke client access. Previously accepted deliveries finish.

Input Schema

{
  "type": "object",
  "properties": {
    "hookId": {
      "type": "string",
      "pattern": "^pub-[a-f0-9]{32}$"
    },
    "managementToken": {
      "type": "string",
      "pattern": "^[a-f0-9]{64}$"
    }
  },
  "required": [
    "hookId",
    "managementToken"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
⚪accept_hook_event(hookId, token, eventId, contentType, bodyBase64)

Enqueue an event for your verified receiver, idempotent by eventId and exact bytes.

Input Schema

{
  "type": "object",
  "properties": {
    "hookId": {
      "type": "string",
      "pattern": "^pub-[a-f0-9]{32}$"
    },
    "token": {
      "type": "string",
      "pattern": "^[a-f0-9]{64}$"
    },
    "eventId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
    },
    "contentType": {
      "type": "string",
      "enum": [
        "application/json",
        "text/plain",
        "application/octet-stream"
      ]
    },
    "bodyBase64": {
      "type": "string",
      "maxLength": 87384
    }
  },
  "required": [
    "hookId",
    "token",
    "eventId",
    "contentType",
    "bodyBase64"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢get_hook_delivery(hookId, token, deliveryId)

Read delivery state and signed observations.

Input Schema

{
  "type": "object",
  "properties": {
    "hookId": {
      "type": "string",
      "pattern": "^pub-[a-f0-9]{32}$"
    },
    "token": {
      "type": "string",
      "pattern": "^[a-f0-9]{64}$"
    },
    "deliveryId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    }
  },
  "required": [
    "hookId",
    "token",
    "deliveryId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢verify_hook_receipt(hookId, token, event, receipt)

Verify a relay receipt within your authenticated hook.

Input Schema

{
  "type": "object",
  "properties": {
    "hookId": {
      "type": "string",
      "pattern": "^pub-[a-f0-9]{32}$"
    },
    "token": {
      "type": "string",
      "pattern": "^[a-f0-9]{64}$"
    },
    "event": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "receipt": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    }
  },
  "required": [
    "hookId",
    "token",
    "event",
    "receipt"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded7 tools