New — webhooks your AI agents can wait on. Hook & Sense opening to early access.
@hooksense/mcp

The webhook & callback layer, as an MCP server.

Your agent kicks off an async job, hands it a HookSense callback URL, and calls wait_for_callback — blocking until the webhook lands, signature-verified and decrypted. No polling loops, no burned context, no missed events.

Install

Add it to your MCP client config, drop in a token, and restart. That's it.

claude_desktop_config.json · ~/.cursor/mcp.json
{
  "mcpServers": {
    "hooksense": {
      "command": "npx",
      "args": ["-y", "@hooksense/mcp"],
      "env": { "HOOKSENSE_TOKEN": "hsk_..." }
    }
  }
}
Claude Code — one line
claude mcp add hooksense -e HOOKSENSE_TOKEN=hsk_... -- npx -y @hooksense/mcp

Create your HOOKSENSE_TOKEN in Account → API tokens (free, no card). Works with Claude Desktop, Claude Code, Cursor, Continue, LangGraph, CrewAI, any MCP SDK.

Try it in 60 seconds

Installed? Run the whole loop right now — your agent creates the URL, you play the async job.

  1. 1Paste this prompt into your agent:

    prompt
    Create a callback endpoint, tell me its URL, then wait for the next callback (60 second timeout — call wait_for_callback again if it comes back pending) and show me what arrives.
  2. 2The agent replies with its URL and blocks on wait_for_callback. Fire the “job result” yourself, swapping in the agent's slug:

    terminal
    curl -X POST https://hooksense.com/w/YOUR-SLUG \
      -H "Content-Type: application/json" \
      -d '{"event":"job.finished","status":"ok"}'
  3. 3The agent wakes instantly with the payload — verified, decrypted, no polling. That's the loop your production jobs will use.

Await the result — never poll for it.

The whole point. One call blocks until the callback arrives, then resumes with the payload.

create_callback_endpoint()
→ hooksense.com/w/stripe-prod
wait_for_callback("stripe-prod")
…blocks — no polling, no burned context
→ checkout.session.completed · verified · decrypted

Six tools

The full surface your agent gets over MCP.

create_callback_endpoint

Open a callback URL for the agent to hand to a job.

wait_for_callback

Block until the result lands — verified, decrypted, no polling.

get_callback_payload

Read the decrypted body + headers of any callback.

verify_signature

Timing-safe HMAC check before the agent acts on a payload.

list_callbacks

Browse what's arrived at an endpoint, newest first.

replay_callback

Re-drive a stored payload to any URL.

Questions

How does an AI agent receive an async webhook callback?

The agent creates a HookSense endpoint over MCP, hands that URL to the long-running job as its callback, then calls wait_for_callback. HookSense blocks until the webhook arrives, verifies its signature, decrypts the body, and returns it to the agent — so the agent gets the result the moment it lands instead of polling or holding context open.

What is wait_for_callback?

An MCP tool that blocks until the next webhook hits your endpoint, then returns the request (signature-verified and decrypted). Pass a timeout to control how long to wait, and an `after` cursor so a callback that arrived between calls is returned immediately rather than missed. It's the core of HookSense's agent-native model: await results, don't poll for them.

How is this different from polling for a result?

Polling burns the agent's context window and budget on repeated checks and still adds latency. With wait_for_callback the agent makes one call and is woken the instant the webhook arrives — typically sub-50ms after it lands — with the payload already verified and decrypted.

Which agents and MCP clients does it work with?

Any MCP-compatible client — Claude Desktop, Claude Code, Cursor, Continue, and custom agents built on LangGraph, CrewAI, or the MCP SDK. Add the HookSense MCP server (npx @hooksense/mcp) to your config with a token and the create_callback_endpoint and wait_for_callback tools are available to the agent.

Are the callbacks signature-verified?

Yes. Drop in the provider's signing secret and HookSense verifies the HMAC with a timing-safe comparison — Stripe, GitHub, Shopify, and custom schemes — so your agent only acts on authentic, untampered callbacks. Bodies are also encrypted at rest (AES-256-GCM).

Is the MCP server free to use?

Yes — install it and create a free API token, no card required. The free Catch plan covers real agent callback flows end to end; paid plans raise the limits and add reliability features (monitoring, auto-retry, longer retention).

More in the MCP docs, or see the provider guides.

Wire it into your agent

Grab a free token, paste the config, and your agent can await callbacks in one call.