The read side earns its place day to day: a workspace summary, per-check uptime and an incident timeline you can ask about while something is on fire. The write side goes as far as creating checks, escalation rules and status page announcements.
A local stdio server that proxies to an Ionhour uptime-monitoring workspace: 49 tools across ten domains, plus five reference resources and seven guided workflow prompts. Because the proxy is dynamic, tools added on the server side appear without updating the package.
- A workspace overview — projects, checks grouped by status, open incidents — and uptime, incident count and MTTR over a window you name (`get_workspace_summary`, `get_workspace_reliability`, `whoami`, `list_team_members`)
- Outbound HTTP checks created from a plain interval like "every 5 minutes" or "hourly", then listed by status, probed on demand, paused and resumed (`create_check`, `list_checks_by_status`, `find_check_by_name`, `get_check_status`, `get_check_uptime`, `run_check_probe`, `pause_check`, `resume_check`)
- Inbound heartbeat monitors for the jobs that ping you instead — registered with their own token, then watched the same way (`register_job`, `get_job_status`, `get_job_uptime`, `pause_job`, `resume_job`)
- Success and failure signals sent from your own cron or worker, with the history readable (`send_heartbeat`, `send_failure_signal`, `list_signals`)
- Incidents opened, searched, acknowledged, annotated and resolved, and read back as a timeline for one check or job (`list_incidents`, `search_incidents`, `get_incident`, `get_incident_timeline`, `create_incident`, `acknowledge_incident`, `add_incident_note`, `resolve_incident`)
- A deployment window that auto-pauses checks while it is open and resumes them at the end (`create_deployment`, `end_deployment`, `list_deployments`)
- Dependencies, status pages with announcements, alert channels and escalation rules created, updated and deleted (`create_dependency`, `update_dependency_status`, `create_status_page`, `create_announcement`, `create_alert_channel`, `create_escalation_rule`)
- Reference data a client can read without a tool call — `ionhour://enums`, `ionhour://checks/schema`, `ionhour://help/ping-formats`, `ionhour://tools/catalog`, `ionhour://guides/workflows` — plus prompts including `diagnose_incident`, `setup_monitoring` and `deployment_checklist`
Node.js 18 or newer and an Ionhour workspace. Create an API key under Settings > API Keys — keys start with `ionh_` and are issued Read Only or Read & Write, and the server filters the tool list to match, so a write call on a read-only key returns a permission error. Run `npx @ionhour/mcp-server` with `IONHOUR_API_KEY` set, or `npx @ionhour/mcp-server login` to authenticate in a browser and have the key stored at `~/.config/ionhour/credentials.json`. One thing to know before you script anything: `register_check` is a deprecated tombstone that creates nothing — use `register_job` for a heartbeat monitor or `create_check` for an outbound probe.
One command plus a key — npx @ionhour/mcp-server, then supply credentials
