protogrid

Search / dev.workers.bhazarstudio.datoka-hooks-test/datoka-hooks

Datoka Hooks

R0· no sign-in

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

v0.7.6 · active · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality79good
Trust83of 100
Uptime, 30 days100%
Latency p50439 ms

Connect

8 clients · secrets stay placeholders
{
  "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

Quality 79 / 100good

protocol88 · weight 25
  • pass
    protocol.modernsupports 2026-07-28 (server/discover)
  • pass
    protocol.statelessanswers without a session
  • pass
    protocol.transportstreamable HTTP
  • warn
    protocol.list_ttltools/list declares ttlMs 0, so clients re-fetch it on every use
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene100 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations9 of 9 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • pass
    tools.token_costabout 2,504 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability25 · weight 15
  • warn
    stability.changes11 tool changes in 30 days
  • fail
    stability.rug_pull8 tools kept their name but changed most of their description in 30 days; review before trusting them
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

9 tools, about 2,504 tokens to load them all · tool set b6c39dca2a77 · tools last changed 2026-10-07 · checked 2026-10-20 17:02 UTC

Tool changes

  • verify_hook_receiptchangedtitle, description, input schemameaning changed
    before

    Verify a relay receipt within your authenticated hook.

    after · 18% of words in common

    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 changed
    before

    Read delivery state and signed observations.

    after · 14% of words in common

    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 changed
    before

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

    after · 14% of words in common

    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 changed
    before

    Permanently revoke client access. Previously accepted deliveries finish.

    after · 17% of words in common

    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 changed
    before

    Read verification/revocation status and challenge.

    after · 21% of words in common

    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 changed
    before

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

    after · 12% of words in common

    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 changed
    before

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

    after · 23% of words in common

    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 schema
  • get_hook_creditschangedtitle, description, input schemameaning changed
    before

    Read your extra admission credit balance.

    after · 6% of words in common

    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_creditsadded

    Request 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.

Trust 83 / 100

no-repository
provenance55
liveness100
freshness100
hygiene80

+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.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://datoka-hooks.bhazarstudio.workers.dev/mcp streamable-httpnoneyes100%439 ms2026-07-282026-10-20

Tools (9)

accept_hook_eventEnqueue 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-onlyRead 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-onlyRead 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-onlyRead 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_creditsRequest an x402 quote without payment, or buy credits with an explicitly authorized signed payment. Reuse purchaseId and the same payment after any timeout.
register_destinationRegister 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_destinationdestructivePermanently 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_destinationFetch 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-onlyCheck 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.

Similar MCP servers

Official server.json
{
  "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."
}