Changelog
[Unreleased]
[0.1.0] - 2026-08-29
Added
- Initial release: an MCP server for the Healthchecks Management API v3, against the hosted service or a self-hosted instance.
- A multi-architecture container image at
ghcr.io/ni-c/healthchecks-mcp(amd64 and arm64), published with an SBOM and build provenance. It runs as an unprivileged user with no npm in the runtime layer and speaks stdio only, so it needs-iand exposes no port. - Nine read tools:
list_checks,get_check,list_pings,get_ping_body,list_flips,list_integrations,list_badges,get_statusandget_api_key_info. - Five write tools:
create_check,update_check,pause_check,resume_checkanddelete_check. get_ping_bodyreads the body a job POSTed with its ping — the fastest way to see why a check failed, and an endpoint no other Healthchecks MCP server exposes.- Read-only API keys are supported end to end: checks are addressed by
unique_keywhere nouuidis returned, andget_api_key_inforeports which kind of key is configured and which tools it cannot reach. HEALTHCHECKS_READ_ONLYregisters only the read tools;HEALTHCHECKS_ALLOW_TOOLS/HEALTHCHECKS_DENY_TOOLSnarrow the list further, withessentialas a curated seven-tool preset.pause_checkanddelete_checkare two-step: the first call returns a short-lived confirmation token bound to that one check.- Results are budgeted — the Management API paginates nothing, so
list_checksdrops whole entries rather than overflowing the model's context, and says so. - The server cannot ping a check, deliberately. A ping is a job's own claim that it ran, and the same server hands the model ping bodies written by whatever pings the check — a ping tool would close the loop from untrusted text to forged monitoring.