Skip to content
HookPulse logo

HookPulse MCP server

Which MCP servers are HookPulse's own, from the official registry and from asking its own domain, whether they answer, and what they offer. A program checked each of these, nobody copied them from a product page.

read 2026-10-26

← Back to HookPulse

Whose server it is
  • Registry namenet.hookpulse/hookpulseverified in the MCP registry

The registry name sits under hookpulse.net. The registry only lets a publisher use that namespace after proving control of the domain through DNS or HTTP.

When we asked itchecked 2026-10-26
  • Stateanswerschecked 2026-10-26
  • Tools24
  • Server calls itselfHookPulse
  • Server version6458eaa1
  • Protocol version2025-06-18

On 2026-10-26 the server answered initialize and tools/list without a sign-in. First answer in 206 ms.

Should an agent connect itNot proven either way yet
  • Whether its tools do the product's job has not been judged yet.
  • Checked on 1 of the 7 days it takes to judge reliability.

Once connected

  • create_guest, create_endpoint, create_site, delete_endpoint change data without a sign-in: anyone with the address can call them.
  • Parameters are untyped or undescribed in 14 of 24 tools: check arguments before calling.

Said by rules from the measurements above. The likely first call is a model's pick from the tool list; read its description before relying on it.

Measured dailydaily checks: 1, the first on 2026-10-26
  • INITE MCP scoreafter a weeka score needs 7 daily checks: 1 so far
  • Answeredmeasuring1 of the 7 daily checks it takes to print a share
  • Median first answer575 ms
  • Space in an agent's context≈ 4,219 tokensthe definitions of all its tools (24), which an agent carries on every turn
  • Tool definitionsA · 90 of 100
  • Typed results0 of 24 toolsdeclared outputSchema: results come typed, read once
  • No description an agent can choose by: 1 of 24
  • Parameters without a description: in 14 of 24

What an agent can do with it

  • can do · get alerts when backup jobs stop checking in
  • not sure · monitor website uptime and certificate expiry dates
  • not sure · watch scheduled GitHub Actions workflows without writing YAML

Each of the product's use cases, put to Jev against this server's tool list: can an agent do it with these tools?

Worth a look

  • Tools that change data, on a server that answers without a sign-in: create_guest, create_endpoint, create_site, delete_endpoint

A program checks the server once a day: initialize and tools/list, no model. Tokens are the definitions' length at about four characters a token. The grade averages six checks of every tool's name, description, schema and annotations; it says how well the tools are described, not whether they work. The score weighs what was measured and nothing else: answering (25%), doing the product's job (25%), definitions (20%), context (10%), use (10%) and how readily a client connects (10%). A part that was not measured is left out, and a hidden instruction caps the score at 40. The state of vendors' MCP servers: method and numbers →

Tools it offers24 tools · read 2026-10-26
  • api_index

    Full index of the HookPulse API.

  • health

    Liveness.

  • create_guest

    Creates a guest token hp_… Keep the token: without it there is no way back to the monitors, unless you have already tied them to an e-mail.

  • list_endpoints

    Lists the guest's/session's endpoints.

  • create_endpoint

    Create a monitor for a routine. Use cron, tz and grace_sec for a schedule, or interval_sec for a fixed check-in interval. Set max_duration_sec to detect an open run that exceeds its time limit. With `check` the monitor is a site…

  • create_site

    Monitor a website: HookPulse calls check.url every interval_sec (default 300) and alerts when it goes down and when it is back. With `check` the monitor is a site: HookPulse calls `check.url` every `interval_sec` (default 300) and alerts…

  • check_site

    Check a site monitor now. One call every 10 seconds per destination host. One call every 10 seconds per destination host, for everyone: the button cannot hammer a site. The first state of a new site comes from here, without an alert — you…

  • list_sites

    The state of every site you monitor (up, down, waiting, paused), with the last check.

  • import_crontab

    Reads a crontab and proposes one monitor per scheduled line. Without apply=1 nothing is written; the proposal says what was ignored and why. Passwords in the command are redacted. The body is the crontab itself, as `text/plain`. Without…

  • get_endpoint

    Status of one endpoint (use the endpoint token if you have it). The monitor token only reads: it lets you put the state on a third-party dashboard without handing over the owner's credential. With a schedule it is here that…

  • delete_endpoint

    Removes the owner's endpoint.

  • list_events

    Latest ingest pings.

  • ping_ingest

    Simulates the cron: GET on /in/:id. No credential on purpose — the caller is a cron, and the ID is already the secret.

  • signal_start

    Says the run STARTED. Does not clear the dead-man clock: a routine that starts and hangs still becomes a miss. The next success records the duration. `start` is not proof of life: it does not move `last_event_at` and does not clear the…

  • signal_fail

    Record a failed run. The next five-minute check sends the alert with reason fail. The monitor's alert_repeat_sec controls repeated alerts; the default is 24 hours. Failing is not proof of life either: the clock keeps running. The ingest…

  • signal_exit_code

    The shell exit status: 0 behaves like a ping, 1-255 record the code as a failure. `curl -fsS $ORIGIN/in/ID/$?` at the end of a script is the whole integration. `0` behaves exactly like a plain ping; 1 to 255 record the code and leave the…

  • ingest_key

    Returns (minting the first time) the key for /in/<key>/<slug>, where a ping creates its own monitor inside the free tier. Instruments a whole fleet with no setup call per job. One key per owner. The key survives signing in: the crontab…

  • ingest_key_rotate

    Rotates the ingest key; the previous one stops creating monitors. Existing ones keep working. Monitors already created keep working — rotating only revokes the power to create new ones.

  • ping_slug

    Create a monitor on its first check-in. The same slug uses the same monitor. A rejected creation writes no monitor or event. The slug becomes the monitor name and its identity: the same slug always means the same monitor, so a retry never…

  • signal_slug

    Send start, fail or an exit code by name, with the ingest key; the first signal of a new name creates its monitor. The same signals as `/in/:id/start`, `/in/:id/fail` and `/in/:id/:exit_code`, for a fleet that only knows the ingest key…

  • status_feed_url

    Public URL (JSON and RSS) with the status of all the owner's endpoints. The feed token only reads status: it does not create, change or delete. Whoever has the link sees the dashboard — treat it as a secret.

  • status_feed_rotate

    Rotates the status feed token; the previous URL stops working.

  • list_templates

    Ingest snippets and the JSON HookPulse POSTs on a miss. It exists so nobody guesses the alert format: `miss_json` and `recovery_json` here are the same bodies that arrive at your `alert_url`. Slack and Discord receive only the field they…

  • contact

    Write to the people behind the product: a question, or a sponsorship/partnership/advertising proposal. One route for a question and for a sponsorship, partnership or ad proposal (`tipo`, with the placements of `GET /api/partners`). One…

How to connect

Add the server to your MCP client config. Claude Desktop, Cursor and most other clients read this shape:

{
  "mcpServers": {
    "hookpulse": {
      "type": "http",
      "url": "https://hookpulse.net/mcp"
    }
  }
}

Add it

Claude Code, in a terminal

claude mcp add --transport http hookpulse https://hookpulse.net/mcp

Add to CursorAdd to VS Code

claude.ai, ChatGPT and other clients: add https://hookpulse.net/mcp as a custom connector in the settings.

OpenAPI spec

73 paths, read 2026-10-26. Open the spec ↗

Each line is something a program found when it went looking: the registry entry, the server's own answer, a spec that parses. A missing line means we did not find it, not that it does not exist.