Skip to content

Healthchecks.io MCP by usefulapi

by usefulapi.io · remote · no sign-in to list tools · v1.16.3 · published by io.usefulapi

Manage cron/heartbeat checks, read pings and flips, pause/resume/delete on Healthchecks.io.

Deletes · 5

12 tools: 5 can delete or cancel things and 7 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http healthchecksio https://healthchecksio.usefulapi.io/mcp

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

12 tools

Deletes or cancels 5Claude Code: deny
  • healthchecksio_create_checkCREATES a new check — this MODIFIES live monitoring config.No findings

    Why it is in this group

    • The name "healthchecksio_create_check" says "create": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    CREATES a new check — this MODIFIES live monitoring config. Provide a `timeout` (simple period-based check) OR a `schedule` + `tz` (cron-based check); the two are mutually exclusive. Use `unique` to avoid creating duplicates. Assign notifications via `channels`. Healthchecks: POST /checks/. Returns the created check (201) or the existing match (200).

    Annotations the server declares

    • title: Create check
    • destructiveHint: true
  • healthchecksio_delete_checkPERMANENTLY DELETES a check by UUID — this MODIFIES live monitoring config and cannot be undone.No findings

    Why it is in this group

    • The name "healthchecksio_delete_check" says "delete": a word for removing or ending something.
    • The description says "PERMANENTLY DELETES".
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    PERMANENTLY DELETES a check by UUID — this MODIFIES live monitoring config and cannot be undone. Healthchecks: DELETE /checks/{uuid}. Returns the deleted check's last known state.

    Annotations the server declares

    • title: Delete check
    • destructiveHint: true
  • healthchecksio_pause_checkPAUSES a check — disables monitoring without deleting it (it stops going down for missed pings until it next receives a ping or is resumed).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    PAUSES a check — disables monitoring without deleting it (it stops going down for missed pings until it next receives a ping or is resumed). This MODIFIES live monitoring config. Healthchecks: POST /checks/{uuid}/pause (empty body).

    Annotations the server declares

    • title: Pause check
    • destructiveHint: true
  • healthchecksio_resume_checkRESUMES a paused check — re-enables monitoring.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    RESUMES a paused check — re-enables monitoring. This MODIFIES live monitoring config. Returns HTTP 409 (surfaced cleanly) if the check is not currently paused. Healthchecks: POST /checks/{uuid}/resume (empty body).

    Annotations the server declares

    • title: Resume check
    • destructiveHint: true
  • healthchecksio_update_checkUPDATES an existing check by UUID — this MODIFIES live monitoring config.No findings

    Why it is in this group

    • The name "healthchecksio_update_check" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    UPDATES an existing check by UUID — this MODIFIES live monitoring config. Send only the fields you want to change (timeout and schedule remain mutually exclusive). Healthchecks: POST /checks/{uuid}. Returns the updated check.

    Annotations the server declares

    • title: Update check
    • destructiveHint: true
Only reads 7Claude Code: allow
  • healthchecksio_get_checkGet a single check by its UUID (or its unique read-only key).No findings

    Why it is in this group

    • The name "healthchecksio_get_check" says "get": a word for reading.
    Description, as the server wrote it
    Get a single check by its UUID (or its unique read-only key). Returns the check's full state — status, timeout/schedule, grace, tags, last ping. Healthchecks: GET /checks/{uuid}.

    Annotations the server declares

    • title: Get check
    • readOnlyHint: true
  • healthchecksio_get_ping_bodyGet the logged request body of a single ping, returned as PLAIN TEXT (verbatim, not JSON).No findings

    Why it is in this group

    • The name "healthchecksio_get_ping_body" says "get": a word for reading.
    Description, as the server wrote it
    Get the logged request body of a single ping, returned as PLAIN TEXT (verbatim, not JSON). Healthchecks: GET /checks/{uuid}/pings/{n}/body.

    Annotations the server declares

    • title: Get ping body
    • readOnlyHint: true
  • healthchecksio_list_badgesList the project's status-badge URLs per tag (plus "*" for the overall status) — {badges:{...}}.No findings

    Why it is in this group

    • The name "healthchecksio_list_badges" says "list": a word for reading.
    Description, as the server wrote it
    List the project's status-badge URLs per tag (plus "*" for the overall status) — {badges:{...}}. Healthchecks: GET /badges/.

    Annotations the server declares

    • title: List badges
    • readOnlyHint: true
  • healthchecksio_list_checksList all checks in the project, optionally filtered by slug and/or tags.No findings

    Why it is in this group

    • The name "healthchecksio_list_checks" says "list": a word for reading.
    Description, as the server wrote it
    List all checks in the project, optionally filtered by slug and/or tags. Returns {checks:[...]} — each check's status, schedule, last ping, and ping URL. Healthchecks: GET /checks/.

    Annotations the server declares

    • title: List checks
    • readOnlyHint: true
  • healthchecksio_list_flipsList a check's status changes ("flips") over time — [{timestamp, up}].No findings

    Why it is in this group

    • The name "healthchecksio_list_flips" says "list": a word for reading.
    Description, as the server wrote it
    List a check's status changes ("flips") over time — [{timestamp, up}]. Optionally scope by a lookback window or an explicit start/end range. Healthchecks: GET /checks/{uuid}/flips/.

    Annotations the server declares

    • title: List flips
    • readOnlyHint: true
  • healthchecksio_list_integrationsList the project's notification integrations ("channels") — {channels:[{id, name, kind}]}.No findings

    Why it is in this group

    • The name "healthchecksio_list_integrations" says "list": a word for reading.
    Description, as the server wrote it
    List the project's notification integrations ("channels") — {channels:[{id, name, kind}]}. The ids are what you assign to a check's `channels` field. Healthchecks: GET /channels/.

    Annotations the server declares

    • title: List integrations
    • readOnlyHint: true
  • healthchecksio_list_pingsList a check's logged pings (100 on the free plan, 1000 on paid), most recent first.No findings

    Why it is in this group

    • The name "healthchecksio_list_pings" says "list": a word for reading.
    Description, as the server wrote it
    List a check's logged pings (100 on the free plan, 1000 on paid), most recent first. Each ping: type, date, n, scheme, remote_addr, method, ua, rid, duration, body_url. Healthchecks: GET /checks/{uuid}/pings/.

    Annotations the server declares

    • title: List pings
    • readOnlyHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.16.3. Values in angle brackets are yours to fill in.

claude mcp add --transport http healthchecksio https://healthchecksio.usefulapi.io/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__healthchecksio__healthchecksio_list_checks",
      "mcp__healthchecksio__healthchecksio_get_check",
      "mcp__healthchecksio__healthchecksio_list_pings",
      "mcp__healthchecksio__healthchecksio_get_ping_body",
      "mcp__healthchecksio__healthchecksio_list_flips",
      "mcp__healthchecksio__healthchecksio_list_integrations",
      "mcp__healthchecksio__healthchecksio_list_badges"
    ],
    "ask": [],
    "deny": [
      "mcp__healthchecksio__healthchecksio_create_check",
      "mcp__healthchecksio__healthchecksio_update_check",
      "mcp__healthchecksio__healthchecksio_pause_check",
      "mcp__healthchecksio__healthchecksio_resume_check",
      "mcp__healthchecksio__healthchecksio_delete_check"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as healthchecksio. Review it before you use it.