updown-io
Check updown.io uptime checks, downtimes, response metrics and status pages, and create checks.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (2)
- HIGH
- MEDIUMin updown_get_check_metrics
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"updown-io": {
"url": "https://updown-io.usefulapi.io/mcp"
}
}
}Remote-Endpunkte
https://updown-io.usefulapi.io/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (14)
🟢updown_list_checks(status, search)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"status": {
"description": "Only checks in this state (default all).",
"type": "string",
"enum": [
"all",
"down",
"up",
"disabled"
]
},
"search": {
"description": "Case-insensitive substring to match against the check URL or alias.",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢updown_get_check(token, metrics, results)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"token": {
"type": "string",
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"description": "The check's unique token, e.g. ngg8 (from updown_list_checks)."
},
"metrics": {
"description": "Include performance metrics for the last hour.",
"type": "boolean"
},
"results": {
"description": "Include detailed results of the last 5 requests (can be large).",
"type": "boolean"
}
},
"required": [
"token"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢updown_list_downtimes(token, page, results)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"token": {
"type": "string",
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"description": "The check's unique token, e.g. ngg8 (from updown_list_checks)."
},
"page": {
"description": "Page to fetch (100 per page, default 1).",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"results": {
"description": "Include detailed results (last 5 requests before the downtime and recovery). Can be large.",
"type": "boolean"
}
},
"required": [
"token"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢updown_get_check_metrics(token, from, to, group)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"token": {
"type": "string",
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"description": "The check's unique token, e.g. ngg8 (from updown_list_checks)."
},
"from": {
"description": "Start time (ISO8601, RFC2822 or YYYY-MM-DD; UTC if no zone). Default: 1 month ago.",
"type": "string"
},
"to": {
"description": "End time, same formats. Default: now.",
"type": "string"
},
"group": {
"description": "Group results by 'time' or by 'host' (location).",
"type": "string",
"enum": [
"time",
"host"
]
}
},
"required": [
"token"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢updown_find_problems(ssl_days, domain_days)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"ssl_days": {
"description": "Flag SSL certificates expiring within this many days (default 14).",
"type": "integer",
"minimum": 0,
"maximum": 365
},
"domain_days": {
"description": "Flag domains expiring within this many days (default 30).",
"type": "integer",
"minimum": 0,
"maximum": 3650
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢updown_list_recipients
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.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢updown_list_status_pages
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.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢updown_list_nodes
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.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢updown_list_node_ips(family)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"family": {
"description": "Address family (default all).",
"type": "string",
"enum": [
"all",
"ipv4",
"ipv6"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴updown_create_check(url, type, period, apdex_t, enabled, ...)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"url": {
"description": "The URL to monitor, e.g. https://example.com, tcp://host:port, icmp://host. Omit for pulse checks.",
"type": "string"
},
"type": {
"description": "Check type; inferred from the URL by default — mainly useful for 'pulse'.",
"type": "string",
"enum": [
"https",
"http",
"icmp",
"pulse",
"tcp",
"tcps"
]
},
"period": {
"description": "Interval in seconds. Regular checks: 15, 30, 60, 120, 300, 600, 1800 or 3600 (default 60). Pulse checks: anywhere from 15 s to 1 month.",
"type": "integer",
"minimum": 15,
"maximum": 2678400
},
"apdex_t": {
"description": "APDEX threshold in seconds: 0.125, 0.25, 0.5, 1.0, 2.0, 4.0 or 8.0 (default 0.5).",
"type": "number"
},
"enabled": {
"description": "Whether the check runs. false pauses it (reversible).",
"type": "boolean"
},
"published": {
"description": "Whether the check's public status page is visible (default false).",
"type": "boolean"
},
"alias": {
"description": "Human-readable name for the check.",
"type": "string"
},
"string_match": {
"description": "Text that must appear in the response. For TCP/TCPS checks, '<closed>' inverts the check (alert if the port is open).",
"type": "string"
},
"mute_until": {
"description": "Mute notifications until a time (ISO8601, e.g. 2026-10-01T08:00:00Z), or 'recovery', or 'forever'.",
"type": "string"
},
"http_verb": {
"description": "HTTP verb for the request (default GET/HEAD).",
"type": "string",
"enum": [
"GET/HEAD",
"POST",
"PUT",
"PATCH",
"DELETE",
"OPTIONS"
]
},
"http_body": {
"description": "HTTP body sent with the request.",
"type": "string"
},
"disabled_locations": {
"description": "Monitoring locations to disable: lan, mia, tor, rbx, fra, cap, hel, sin, tok, syd.",
"type": "array",
"items": {
"type": "string",
"enum": [
"lan",
"mia",
"tor",
"rbx",
"fra",
"cap",
"hel",
"sin",
"tok",
"syd"
]
}
},
"recipients": {
"description": "Alert recipient ids to select, e.g. ['email:12345', 'sms:67890'] (from updown_list_recipients).",
"type": "array",
"items": {
"type": "string"
}
},
"custom_headers": {
"description": "HTTP headers updown sends with each request, e.g. { \"X-Api-Key\": \"...\" }.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴updown_update_check(token, url, period, apdex_t, enabled, ...)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"token": {
"type": "string",
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"description": "The check's unique token, e.g. ngg8 (from updown_list_checks)."
},
"url": {
"description": "New URL to monitor (not for pulse checks).",
"type": "string"
},
"period": {
"description": "Interval in seconds. Regular checks: 15, 30, 60, 120, 300, 600, 1800 or 3600 (default 60). Pulse checks: anywhere from 15 s to 1 month.",
"type": "integer",
"minimum": 15,
"maximum": 2678400
},
"apdex_t": {
"description": "APDEX threshold in seconds: 0.125, 0.25, 0.5, 1.0, 2.0, 4.0 or 8.0 (default 0.5).",
"type": "number"
},
"enabled": {
"description": "Whether the check runs. false pauses it (reversible).",
"type": "boolean"
},
"published": {
"description": "Whether the check's public status page is visible (default false).",
"type": "boolean"
},
"alias": {
"description": "Human-readable name for the check.",
"type": "string"
},
"string_match": {
"description": "Text that must appear in the response. For TCP/TCPS checks, '<closed>' inverts the check (alert if the port is open).",
"type": "string"
},
"mute_until": {
"description": "Mute notifications until a time (ISO8601, e.g. 2026-10-01T08:00:00Z), or 'recovery', or 'forever'.",
"type": "string"
},
"http_verb": {
"description": "HTTP verb for the request (default GET/HEAD).",
"type": "string",
"enum": [
"GET/HEAD",
"POST",
"PUT",
"PATCH",
"DELETE",
"OPTIONS"
]
},
"http_body": {
"description": "HTTP body sent with the request.",
"type": "string"
},
"disabled_locations": {
"description": "Monitoring locations to disable: lan, mia, tor, rbx, fra, cap, hel, sin, tok, syd.",
"type": "array",
"items": {
"type": "string",
"enum": [
"lan",
"mia",
"tor",
"rbx",
"fra",
"cap",
"hel",
"sin",
"tok",
"syd"
]
}
},
"recipients": {
"description": "Alert recipient ids to select, e.g. ['email:12345', 'sms:67890'] (from updown_list_recipients).",
"type": "array",
"items": {
"type": "string"
}
},
"custom_headers": {
"description": "HTTP headers updown sends with each request, e.g. { \"X-Api-Key\": \"...\" }.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
}
},
"required": [
"token"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴updown_add_recipient(type, value, name, selected)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"email",
"sms",
"webhook",
"slack_compatible",
"msteams"
],
"description": "Recipient type."
},
"value": {
"type": "string",
"minLength": 1,
"description": "The email address, phone number or URL."
},
"name": {
"description": "Optional friendly label (webhooks only at the moment).",
"type": "string"
},
"selected": {
"description": "true (default) = selected on all existing checks; false = not selected on any check.",
"type": "boolean"
}
},
"required": [
"type",
"value"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴updown_create_status_page(checks, name, description, visibility, access_key)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"checks": {
"minItems": 1,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"description": "The check's unique token, e.g. ngg8 (from updown_list_checks)."
},
"description": "Check tokens to show, in display order, e.g. ['dmbe', 'ngg8']."
},
"name": {
"description": "Name of the status page.",
"type": "string"
},
"description": {
"description": "Text displayed below the name (supports newlines and links).",
"type": "string"
},
"visibility": {
"description": "Page visibility (default public).",
"type": "string",
"enum": [
"public",
"protected",
"private"
]
},
"access_key": {
"description": "Access key for protected pages (defaults to a random 30-byte string).",
"type": "string"
}
},
"required": [
"checks"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴updown_update_status_page(token, checks, name, description, visibility, ...)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"token": {
"type": "string",
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"description": "The status page's unique token, e.g. 3ji4k (from updown_list_status_pages)."
},
"checks": {
"description": "New ordered list of check tokens to show (replaces the current list).",
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"description": "The check's unique token, e.g. ngg8 (from updown_list_checks)."
}
},
"name": {
"description": "Name of the status page.",
"type": "string"
},
"description": {
"description": "Text displayed below the name (supports newlines and links).",
"type": "string"
},
"visibility": {
"description": "Page visibility (default public).",
"type": "string",
"enum": [
"public",
"protected",
"private"
]
},
"access_key": {
"description": "Access key for protected pages (defaults to a random 30-byte string).",
"type": "string"
}
},
"required": [
"token"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Community
Nachweis