Search / dev.workers.bhazarstudio.datoka-hooks-test/datoka-hooks
Datoka Hooks
R0· no sign-inPublic webhook relay with signed observations, retries and verified receivers. Self-service.
v0.7.6 · active · website · descriptor JSON · versions
Search / dev.workers.bhazarstudio.datoka-hooks-test/datoka-hooks
R0· no sign-inPublic webhook relay with signed observations, retries and verified receivers. Self-service.
v0.7.6 · active · website · descriptor JSON · versions
{
"mcpServers": {
"datoka-hooks": {
"type": "http",
"url": "https://datoka-hooks.bhazarstudio.workers.dev/mcp"
}
}
}claude mcp add --transport http datoka-hooks https://datoka-hooks.bhazarstudio.workers.dev/mcp[mcp_servers.datoka-hooks]
url = "https://datoka-hooks.bhazarstudio.workers.dev/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"datoka-hooks": {
"type": "remote",
"url": "https://datoka-hooks.bhazarstudio.workers.dev/mcp",
"enabled": true
}
}
}{
"mcpServers": {
"datoka-hooks": {
"type": "http",
"url": "https://datoka-hooks.bhazarstudio.workers.dev/mcp"
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=datoka-hooks&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vZGF0b2thLWhvb2tzLmJoYXphcnN0dWRpby53b3JrZXJzLmRldi9tY3AifQ%3D%3D"
}{
"servers": {
"datoka-hooks": {
"type": "http",
"url": "https://datoka-hooks.bhazarstudio.workers.dev/mcp"
}
}
}{
"mcpServers": {
"datoka-hooks": {
"httpUrl": "https://datoka-hooks.bhazarstudio.workers.dev/mcp"
}
}
}extensions:
"datoka-hooks":
enabled: true
name: "datoka-hooks"
type: streamable_http
uri: "https://datoka-hooks.bhazarstudio.workers.dev/mcp"
timeout: 300
protocol.modernsupports 2026-07-28 (server/discover)protocol.statelessanswers without a sessionprotocol.transportstreamable HTTPprotocol.list_ttltools/list declares ttlMs 0, so clients re-fetch it on every useauth.prm, auth.as_metadata, auth.cimdno remote uses OAuthauth.secret_in_urlno templated URLtools.descriptionsevery tool has a descriptiontools.description_lengthdescriptions are concisetools.schemasevery tool has an object input schematools.annotations9 of 9 tools declare readOnlyHint or destructiveHinttools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHinttools.token_costabout 2,504 tokens to load every tooltools.api_dumptools are not a one-to-one API dumpstability.changes11 tool changes in 30 daysstability.rug_pull8 tools kept their name but changed most of their description in 30 days; review before trusting themdeps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI packageverify_hook_receiptchangedtitle, description, input schemameaning changedVerify a relay receipt within your authenticated hook.
Check an unchanged event and signed receipt returned by get_hook_delivery within the authenticated hook. Requires the delivery token; does not send an event. A valid signature attests relay observations, not business truth or exactly-once processing.
get_hook_deliverychangedtitle, description, input schemameaning changedRead delivery state and signed observations.
Read one accepted event by its returned deliveryId and hook delivery token. Poll after accept_hook_event to distinguish queued, retried and completed delivery. Signed observations attest relay attempts, not successful business processing by the receiver. No new delivery or payment.
accept_hook_eventchangedtitle, description, input schemameaning changedEnqueue an event for your verified receiver, idempotent by eventId and exact bytes.
Enqueue up to 65536 payload bytes for a previously verified receiver using its delivery token. Returns a deliveryId, not proof of delivery. Reuse eventId and exact bytes on retries, then poll get_hook_delivery. The free allowance is 100 events/day per verified receiver; extra admissions consume purchased credits. No arbitrary destination can be supplied here.
revoke_destinationchangedtitle, description, input schemameaning changedPermanently revoke client access. Previously accepted deliveries finish.
Permanently revoke this hook with its management token after explicit owner approval. New submissions are rejected; previously accepted deliveries finish. This does not cancel queued events and cannot be undone. Use get_destination_status first if you only need to inspect access.
get_destination_statuschangedtitle, description, input schemameaning changedRead verification/revocation status and challenge.
Read the existing hook ownership challenge and verification or revocation status using its management token. No activation or delivery. Use after registration or an interrupted verification; use get_hook_delivery for one accepted event.
verify_destinationchangedtitle, description, input schemameaning changedVerify the well-known challenge file and activate your destination.
Fetch the ownership challenge from the previously registered receiver and activate it when valid. First publish the exact challenge returned by register_destination. Requires the management token; does not deliver an event. Use get_destination_status to inspect progress without activation.
register_destinationchangedtitle, description, input schemameaning changedCreate an isolated access. Keep recoveryKey secret and reuse it only with the same target on retries.
Register an HTTPS receiver you control. Returns hookId, private credentials and the ownership challenge; delivery remains inactive. Publish the exact challenge on your origin, then call verify_destination. Keep recoveryKey secret and reuse it with the identical target after interruption; do not register again with a new key.
purchase_hook_creditschangedtitle, input schemaget_hook_creditschangedtitle, description, input schemameaning changedRead your extra admission credit balance.
Read remaining purchased admission credits for an existing hook using its management token. Free and read-only; does not purchase credits. Use purchase_hook_credits to request a quote. The daily free allowance remains separate.
purchase_hook_creditsaddedRequest an x402 quote without payment, or buy credits with an explicitly authorized signed payment. Reuse purchaseId and the same payment after any timeout.
Showing the latest 10. Full history: list_changes · trend: quality JSON.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+dns-namespace +website +reachable +uptime-100% +updated-16d-ago -no-repository
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://datoka-hooks.bhazarstudio.workers.dev/mcp streamable-http | none | yes | 100% | 439 ms | 2026-07-28 | 2026-10-20 |
accept_hook_event | Enqueue up to 65536 payload bytes for a previously verified receiver using its delivery token. Returns a deliveryId, not proof of delivery. Reuse eventId and exact bytes on retries, then poll get_hook_delivery. The free allowance is 100 events/day per verified receiver; extra admissions consume purchased credits. No arbitrary destination can be supplied here. |
get_destination_statusread-only | Read the existing hook ownership challenge and verification or revocation status using its management token. No activation or delivery. Use after registration or an interrupted verification; use get_hook_delivery for one accepted event. |
get_hook_creditsread-only | Read remaining purchased admission credits for an existing hook using its management token. Free and read-only; does not purchase credits. Use purchase_hook_credits to request a quote. The daily free allowance remains separate. |
get_hook_deliveryread-only | Read one accepted event by its returned deliveryId and hook delivery token. Poll after accept_hook_event to distinguish queued, retried and completed delivery. Signed observations attest relay attempts, not successful business processing by the receiver. No new delivery or payment. |
purchase_hook_credits | Request an x402 quote without payment, or buy credits with an explicitly authorized signed payment. Reuse purchaseId and the same payment after any timeout. |
register_destination | Register an HTTPS receiver you control. Returns hookId, private credentials and the ownership challenge; delivery remains inactive. Publish the exact challenge on your origin, then call verify_destination. Keep recoveryKey secret and reuse it with the identical target after interruption; do not register again with a new key. |
revoke_destinationdestructive | Permanently revoke this hook with its management token after explicit owner approval. New submissions are rejected; previously accepted deliveries finish. This does not cancel queued events and cannot be undone. Use get_destination_status first if you only need to inspect access. |
verify_destination | Fetch the ownership challenge from the previously registered receiver and activate it when valid. First publish the exact challenge returned by register_destination. Requires the management token; does not deliver an event. Use get_destination_status to inspect progress without activation. |
verify_hook_receiptread-only | Check an unchanged event and signed receipt returned by get_hook_delivery within the authenticated hook. Requires the delivery token; does not send an event. A valid signature attests relay observations, not business truth or exactly-once processing. |
Schemas: list_tools.
{
"name": "dev.workers.bhazarstudio.datoka-hooks-test/datoka-hooks",
"title": "Datoka Hooks",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"remotes": [
{
"url": "https://datoka-hooks.bhazarstudio.workers.dev/mcp",
"type": "streamable-http"
}
],
"version": "0.7.6",
"websiteUrl": "https://datoka-hooks.bhazarstudio.workers.dev",
"description": "Public webhook relay with signed observations, retries and verified receivers. Self-service."
}