updown-io

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

사용해야 할까요

품질 및 안전성

A
설명 품질
100%
스키마 완전성
82%
이름 품질
80%
오염 위험
80%
권한 일치
100%
프로토콜 준수
100%

발견 사항 (2)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool description contains suspicious base64-like encoded stringupdown_get_check_metrics에서

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~3,723토큰 (도구 정의)
~1.9 KB일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 2.91%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "updown-io": {
      "url": "https://updown-io.usefulapi.io/mcp"
    }
  }
}

원격 엔드포인트

https://updown-io.usefulapi.io/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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"
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 14개