get_workspaceLABSCO 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, with tools across ten domains — 49 by the README's count — 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 includingdiagnose_incident,setup_monitoringanddeployment_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
USE CASES
Getting oriented when something looks wrong
Pull the workspace summary and see which checks are down and which incidents are already open, then read the timeline on the one that matters. That is the first two minutes of an incident, without a dashboard.
Adding a monitor without opening the dashboard
Say what to watch and how often, in words — "every 5 minutes" is accepted directly. Decide first which kind you need: an outbound probe of a URL you own, or a heartbeat your own job pings.
Answering how reliable we were last month
Ask for workspace reliability over the days you care about and get uptime, incident count and MTTR together, plus per-check uptime in daily buckets when someone wants the detail.
Lining an incident up against a deploy
Open a deployment window before shipping and close it after. Checks pause for the duration and resume on their own, and the window is on record when you later ask whether the outage started with the release.
Quieting a check that is crying wolf
Pause the check while you fix the underlying flapping, then resume it. Better than deleting it and rebuilding it from memory a week later.
Checking who gets paged before you need to know
Read the alert channels and escalation rules while nothing is broken, and fix the gap then. The worst time to discover a rule points at someone who left is at three in the morning.
58 tools
Listed in project docs. Your client may show a different list.
whoamiget_workspace_summaryget_workspace_reliabilitylist_team_memberssend_invitationlist_projectscreate_projectupdate_projectcreate_checklist_checkslist_checks_by_statusfind_check_by_nameget_check_statusget_check_uptimerun_check_probepause_checkresume_checkdelete_checkregister_joblist_jobsfind_job_by_nameget_job_statusget_job_uptimepause_jobresume_jobdelete_jobsend_heartbeatsend_failure_signallist_signalslist_incidentssearch_incidentsget_incidentget_incident_timelinecreate_incidentacknowledge_incidentresolve_incidentadd_incident_notecreate_deploymentend_deploymentlist_deploymentslist_dependenciesget_dependencycreate_dependencyupdate_dependency_statusdelete_dependencylist_status_pagescreate_status_pageupdate_status_pagecreate_announcementlist_alert_channelscreate_alert_channelupdate_alert_channeldelete_alert_channellist_escalation_rulescreate_escalation_ruleupdate_escalation_ruledelete_escalation_ruleBEFORE YOU INSTALL
What to know first
Tools you get
58 tools named in the project's documentation.
Requires
- npx on PATH
- Node.js >= 18
- IONHOUR_API_KEY in your environment
Where it runs
All 5 documented clients run the server on your machine.
INSTALLATION
Connect your client
Server setup
npx @ionhour/mcp-serverMCP Clients
Claude Code
claude mcp add ionhour -- npx @ionhour/mcp-serverClaude Desktop, Cursor, Windsurf
{
"mcpServers": {
"ionhour": {
"command": "npx",
"args": [
"@ionhour/mcp-server"
],
"env": {
"IONHOUR_API_KEY": "<YOUR_IONHOUR_API_KEY>"
}
}
}
}VS Code
{
"servers": {
"ionhour": {
"command": "npx",
"args": [
"@ionhour/mcp-server"
],
"env": {
"IONHOUR_API_KEY": "<YOUR_IONHOUR_API_KEY>"
}
}
}
}