Model Context Protocol server for Rollbar
Hookpulse is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
Dead-man switch for cron and webhooks: ingest URL, miss detection, alerts and a status feed.
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user --transport http hookpulse-mcp https://hookpulse.net/mcp
# 2 — ask your agent for something these tools do
# list_environments, create_environment, get_environment and 41 more
Hookpulse costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. Nothing here runs on your machine and nothing runs on ours: this server answers at its publisher’s own address, and what you install is the connection straight to it.
This is a public server: it answers at its publisher’s own address and this marketplace is not in the path. Claude Code registers it in one command; --scope user makes it available in every project. The transport below is http, as the publisher's own manifest declares it.
claude mcp add --scope user --transport http hookpulse-mcp https://hookpulse.net/mcpReconnect, or start a new session, and the tools appear in the model’s tool list.
One config entry pointing straight at the publisher’s own address — this marketplace is not in the path, and nothing from this listing executes on your machine.
44 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
Saved environments owned by the current account or guest; empty without a session.
No parameter schema on file.
Register a device UUID before discovery and collector selection. Registers one device (maximum 25 per owner), creating a guest if needed. The UUID is the one-hour discovery capability; it is not a telemetry credential. Choose passos.posix or passos.powershell for the TARGET terminal. The checks only display allowlisted system facts and install nothing.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| nome | string | yes | Device name, 1–60 characters. |
| grupo | string | no | Optional group, up to 40 characters. |
| request_id | string | no | Optional UUID v4 generated once per registration. Becomes the device id. Retry with the same id/name/group returns the owned environment instead of duplicating a late write; conflicting input is refus |
Read the detected environment and compatible measurements.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | Device environment UUID v4; the report URL is a one-hour write capability. |
Create or rotate an authenticated collector channel for this device. Ownership is checked before the app asks the input central. The server chooses the channel id and authenticates batches only against a hash of the collector credential. The whole setup this call returns — credential included — is also saved, encrypted with a key only the input central holds and bound to that credential, so the ow
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | Device environment UUID v4; the report URL is a one-hour write capability. |
| collector | string | yes | alloy, telegraf, opentelemetry, ncpa, collectd or snmp. |
| monitoring | array | yes | One or more of system (the whole machine), host (CPU, memory, load and uptime), disk, network, mysql and asterisk. system already includes host, disk and network, and those three together are stored |
List this device's collector channels, their state and their live numbers.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | Device environment UUID v4; the report URL is a one-hour write capability. |
The saved setup of one collector channel: the configuration in use, its files and steps. Returns the setup generated last for this channel — the one whose credential is accepted now — exactly as POST /api/ambientes/:id/inputs returned it, so the files can be copied or installed again without rotating the credential. It carries the credential: only the device owner gets it, one channel per request,
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | Device environment UUID v4; the report URL is a one-hour write capability. |
| collector | string | yes | alloy, telegraf, opentelemetry, ncpa, collectd or snmp. |
The batches this collector sent, newest first — filtered and paginated on the server. Every batch the input central received for this channel, as it arrived: when, the protocol, the result (stored; rejected by the receiver, with the reason; or discarded while the channel was paused, when its data is not kept), the answer given to the collector, the size, and how many series and samples it ca
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | Device environment UUID v4; the report URL is a one-hour write capability. |
| collector | string | yes | alloy, telegraf, opentelemetry, ncpa, collectd or snmp. |
| page | integer | no | Page, from 1 (newest). Beyond the last page answers the last one. |
| size | integer | no | Batches per page: 10, 25, 50 or 100. |
| outcome | string | no | Only batches with this result. |
| since | string | no | Only batches received at or after this instant (ISO 8601). |
| until | string | no | Only batches received at or before this instant (ISO 8601). |
| q | string | no | Metric name (or NCPA host/service) contains this text; up to 120 characters. |
One received batch, decoded: its series with labels and values, or its NCPA checks. Remote Write (1.0 and 2.0), OTLP (protobuf or JSON) and NRDP become the same shape: series (name, labels, points as [milliseconds, value], and type/unit/help when the collector sent them; OTLP points also carry resource, an index into resources) or checks for NCPA (host, service, state 0
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | Device environment UUID v4; the report URL is a one-hour write capability. |
| collector | string | yes | alloy, telegraf, opentelemetry, ncpa, collectd or snmp. |
| batch | string | yes | The batch id from the history list. |
Revokes and removes one collector channel from a device. The input central removes only a channel of the same owner. This stops new authenticated input and removes the channel from the device list — also for a channel whose device was already deleted. It does not uninstall or stop the collector on the device (uninstall.remove in GET /api/ambientes/:id/inputs is the command for that), and stored
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | Device environment UUID v4; the report URL is a one-hour write capability. |
| collector | string | yes | alloy, telegraf, opentelemetry, ncpa, collectd or snmp. |
Pauses or resumes one collector channel. Pausing keeps the channel, its credential and its configuration: batches the collector sends while paused are accepted and discarded, so nothing is stored or measured and the collector does not retry in a loop. Resuming stores the next batch again. The input central changes only a channel of the same owner, including one whose device was already deleted.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | Device environment UUID v4; the report URL is a one-hour write capability. |
| collector | string | yes | alloy, telegraf, opentelemetry, ncpa, collectd or snmp. |
| active | boolean | yes | false pauses, true resumes. |
Every collector channel of the caller, with state and live numbers, in one response. One call for the whole fleet — one query to the time-series store for all channels, never one per device. It is the same function the dashboard subscribes to over the socket (/api/inputs/serie), where the input central then pushes inputs.updated and inputs.removed events; integrators get the same data here w
No parameter schema on file.
Preview or save the allowlisted discovery report for one device. Send terminal and saidas (step id to pasted output), initially with conferir:true. Preview returns normalized dados, additional passos and pronto without writing. Omit conferir to save when complete. Only allowlisted facts are saved, never raw commands. First report wins within one hour; identical retries do not rewrite. The discover
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | Device environment UUID v4; the report URL is a one-hour write capability. |
| relatorio | string | no | Alternative legacy key=value report. Do not combine with saidas. |
| terminal | string | no | posix or powershell; required with saidas. |
| conferir | boolean | no | true previews without saving. Omit or use false to save a complete report. |
| saidas | object | no | Step id to pasted output; up to 10 entries, 4096 characters each, 8192 UTF-8 bytes total request. |
Lists your measurements with commands adapted to each saved device environment. Two views of the same thing: coletas is one entry per measurement, equipamentos is one per machine with a SINGLE command that does all of its measurements and a SINGLE cron line. Use the device one unless you really want a single measurement on its own. Commands are generated only from a detected environment. Legac
No parameter schema on file.
Adds compatible measurements to a previously detected device. First create /api/ambientes and submit its environment report. Reference that ambiente_id here; its saved name and group are authoritative. Same device+measurement returns the existing stream instead of duplicating it. A profile adds only compatible measurements. Up to 200 collections per owner. The signed collection id writes only its
| Parameter | Type | Required | Notes |
|---|---|---|---|
| nome | string | yes | Device name, up to 60 characters. |
| grupo | string | no | Optional group, up to 40 characters. |
| ambiente_id | string | yes | UUID of a detected environment owned by this account/guest. |
| medida | string | no | Which measurement; defaults to loadavg. |
| perfil | string | no | essentials or completo. Expands to compatible measurements and takes precedence over medida. |
The latest readings of one device, for the screen that draws it. Authorised by YOUR session, never by the symbol in the crontab. A device that is not yours answers 404 exactly like one that does not exist — telling the two apart would confirm to a stranger that the id exists — 401 is only for sending no credential at all, which tells the caller what they already know. When the ingest origin cannot
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | The signed 22-character collection symbol, or a legacy UUID v4. |
| n | integer | no | How many readings, newest first. Default 60, maximum 500. |
Renames one measurement, or stops and resumes reading it. The id never changes: it is the write symbol already sitting in a crontab, and renaming on a screen must not send anyone back to the machine to edit a line. Send only what you are changing; anything omitted stays as it is. ativa:false takes the measurement out of the fleet read — it keeps its history and its commands, stops costing a quer
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | The signed 22-character collection symbol, or a legacy UUID v4. |
| nome | string | no | New name, 1–60 characters. |
| grupo | string | no | New group, up to 40 characters; empty clears it. |
| ativa | boolean | no | false stops reading this measurement; true resumes it. |
Removes one measurement and frees that slot on the device. What disappears is the OWNERSHIP: your list, the authority to read that series, and the unique slot that measurement holds on that environment — so you can add it again later. Readings already stored at the ingest origin stay there until their own retention. The machine keeps sending: the symbol is signed and stands on its own there, which
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | The signed 22-character collection symbol, or a legacy UUID v4. |
Renames a device, and its measurements along with it. One machine has one name. The measurements carry a copy of it, so renaming here renames them too — leaving the old name on them would show the same machine twice in a list that groups by device. Its collector channels take the new name and group too in GET /api/coletas (inputs[]), and the group decides which dashboard tab the device is unde
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | Device environment UUID v4; the report URL is a one-hour write capability. |
| nome | string | no | New device name, 1–60 characters. |
| grupo | string | no | New group, up to 40 characters; empty clears it. |
Removes a device and every measurement on it, in one call. One call, not one per measurement — the same reason GET /api/coletas/serie exists. What goes away is the ownership: your list, the authority to read those series, and the slots those measurements held, so the device can be registered again. Readings already stored at the ingest origin stay there until their own retention, and the machine
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | Device environment UUID v4; the report URL is a one-hour write capability. |
The plans for sale, with price and term, and the account's active plan. Each purchase lasts 30 days, with no automatic renewal. Each purchase lasts 30 days, with no automatic renewal. Without an account or wallet credential, account is null.
No parameter schema on file.
Buy a plan: starter (40 more monitors, up to 50), team (90 more monitors, up to 100), business (490 more monitors, up to 500). Each purchase lasts 30 days, with no automatic renewal. Answers 402 with the price; pay with x402 or prepaid credit and repeat. Each purchase lasts 30 days, with no automatic renewal. Without payment, the answer is 402 with the price. Pay with prepaid credit (X-Credito)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| plan | string | yes | starter (40 more monitors, up to 50), team (90 more monitors, up to 100), business (490 more monitors, up to 500) |
Cancel the active plan now. What it added ends, including a paid period that has not started; that period and a purchase under 7 days are refunded. Requires accept_data_removal: true. Send { "accept_data_removal": true }: what the plan added ends now (account.cancel.losses in GET /api/plans says what), including a period already paid that has not started yet, such as a renewal. A purchase ma
| Parameter | Type | Required | Notes |
|---|---|---|---|
| accept_data_removal | boolean | yes | Must be true: you accept losing what the plan added. |
Full index of the HookPulse API.
No parameter schema on file.
Liveness.
No parameter schema on file.
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.
No parameter schema on file.
Lists the guest's/session's endpoints.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| guest_token | string | yes | — |
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. Read billing before a paid option. A charged request returns HTTP 402. This response is the only one that shows the monitor's token and the templates — keep them. The second monitor, or an interval belo
| Parameter | Type | Required | Notes |
|---|---|---|---|
| guest_token | string | yes | — |
| name | string | yes | how you will recognise the routine in an alert; required, trimmed, max 80 chars, punctuation alone is rejected |
| interval_sec | number | no | Tolerated silence, in seconds. Below the free minimum, it costs. |
| cron | string | no | five-field cron, e.g. 0 3 * * * |
| paused_until | string | no | maintenance window end (UTC ISO), max 30 days ahead |
| tz | string | no | IANA time zone for cron, default UTC |
| grace_sec | number | no | tolerance after the scheduled time, default 90, min 30 |
| max_duration_sec | number | no | ceiling for an open run in seconds, 60..86400; null or 0 turns it off |
| alert_repeat_sec | number | no | gap before the same incident alerts again, 3600..2592000; null keeps the 86400 default |
| tags | array | no | up to 8 tags to group the monitor; lower-cased, [a-z0-9._-], max 32 chars each |
| alert_to | string | no | E-mail to alert on a miss; without it, the account is alerted. |
| alert_url | string | no | Public HTTPS URL that receives a POST on a miss (Slack Incoming, Discord, n8n). |
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 ?apply=1 nothing is written: you get the proposal — what would become a monitor, what was ignored and why, and what still fits in the free tier. With `apply=
| Parameter | Type | Required | Notes |
|---|---|---|---|
| guest_token | string | yes | — |
| crontab | string | yes | the crontab text |
| apply | string | no | "1" to create the monitors |
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 next_expected_at says when the next run is due. Only this endpoint carries duration: p50_ms (the low median, so always a duration that really happened) and max_ms over
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | Monitor ID, from Monitor.id. |
| token | string | no | endpoint token (query) |
| guest_token | string | no | — |
Removes the owner's endpoint.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| guest_token | string | yes | — |
| id | string | yes | ID of the monitor to deactivate. |
Latest ingest pings.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | ID of the monitor. |
| token | string | no | Monitor token, alternative to the X-Hook-Token header. |
| guest_token | string | no | — |
Simulates the cron: GET on /in/:id. No credential on purpose — the caller is a cron, and the ID is already the secret. It costs nothing and there is no quota per ping.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | Monitor ID, from Monitor.ingest_url. |
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 miss counter, so a routine that starts and hangs still becomes a miss at the right time. The next success closes the run and records last_duration_ms — pass `?rid
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | Monitor ID, from Monitor.ingest_url. |
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 never sends e-mail and never calls out — it records alert_pending and the cron turns it into an alert with reason: "fail" within 5 minutes, under the same one-
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | Monitor ID, from Monitor.ingest_url. |
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 failure for the cron.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | Monitor ID, from Monitor.ingest_url. |
| exit_code | number | yes | Exit status, 0 to 255. Outside that range it is a 400. |
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. Point a whole fleet at /in/<key>/<slug> and each job creates its monitor on the first check-in, inside the free tier — beyond it the ping answers 402 without creating anything. The key survives signi
| Parameter | Type | Required | Notes |
|---|---|---|---|
| guest_token | string | no | — |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| guest_token | string | no | — |
Create a monitor on its first check-in. The same slug uses the same monitor. Service and billing limits apply. 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 creates a second one. Normalised to lowercase, [a-z0-9-], 40 chars. Creation happens only inside the free tier (or the tr
| Parameter | Type | Required | Notes |
|---|---|---|---|
| ingestKey | string | yes | Ingest key, from GET /api/ingest-key. |
| slug | string | yes | Name of the job; it becomes the monitor name. |
Read current free allowances, options with billing off, prices and the account's 7-day trial. E-mail alerts cost $0.10 once per additional monitor, even with a reused address. Check before creating the second monitor or lowering the interval: it is the number IN FORCE, not the documentation's.
No parameter schema on file.
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| guest_token | string | no | — |
Rotates the status feed token; the previous URL stops working.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| guest_token | string | no | — |
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 read.
No parameter schema on file.
Write to the people behind the product: a question, or a sponsorship/partnership/advertising proposal. Free, no captcha and no payment; one message every 10 s per network (one that arrives sooner waits its turn). One route for a question and for a sponsorship, partnership or ad proposal (tipo, with the placements of GET /api/partners). No captcha, no account, no payment. One message every 10 s
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | yes | What to call the person writing. |
| string | yes | Where to reply. | |
| message | string | yes | What you want to say. |
| tipo | string | no | Proposal: patrocinio, parceria or anuncio. Turns on the fields below. |
| empresa | string | no | Who is proposing, when it is a company. |
| site | string | no | Website of who is proposing. |
| orcamento | string | no | ate_100, 100_500, 500_2000, 2000_mais or a_combinar. |
| espaco | array | no | Placement ids from GET /api/partners, up to 6. |
| duracao | string | no | Exposure in days: 30, 90 or 365. |
| pagamento | string | no | usdc, deposito or a_combinar. |
Current public prices and free allowances; no charge.
No parameter schema on file.
- Every tool — any call limit is its publisher’s, not ours
- No card, and mcprush charges nothing for it
- Runs at its publisher’s own address — this marketplace is not in the path
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install Hookpulse or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
This listing is an address its publisher runs, and you connect to it directly — this marketplace is not in the path. The scanner reads packages and public source, and an address is neither. So there is no grade — not a withheld one, an unmeasured one.
Release history
This is an address its publisher runs: which release it serves is theirs to choose, so there is nothing here to pin. The history below is for reading; the current release on file is 1.0.1.
No release note was published with this version.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish Hookpulse can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.