updown-io
Check updown.io uptime checks, downtimes, response metrics and status pages, and create checks.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (2)
- HIGH
- MEDIUMen updown_get_check_metrics
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"updown-io": {
"url": "https://updown-io.usefulapi.io/mcp"
}
}
}Puntos de conexión remotos
https://updown-io.usefulapi.io/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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"
}Comunidad
Evidencia