Labsco
MCP SERVER · OFFICIAL PROJECT

Ionhour

by ionhour

Run your uptime monitoring — checks, heartbeats, incidents, on-call rules — from the conversation.

Observability, Monitoring & Incident Response
Summary
Your monitoring workspace, readable and writable from chat.

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.

What it is

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.

What you get
  • 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`
Requirements

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.

Setup effort

One command plus a key — npx @ionhour/mcp-server, then supply credentials