
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
- 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.
- 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.
- 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.
- 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 →
api_indexFull index of the HookPulse API.
healthLiveness.
create_guestCreates 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_endpointsLists the guest's/session's endpoints.
create_endpointCreate 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_siteMonitor 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_siteCheck 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_sitesThe state of every site you monitor (up, down, waiting, paused), with the last check.
import_crontabReads 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_endpointStatus 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_endpointRemoves the owner's endpoint.
list_eventsLatest ingest pings.
ping_ingestSimulates the cron: GET on /in/:id. No credential on purpose — the caller is a cron, and the ID is already the secret.
signal_startSays 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_failRecord 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_codeThe 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_keyReturns (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_rotateRotates 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_slugCreate 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_slugSend 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_urlPublic 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_rotateRotates the status feed token; the previous URL stops working.
list_templatesIngest 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…
contactWrite 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/mcpclaude.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.
Cookies
Before we count this visit
Analytics and ad measurement tell us which pages and which of our ads do their job: Google Analytics and Google Ads, the Meta pixel, Yandex Metrica, and one first-party id of our own. Nothing is stored until you answer, and declining changes nothing about the site.