Skip to content

updown.io MCP by usefulapi

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

Check updown.io uptime checks, downtimes, response metrics and status pages, and create checks.

Deletes · 5

14 tools: 5 can delete or cancel things and 9 only read.

Scanned Oct 21, 2026

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

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

Findings

Matches of fixed checks, with the text they matched.

1 info

Tools

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

14 tools

Deletes or cancels 5Claude Code: deny
  • updown_add_recipientAdd an alert recipient: an email address, phone number (sms), webhook URL, Slack-compatible incoming-webhook URL, or Microsoft Teams webhook URL.No findings

    Why it is in this group

    • The name "updown_add_recipient" says "add": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Add an alert recipient: an email address, phone number (sms), webhook URL, Slack-compatible incoming-webhook URL, or Microsoft Teams webhook URL. Returns the new (or already-existing) recipient with its id. By default it is selected on ALL existing checks; pass selected=false to add it unattached. Slack/Telegram/Zapier/Statuspage integrations must be set up in the web UI. Requires the read/write API key. updown: POST /api/recipients.

    Annotations the server declares

    • title: Add an alert recipient
    • destructiveHint: true
  • updown_create_checkAdd a new monitoring check.No findings

    Why it is in this group

    • The name "updown_create_check" says "create": a word for a change.
    • The input addresses people (input.recipients): what it sends cannot be taken back.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Add a new monitoring check. The type (http, https, tcp, tcps, icmp) is inferred from the URL scheme; pass type 'pulse' (and no URL) for a cron/heartbeat check. Each check consumes updown credits while enabled. Requires the read/write API key. updown: POST /api/checks.

    Annotations the server declares

    • title: Create a check
    • destructiveHint: true
  • updown_create_status_pageCreate a status page showing the given checks, in order.No findings

    Why it is in this group

    • The name "updown_create_status_page" says "create": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Create a status page showing the given checks, in order. Returns its token and URL. Requires the read/write API key. updown: POST /api/status_pages.

    Annotations the server declares

    • title: Create a status page
    • destructiveHint: true
  • updown_update_checkChange a check's settings — URL, period, alias, string match, recipients, headers, locations — or pause/resume it (enabled) or mute its alerts (mute_until).1 finding

    Why it is in this group

    • The name "updown_update_check" says "update": a word for a change.
    • The input addresses people (input.recipients): what it sends cannot be taken back.
    • The server marks it destructive (destructiveHint: true).

    Findings

    • Info

      The description mentions "credentials".

      Matched text

      description: "...rned by a read-only key hide basic-auth credentials; re-sending such a URL erases them. Req..."

      What this check looks for
    Description, as the server wrote it
    Change a check's settings — URL, period, alias, string match, recipients, headers, locations — or pause/resume it (enabled) or mute its alerts (mute_until). Only the fields you pass are changed. Caution: URLs returned by a read-only key hide basic-auth credentials; re-sending such a URL erases them. Requires the read/write API key. updown: PUT /api/checks/:token.

    Annotations the server declares

    • title: Update a check
    • destructiveHint: true
  • updown_update_status_pageChange a status page's checks (replaces the list, order respected), name, description, visibility or access key.No findings

    Why it is in this group

    • The name "updown_update_status_page" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Change a status page's checks (replaces the list, order respected), name, description, visibility or access key. Only the fields you pass are changed. Requires the read/write API key. updown: PUT /api/status_pages/:token.

    Annotations the server declares

    • title: Update a status page
    • destructiveHint: true
Only reads 9Claude Code: allow
  • updown_find_problemsOne-call health overview across every check: which are DOWN (since when, error), which have an invalid SSL certificate, which certificates or domains expire within N days, and whic…No findings

    Why it is in this group

    • The name "updown_find_problems" says "find": a word for reading.
    Description, as the server wrote it
    One-call health overview across every check: which are DOWN (since when, error), which have an invalid SSL certificate, which certificates or domains expire within N days, and which checks are paused or muted. Built from GET /api/checks.

    Annotations the server declares

    • title: Find checks with problems
    • readOnlyHint: true
  • updown_get_checkFetch a single check by token, optionally with the last hour of performance metrics and/or the detailed results of the last 5 requests.No findings

    Why it is in this group

    • The name "updown_get_check" says "get": a word for reading.
    Description, as the server wrote it
    Fetch a single check by token, optionally with the last hour of performance metrics and/or the detailed results of the last 5 requests. updown: GET /api/checks/:token.

    Annotations the server declares

    • title: Get one check
    • readOnlyHint: true
  • updown_get_check_metricsGet aggregated metrics for one check over a time range: uptime, apdex, timings (redirect/namelookup/connection/handshake/response/total, ms) and request counts by response time.No findings

    Why it is in this group

    • The name "updown_get_check_metrics" says "get": a word for reading.
    Description, as the server wrote it
    Get aggregated metrics for one check over a time range: uptime, apdex, timings (redirect/namelookup/connection/handshake/response/total, ms) and request counts by response time. Optionally group by 'time' or by 'host' (monitoring location). Data is hourly (daily after 2 days, monthly after 40 days); the range must span at least one hour. Uptime is not returned when grouping. updown: GET /api/checks/:token/metrics.

    Annotations the server declares

    • title: Get a check's metrics
    • readOnlyHint: true
  • updown_list_checksList all monitoring checks on the account with their status (down, uptime, last_status, error), period, SSL certificate and domain-expiry info.No findings

    Why it is in this group

    • The name "updown_list_checks" says "list": a word for reading.
    Description, as the server wrote it
    List all monitoring checks on the account with their status (down, uptime, last_status, error), period, SSL certificate and domain-expiry info. Optionally filter client-side by status or a text match on URL/alias. updown: GET /api/checks.

    Annotations the server declares

    • title: List checks
    • readOnlyHint: true
  • updown_list_downtimesList the downtimes of one check, newest first, 100 per page: error, started_at, ended_at, duration (seconds) and a details URL.No findings

    Why it is in this group

    • The name "updown_list_downtimes" says "list": a word for reading.
    Description, as the server wrote it
    List the downtimes of one check, newest first, 100 per page: error, started_at, ended_at, duration (seconds) and a details URL. updown: GET /api/checks/:token/downtimes.

    Annotations the server declares

    • title: List a check's downtimes
    • readOnlyHint: true
  • updown_list_node_ipsList updown.io's server IP addresses — e.g.No findings

    Why it is in this group

    • The name "updown_list_node_ips" says "list": a word for reading.
    Description, as the server wrote it
    List updown.io's server IP addresses — e.g. to allowlist the monitors in a firewall. Choose all, ipv4 or ipv6. Public — no API key needed. updown: GET /api/nodes/ips, /api/nodes/ipv4, /api/nodes/ipv6.

    Annotations the server declares

    • title: List monitoring node IPs
    • readOnlyHint: true
  • updown_list_nodesList updown.io's monitoring/webhook servers keyed by location code (lan, mia, tor, rbx, fra, cap, hel, sin, tok, syd) with IPv4, IPv6, city, country and coordinates.No findings

    Why it is in this group

    • The name "updown_list_nodes" says "list": a word for reading.
    Description, as the server wrote it
    List updown.io's monitoring/webhook servers keyed by location code (lan, mia, tor, rbx, fra, cap, hel, sin, tok, syd) with IPv4, IPv6, city, country and coordinates. Public — no API key needed. updown: GET /api/nodes.

    Annotations the server declares

    • title: List monitoring nodes
    • readOnlyHint: true
  • updown_list_recipientsList the alert recipients/channels on the account (email, sms, slack, telegram, webhook, zapier, ...).No findings

    Why it is in this group

    • The name "updown_list_recipients" says "list": a word for reading.
    Description, as the server wrote it
    List the alert recipients/channels on the account (email, sms, slack, telegram, webhook, zapier, ...). The `id` (e.g. email:3719031852) is what check `recipients` take. updown: GET /api/recipients.

    Annotations the server declares

    • title: List alert recipients
    • readOnlyHint: true
  • updown_list_status_pagesList the account's status pages: token, public URL, name, description, visibility (public/protected/private) and the ordered check tokens shown.No findings

    Why it is in this group

    • The name "updown_list_status_pages" says "list": a word for reading.
    Description, as the server wrote it
    List the account's status pages: token, public URL, name, description, visibility (public/protected/private) and the ordered check tokens shown. updown: GET /api/status_pages.

    Annotations the server declares

    • title: List status pages
    • 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 updown-io https://updown-io.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__updown-io__updown_list_checks",
      "mcp__updown-io__updown_get_check",
      "mcp__updown-io__updown_list_downtimes",
      "mcp__updown-io__updown_get_check_metrics",
      "mcp__updown-io__updown_find_problems",
      "mcp__updown-io__updown_list_recipients",
      "mcp__updown-io__updown_list_status_pages",
      "mcp__updown-io__updown_list_nodes",
      "mcp__updown-io__updown_list_node_ips"
    ],
    "ask": [],
    "deny": [
      "mcp__updown-io__updown_create_check",
      "mcp__updown-io__updown_update_check",
      "mcp__updown-io__updown_add_recipient",
      "mcp__updown-io__updown_create_status_page",
      "mcp__updown-io__updown_update_status_page"
    ]
  }
}

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 updown-io. Review it before you use it.