Skip to content
Back to search
📊 Intel view 📋 Audit JSON 🔄 Changelog
80
A2A live JSON-RPC A2A 1.0 v1.0.0

Uptimeify

uptimeify.io · Uptimeify

Uptimeify monitoring agent. Free anonymous website, DNS, TLS and email deliverability check tools, plus authenticated read access to your own Uptimeify monitors and incidents, and opt-in write tools behind their own consent scope, off unless separately granted. Interact over the Model Context Protocol (MCP) at /mcp.

Build a free agent shortlist. Save this listing to revisit it from your account. Sign in to save
🛡
Own this agent?
Verify the domain uptimeify.io via a single DNS TXT record to add the verified by owner badge, embed an Agenstry badge on your README, and earn back the missing conformance points listed below.
Verify ownership

Compare public evidence

🔔 Watch this agent. Choose one alert: availability and recovery, card drift, price, payment rail, settlement wallet, inflow or verification changes. Add more alert types from your account. Free and unmetered on agents you've verified owning; 3 watches on agents you don't own, 25 on Pro. Sign in to watch
Trust score
80/100
grade B · 9 criteria
Uptime
96.4%
56 direct probes · 30d
~46 ms response
Observed inflow · 30d
—
no payment wallet declared
Invocations · 7d
0
no calls observed
Card drift · 7d
stable
7 snapshots tracked
Owner
unverified
claim this listing →

Dispute or improve this rating

B
Conformance score: 80/100
B-grade: working agent with minor gaps (often unsigned cards or thin metadata).
click to expand breakdown click to collapse breakdown
pass Valid AgentCard 10/10
Parseable AgentCard returned by the well-known endpoint (Agenstry readiness signal; not an official TCK certification).
pass Live JSON-RPC 25/25
Endpoint responds to a negotiated A2A SendMessage probe (answers in ~46 ms).
pass Protocol version 10/10
Declares A2A 1.0 with supportedInterfaces[] (current v1 card shape).
info JWS signature 0/10
Card is unsigned (most published agents are).
pass Uptime track record 14/15
54/56 probes succeeded (96% uptime).
pass Skill declaration 10/10
Declares 33 skills with structured metadata.
partial Verified Identity 5/10
Provider declared: Uptimeify (https://uptimeify.io). Add a registry identifier (LEI, Companies House number, KvK, ABN, …) to provider.legalEntity for full verified-business credit.
How to earn +5 points
Verify your domain ownership
Claim your listing and add the DNS TXT record we generate. Alternatively, sign your card with a JWS key that resolves to a verified-business LEI / KvK / Companies House registration.
Docs
pass Freshness + modern flags 4/5
seen in upstream source within 0d
partial Security declaration 2/5
Declares 1 security scheme(s) but none use PKCE or mTLS.
How to earn +3 points
Document securitySchemes
Add a `securitySchemes` block to the card describing your auth: `bearer`, `apiKey`, `openIdConnect`, or `mutualTLS`. Routers refuse to call agents that declare no auth model.
Docs

Activity (audit trail)

last 24h · 0 invocations Public aggregate · no PII recorded

Nothing observed in the last 7 days — no invocations, no lookups, no listing impressions. Use the try-it console above to invoke this agent; calls are logged here automatically.

Card history

7 snapshots drifted 6× Every change to agent-card.json
Agent card snapshots
Captured Hash Snapshot
2026-10-09 18:47:46 current 0299d366e18f… view →
2026-10-07 22:41:49 c7af4fe73d11… view →
2026-09-12 12:38:08 661174a4808f… view →
2026-09-04 20:49:46 a4c91cd526da… view →
2026-09-02 20:27:15 81b2db858a2d… view →
2026-08-12 19:20:17 d3c7042fc8ae… view →
2026-08-05 06:46:53 abb8e4454972… view →
Uptime
96.4%
56 direct probes · 30d
Response
77ms
last direct probe
Skills
33
declared
Streaming
✓
SSE-capable

Try it

Send a message to this agent live. Your prompt is proxied through Agenstry.

calling agent… ⌘/Ctrl + Enter

Endpoints

Agent cardhttps://uptimeify.io/.well-known/agent-card.json
Providerhttps://uptimeify.io
Docshttps://docs.uptimeify.io
About this provider off-card enrichment
SSL certificate
Let's Encrypt
expires 2026-12-07
Discovered via
mcp_registry recrawl_hot smithery recrawl_warm

Skills · 33 declared by this agent

These skills are declared by the agent. A taxonomy link appears only when we can classify a skill confidently.

check_ssl

Fetches and evaluates a host's TLS certificate over a live handshake: subject, issuer, validity window, days until expiry, hostname match, chain trust, self-sig…

No taxonomy category yet
monitoringanonymous
check_dns

Resolves a domain's DNS records in one call (A, AAAA, CNAME, MX, TXT, NS, SOA and more) and returns each record type with its values, or a per-type error where …

No taxonomy category yet
monitoringanonymous
dns_propagation

Queries one domain against several public resolvers and compares the answers, which tells a recent record change apart from a stale cache. Returns each resolver…

No taxonomy category yet
monitoringanonymous
mx_lookup

Looks up a domain's MX records and resolves each mail exchanger to its IPv4 and IPv6 addresses, ordered by priority, flagging hosts that resolve into private ad…

No taxonomy category yet
monitoringanonymous
spf_check

Fetches a domain's SPF record and evaluates it: raw record, parsed terms with qualifiers, DNS lookups counted against the RFC 7208 limit of ten, the final `all`…

No taxonomy category yet
monitoringanonymous
dkim_check

Fetches and validates the DKIM public key at <selector>._domainkey.<domain>: parsed tags, key type, key size and warnings such as a revoked or malformed key. Th…

No taxonomy category yet
monitoringanonymous
dmarc_check

Fetches a domain's DMARC record from _dmarc.<domain> and evaluates it: raw record, parsed tags, policy and subdomain policy, percentage, and warnings for record…

No taxonomy category yet
monitoringanonymous
dnsbl_check

Checks a public IP address against common DNS blocklists and returns, per list, whether it is listed, the list's reason code and delisting URL, plus totals and …

No taxonomy category yet
monitoringanonymous
whois

Retrieves WHOIS registration data for a domain: registrar, creation, update and expiry dates, EPP status codes, nameservers and the contact roles the registry s…

No taxonomy category yet
monitoringanonymous
domain_expiry

Reports a domain's registration expiry from WHOIS with the remaining days, plus registrar, creation and update dates and the EPP status codes that reveal redemp…

No taxonomy category yet
monitoringanonymous
http_headers

Fetches a URL and returns its HTTP response headers verbatim as a name/value map, with the status line and every redirect hop. The response body is never return…

No taxonomy category yet
monitoringanonymous
hsts_check

Checks a domain's HTTP Strict Transport Security setup: header presence and raw value, max-age, includeSubDomains and preload flags, whether plain HTTP redirect…

No taxonomy category yet
monitoringanonymous
redirect_check

Follows a URL's redirect chain hop by hop and returns each step's status, source and target, the final URL and status, the hop count, and warnings for loops, HT…

No taxonomy category yet
monitoringanonymous
port_check

Opens TCP connections to one port or a list of up to 10 ports on a host and reports each as open, closed or filtered, with the time taken. partial=true means no…

No taxonomy category yet
monitoringanonymous
ping_test

Measures reachability and round-trip time with repeated TCP connections to a host port (default 443), returning every attempt, sent and received counts, packet …

No taxonomy category yet
monitoringanonymous
website_status

Checks whether a website is up right now: up/down verdict, HTTP status and text, response time, server header and number of redirects followed. The usual first …

No taxonomy category yet
monitoringanonymous
response_time

Measures how fast a URL answers over several samples, returning each sample plus min, average and max milliseconds, the HTTP status and an `up` flag. partial=tr…

No taxonomy category yet
monitoringanonymous
ip_geolocation

Locates a public IP address, or a domain resolved to one, at network level: country code, registry, announced prefix, PTR hostname and autonomous systems. Regis…

No taxonomy category yet
monitoringanonymous
asn_lookup

Resolves a public IP address, or a domain, to the autonomous system that announces it: AS number and name, announced prefix, country code, registry and allocati…

No taxonomy category yet
monitoringanonymous
reverse_dns

Resolves a public IP address to the PTR hostnames published for it, or returns the resolver's error where there is none. A PTR is set by whoever controls the ad…

No taxonomy category yet
monitoringanonymous
list_monitors

Lists the monitors the caller can see across all eight families (website, dns, icmp, tcp, ftp, smtp, ssh, imap_pop), with current up/down state (`isDown`, `isRe…

No taxonomy category yet
monitoringauthenticated
monitor_status

Returns one monitor by id with its configuration, active flag (`isActive`) and last check time. The current up/down state and uptime come from list_monitors (us…

No taxonomy category yet
monitoringauthenticated
list_incidents

Lists recent incidents across all of the caller's monitors, most recent first. Read-only.

No taxonomy category yet
monitoringauthenticated
check_history

Returns the check history of one monitor, newest first, optionally bounded by an ISO date range. The answer is paged (`page`, `pageCount`); pass `page` for olde…

No taxonomy category yet
monitoringauthenticated
uptime_summary

Returns uptime and average response time per day, month and year for a website monitor. Website monitors only; the other families have no uptime summary. Read-o…

No taxonomy category yet
monitoringauthenticated
list_alert_channels

Lists the notification channels that can alert the caller: name, type (email, sms, webhook or a chat/on-call integration), active flag and delay in seconds. Wit…

No taxonomy category yet
monitoringauthenticated
alert_history

Returns the alert history of one monitor: which alerts went out, when, over which channel, and whether delivery succeeded or failed with which error. Takes the …

No taxonomy category yet
monitoringauthenticated
list_status_pages

Lists the caller's status pages: name, slug, description, customer, published state, visibility (public, customer_members_only or password_protected), whether a…

No taxonomy category yet
monitoringauthenticated
list_maintenance_windows

Lists the caller's maintenance windows: name, start and end, IANA timezone, recurrence, active flag and covered monitors (`targets`). Monitors in a running wind…

No taxonomy category yet
monitoringauthenticated
get_organization

Returns the caller's organization: numeric id, public id, name, account status and, for a deactivated account scheduled for deletion, the deletion date. These f…

No taxonomy category yet
monitoringauthenticated
list_users

Lists the organization members the caller may see: name, role (admin, editor or readonly), active flag and join date, plus `limits.currentSeats`, the number of …

No taxonomy category yet
monitoringauthenticated
list_customers

Lists the organization's customers: numeric id, public id, name, status, creation date and monitor counts (total, managed, self-service, DNSBL). A customer-boun…

No taxonomy category yet
monitoringauthenticated
billing_summary

Returns the current month's SMS usage for the organization: the total and a per-customer breakdown. No tariff, amount, currency, invoice, address or payment met…

No taxonomy category yet
monitoringauthenticated

Health · last 30 probes

When HTTP Live JSON-RPC Latency
2026-10-25 13:25:14 200 ✓ 77ms
2026-10-24 23:24:11 200 ✓ 44ms
2026-10-24 02:30:27 500 — —
2026-10-23 13:30:13 500 — —
2026-10-23 01:34:45 200 ✓ 45ms
2026-10-22 11:54:10 200 ✓ 62ms
2026-10-21 22:52:16 200 ✓ 46ms
2026-10-21 09:36:02 200 ✓ 33ms
2026-10-20 20:18:40 200 ✓ 32ms
2026-10-20 01:37:35 200 ✓ 35ms

Who's calling this agent 30d

3 interactions captured (impressions + lookups + A2A calls)

By AI host (caller_kind) · top 3
MJ12bot / Majestic (SEO tool) 3 (100%)
Caller geography · top 3
FR 3
Via which API surface · top 3
web 3

Public view: top 3 per dimension. Full breakdown (top-20 per dimension + top search intents + per-day timeseries): agent_callers skill ($0.05/call, $0 on Enterprise). Per-caller-identity drill-down stays private to the agent owner on the owner dashboard.

Similar agents embedding-nearest

orbit Web Tools live
Web utilities for agents, computed live at call time: URL health/redirect/x402 check, web page to Markdown (robots.txt honoured), DNS lookup
orbit-builder · q 100%
Domain Intel
Pay-per-call domain intelligence: domain in, WHOIS, DNS, mail policy, certificate and subdomains out.
Die Netzhandwerker · q 78%
Domain Intel
Pay-per-call domain intelligence: domain in, WHOIS, DNS, mail policy, certificate and subdomains out.
Die Netzhandwerker · q 78%
NetIntel
Network & web intelligence API for AI agents — DNS, SSL/TLS, WHOIS & domain, IP & network, email security, web fingerprinting, OSINT, and LL
NetIntel · q 90%
NetIntel
Network & web intelligence API for AI agents — DNS, SSL/TLS, WHOIS & domain, IP & network, email security, web fingerprinting, OSINT, and LL
NetIntel · q 90%
WatchFor
Modern uptime and infrastructure monitoring for humans and AI agents. Through this endpoint an agent can check current status, diagnose what
WatchFor · q 80%

Embed your Agenstry badge

Paste any of these into your README, agent card, or marketing page. Each badge auto-updates and links back to this page.

Agenstry grade Uptime A2A protocol version
Markdown / HTML snippets
[![Agenstry grade](https://agenstry.com/badge/uptimeify.io.svg)](https://agenstry.com/agents/uptimeify.io)
[![Verified Business](https://agenstry.com/badge/uptimeify.io/identity.svg)](https://agenstry.com/agents/uptimeify.io)
[![Uptime](https://agenstry.com/badge/uptimeify.io/uptime.svg)](https://agenstry.com/agents/uptimeify.io)
[![A2A version](https://agenstry.com/badge/uptimeify.io/protocol.svg)](https://agenstry.com/agents/uptimeify.io)

Audit-grade evidence bundle

JSON snapshot for vendor-review files. Add ?sign=true for a JWS-signed envelope verifiable against our JWKS. See the methodology.

audit.json audit.json (JWS-signed) verification history
Raw agent card JSON
{
  "name": "Uptimeify",
  "description": "Uptimeify monitoring agent. Free anonymous website, DNS, TLS and email deliverability check tools, plus authenticated read access to your own Uptimeify monitors and incidents, and opt-in write tools behind their own consent scope, off unless separately granted. Interact over the Model Context Protocol (MCP) at /mcp.",
  "url": "https://uptimeify.io/mcp",
  "provider": {
    "organization": "Uptimeify",
    "url": "https://uptimeify.io"
  },
  "version": "1.0.0",
  "documentationUrl": "https://docs.uptimeify.io",
  "iconUrl": "https://uptimeify.io/favicon.ico",
  "supportedInterfaces": [
    {
      "url": "https://uptimeify.io/mcp",
      "protocolBinding": "https://uptimeify.io/a2a/bindings/mcp/v1",
      "protocolVersion": "1.0"
    }
  ],
  "capabilities": {
    "streaming": true,
    "pushNotifications": false,
    "extendedAgentCard": false,
    "extensions": [
      {
        "uri": "https://uptimeify.io/a2a/bindings/mcp/v1",
        "description": "Uptimeify is reached over the Model Context Protocol (streamable HTTP) rather than an A2A protocol binding. Connect an MCP client to the interface URL; tools map to the skills below.",
        "required": false,
        "params": {
          "mcpProtocolVersion": "2025-11-25",
          "transport": "streamable-http",
          "discovery": "https://uptimeify.io/.well-known/mcp.json"
        }
      }
    ]
  },
  "securitySchemes": {
    "bearer": {
      "httpAuthSecurityScheme": {
        "scheme": "Bearer",
        "description": "Uptimeify API token (starts with wsm_), created in the dashboard under API Tokens. OAuth 2.0 with PKCE is also supported; see /.well-known/oauth-authorization-server."
      }
    }
  },
  "defaultInputModes": [
    "text/plain",
    "application/json"
  ],
  "defaultOutputModes": [
    "text/plain",
    "application/json"
  ],
  "skills": [
    {
      "id": "check_ssl",
      "name": "check_ssl",
      "description": "Fetches and evaluates a host's TLS certificate over a live handshake: subject, issuer, validity window, days until expiry, hostname match, chain trust, self-signed and expired flags, SANs, serial and SHA-256 fingerprint. Takes a hostname (not an IP address) and an optional port (default 443). A single sample taken now; HTTP behaviour is covered by website_status and the HSTS policy by hsts_check. Anonymous, rate-limited per IP; private and reserved addresses are refused.",
      "tags": [
        "monitoring",
        "anonymous"
      ]
    },
    {
      "id": "check_dns",
      "name": "check_dns",
      "description": "Resolves a domain's DNS records in one call (A, AAAA, CNAME, MX, TXT, NS, SOA and more) and returns each record type with its values, or a per-type error where a lookup failed. Answers come from a single resolver; dns_propagation compares several. Reads records only and never connects to the host. Anonymous, rate-limited per IP.",
      "tags": [
        "monitoring",
        "anonymous"
      ]
    },
    {
      "id": "dns_propagation",
      "name": "dns_propagation",
      "description": "Queries one domain against several public resolvers and compares the answers, which tells a recent record change apart from a stale cache. Returns each resolver with its values and a `consistent` flag that stays false while the answers differ. check_dns is the cheaper call for a single reading of all record types. Anonymous, rate-limited per IP.",
      "tags": [
        "monitoring",
        "anonymous"
      ]
    },
    {
      "id": "mx_lookup",
      "name": "mx_lookup",
      "description": "Looks up a domain's MX records and resolves each mail exchanger to its IPv4 and IPv6 addresses, ordered by priority, flagging hosts that resolve into private address space. Shows where mail is delivered; it does not connect to the servers or test SMTP, and sender authorisation is covered by spf_check, dkim_check and dmarc_check. Anonymous, rate-limited per IP.",
      "tags": [
        "monitoring",
        "anonymous"
      ]
    },
    {
      "id": "spf_check",
      "name": "spf_check",
      "description": "Fetches a domain's SPF record and evaluates it: raw record, parsed terms with qualifiers, DNS lookups counted against the RFC 7208 limit of ten, the final `all` qualifier, and warnings for common silent failures. A domain without a record returns found=false. Alignment and reporting belong to dmarc_check, signing keys to dkim_check. Anonymous, rate-limited per IP.",
      "tags": [
        "monitoring",
        "anonymous"
      ]
    },
    {
      "id": "dkim_check",
      "name": "dkim_check",
      "description": "Fetches and validates the DKIM public key at <selector>._domainkey.<domain>: parsed tags, key type, key size and warnings such as a revoked or malformed key. The selector is required and cannot be derived from the domain; it appears in a message's DKIM-Signature header (common provider values: google, selector1, default, k1). An unused selector returns found=false. Anonymous, rate-limited per IP.",
      "tags": [
        "monitoring",
        "anonymous"
      ]
    },
    {
      "id": "dmarc_check",
      "name": "dmarc_check",
      "description": "Fetches a domain's DMARC record from _dmarc.<domain> and evaluates it: raw record, parsed tags, policy and subdomain policy, percentage, and warnings for records that parse but offer no protection (p=none, missing rua). Reports the published policy, not whether real mail passes it; spf_check and dkim_check cover the mechanisms it aligns against. Anonymous, rate-limited per IP.",
      "tags": [
        "monitoring",
        "anonymous"
      ]
    },
    {
      "id": "dnsbl_check",
      "name": "dnsbl_check",
      "description": "Checks a public IP address against common DNS blocklists and returns, per list, whether it is listed, the list's reason code and delisting URL, plus totals and a `clean` flag. Takes an IP address, not a domain (mx_lookup or check_dns resolve one). Slow lists are skipped rather than awaited, so partial=true marks a provisional verdict. One call reflects only the current moment. Anonymous, with the strictest per-IP rate limit of the anonymous tools.",
      "tags": [
        "monitoring",
        "anonymous"
      ]
    },
    {
      "id": "whois",
      "name": "whois",
      "description": "Retrieves WHOIS registration data for a domain: registrar, creation, update and expiry dates, EPP status codes, nameservers and the contact roles the registry still publishes (personal data is usually redacted). tldSupported=false means the TLD has no queryable WHOIS server, which differs from an unregistered domain (found=false). domain_expiry returns the expiry with the remaining days computed. Anonymous, rate-limited per IP.",
      "tags": [
        "monitoring",
        "anonymous"
      ]
    },
    {
      "id": "domain_expiry",
      "name": "domain_expiry",
      "description": "Reports a domain's registration expiry from WHOIS with the remaining days, plus registrar, creation and update dates and the EPP status codes that reveal redemption or pending delete. Covers the registration, not the TLS certificate (check_ssl). tldSupported=false means the TLD has no queryable WHOIS server, not that the domain is unregistered. Anonymous, rate-limited per IP.",
      "tags": [
        "monitoring",
        "anonymous"
      ]
    },
    {
      "id": "http_headers",
      "name": "http_headers",
      "description": "Fetches a URL and returns its HTTP response headers verbatim as a name/value map, with the status line and every redirect hop. The response body is never returned. website_status gives a plain up/down verdict and redirect_check the redirect chain alone. Anonymous, rate-limited per IP; private and reserved addresses are refused.",
      "tags": [
        "monitoring",
        "anonymous"
      ]
    },
    {
      "id": "hsts_check",
      "name": "hsts_check",
      "description": "Checks a domain's HTTP Strict Transport Security setup: header presence and raw value, max-age, includeSubDomains and preload flags, whether plain HTTP redirects to HTTPS, preload-list eligibility, and warnings for ineffective values. Reports the advertised policy only; the certificate is check_ssl and the redirect chain redirect_check. Anonymous, rate-limited per IP; private and reserved addresses are refused.",
      "tags": [
        "monitoring",
        "anonymous"
      ]
    },
    {
      "id": "redirect_check",
      "name": "redirect_check",
      "description": "Follows a URL's redirect chain hop by hop and returns each step's status, source and target, the final URL and status, the hop count, and warnings for loops, HTTPS-to-HTTP downgrades and overly long chains. Body and headers of the destination are not returned (http_headers covers headers). Anonymous, rate-limited per IP; private and reserved addresses are refused.",
      "tags": [
        "monitoring",
        "anonymous"
      ]
    },
    {
      "id": "port_check",
      "name": "port_check",
      "description": "Opens TCP connections to one port or a list of up to 10 ports on a host and reports each as open, closed or filtered, with the time taken. partial=true means not every port answered within the time budget; filtered means no answer arrived, not that the port is certainly closed. TCP only, no UDP. Anonymous, rate-limited per IP; hosts resolving to private or reserved addresses are refused.",
      "tags": [
        "monitoring",
        "anonymous"
      ]
    },
    {
      "id": "ping_test",
      "name": "ping_test",
      "description": "Measures reachability and round-trip time with repeated TCP connections to a host port (default 443), returning every attempt, sent and received counts, packet loss and min/avg/max milliseconds. A TCP handshake, not an ICMP echo, so hosts that drop ICMP still answer. website_status gives a one-shot verdict for a website. Anonymous, rate-limited per IP; private and reserved addresses are refused.",
      "tags": [
        "monitoring",
        "anonymous"
      ]
    },
    {
      "id": "website_status",
      "name": "website_status",
      "description": "Checks whether a website is up right now: up/down verdict, HTTP status and text, response time, server header and number of redirects followed. The usual first call for any is-the-site-down question. A single sample from one location, not uptime; response_time, http_headers and redirect_check go deeper. Anonymous, rate-limited per IP; private and reserved addresses are refused.",
      "tags": [
        "monitoring",
        "anonymous"
      ]
    },
    {
      "id": "response_time",
      "name": "response_time",
      "description": "Measures how fast a URL answers over several samples, returning each sample plus min, average and max milliseconds, the HTTP status and an `up` flag. partial=true means fewer samples returned than requested. Measures the HTTP response only: no browser runs, so JavaScript, assets and Core Web Vitals are not reflected. A snapshot, not a trend. Anonymous, rate-limited per IP; private and reserved addresses are refused.",
      "tags": [
        "monitoring",
        "anonymous"
      ]
    },
    {
      "id": "ip_geolocation",
      "name": "ip_geolocation",
      "description": "Locates a public IP address, or a domain resolved to one, at network level: country code, registry, announced prefix, PTR hostname and autonomous systems. Registry-based, so it names the network operator's country, which for hosted or CDN addresses differs from where a visitor or business is located; it is not a street address. Private and reserved addresses have no answer. Anonymous, rate-limited per IP.",
      "tags": [
        "monitoring",
        "anonymous"
      ]
    },
    {
      "id": "asn_lookup",
      "name": "asn_lookup",
      "description": "Resolves a public IP address, or a domain, to the autonomous system that announces it: AS number and name, announced prefix, country code, registry and allocation date. Distinguishes hosting providers, CDNs and corporate networks; it does not identify the site owner. Private and reserved addresses have no announcing AS. ip_geolocation returns the same AS data plus country and PTR. Anonymous, rate-limited per IP.",
      "tags": [
        "monitoring",
        "anonymous"
      ]
    },
    {
      "id": "reverse_dns",
      "name": "reverse_dns",
      "description": "Resolves a public IP address to the PTR hostnames published for it, or returns the resolver's error where there is none. A PTR is set by whoever controls the address block, so it names the host rather than necessarily the site; a missing PTR is common and not a fault. Forward and reverse records need not agree, and this call does not check that they do. Anonymous, rate-limited per IP.",
      "tags": [
        "monitoring",
        "anonymous"
      ]
    },
    {
      "id": "list_monitors",
      "name": "list_monitors",
      "description": "Lists the monitors the caller can see across all eight families (website, dns, icmp, tcp, ftp, smtp, ssh, imap_pop), with current up/down state (`isDown`, `isRecovering`) and uptime. `kind` limits it to one family, `search` matches name, URL/hostname or customer, `customer_id` limits it to one customer. Each family returns up to 50 items per `page`; `total` is the real count across the queried families, so fewer items than `total` means more pages. Each item carries its `kind`, which monitor_status, check_history and alert_history take. Read-only.",
      "tags": [
        "monitoring",
        "authenticated"
      ],
      "requiredScope": "mcp:monitors:read",
      "securityRequirements": [
        {
          "schemes": {
            "bearer": {
              "list": []
            }
          }
        }
      ]
    },
    {
      "id": "monitor_status",
      "name": "monitor_status",
      "description": "Returns one monitor by id with its configuration, active flag (`isActive`) and last check time. The current up/down state and uptime come from list_monitors (use `search` to find the monitor there); this detail view does not carry them. Takes the `kind` from list_monitors; without it, website is assumed. Read-only.",
      "tags": [
        "monitoring",
        "authenticated"
      ],
      "requiredScope": "mcp:monitors:read",
      "securityRequirements": [
        {
          "schemes": {
            "bearer": {
              "list": []
            }
          }
        }
      ]
    },
    {
      "id": "list_incidents",
      "name": "list_incidents",
      "description": "Lists recent incidents across all of the caller's monitors, most recent first. Read-only.",
      "tags": [
        "monitoring",
        "authenticated"
      ],
      "requiredScope": "mcp:incidents:read",
      "securityRequirements": [
        {
          "schemes": {
            "bearer": {
              "list": []
            }
          }
        }
      ]
    },
    {
      "id": "check_history",
      "name": "check_history",
      "description": "Returns the check history of one monitor, newest first, optionally bounded by an ISO date range. The answer is paged (`page`, `pageCount`); pass `page` for older entries. Takes the `kind` from list_monitors; without it, website is assumed. Read-only.",
      "tags": [
        "monitoring",
        "authenticated"
      ],
      "requiredScope": "mcp:checks:read",
      "securityRequirements": [
        {
          "schemes": {
            "bearer": {
              "list": []
            }
          }
        }
      ]
    },
    {
      "id": "uptime_summary",
      "name": "uptime_summary",
      "description": "Returns uptime and average response time per day, month and year for a website monitor. Website monitors only; the other families have no uptime summary. Read-only.",
      "tags": [
        "monitoring",
        "authenticated"
      ],
      "requiredScope": "mcp:checks:read",
      "securityRequirements": [
        {
          "schemes": {
            "bearer": {
              "list": []
            }
          }
        }
      ]
    },
    {
      "id": "list_alert_channels",
      "name": "list_alert_channels",
      "description": "Lists the notification channels that can alert the caller: name, type (email, sms, webhook or a chat/on-call integration), active flag and delay in seconds. Without `website_id` it returns the organization-level channels; with it, the channels that apply to that monitor including its overrides. Channel configuration (recipients, targets, credentials) is not returned. Together with alert_history it explains whether an alert reached someone. Read-only.",
      "tags": [
        "monitoring",
        "authenticated"
      ],
      "requiredScope": "mcp:alerts:read",
      "securityRequirements": [
        {
          "schemes": {
            "bearer": {
              "list": []
            }
          }
        }
      ]
    },
    {
      "id": "alert_history",
      "name": "alert_history",
      "description": "Returns the alert history of one monitor: which alerts went out, when, over which channel, and whether delivery succeeded or failed with which error. Takes the `kind` from list_monitors (default website); paged, 25 entries by default, 100 at most. Channel configuration is not returned, but `errorMessage` is free text from the delivery attempt and can quote a mail server, a recipient or a webhook host. Read-only.",
      "tags": [
        "monitoring",
        "authenticated"
      ],
      "requiredScope": "mcp:alerts:read",
      "securityRequirements": [
        {
          "schemes": {
            "bearer": {
              "list": []
            }
          }
        }
      ]
    },
    {
      "id": "list_status_pages",
      "name": "list_status_pages",
      "description": "Lists the caller's status pages: name, slug, description, customer, published state, visibility (public, customer_members_only or password_protected), whether a password is set, hidden monitors and the custom domain. Subscriber lists, the visual design and the domain's DNS verification token are not returned. Read-only.",
      "tags": [
        "monitoring",
        "authenticated"
      ],
      "requiredScope": "mcp:statuspages:read",
      "securityRequirements": [
        {
          "schemes": {
            "bearer": {
              "list": []
            }
          }
        }
      ]
    },
    {
      "id": "list_maintenance_windows",
      "name": "list_maintenance_windows",
      "description": "Lists the caller's maintenance windows: name, start and end, IANA timezone, recurrence, active flag and covered monitors (`targets`). Monitors in a running window raise no alerts. There is no date filter: past and future windows are all returned, 25 per `page` (`total` and `pageCount` say how many there are). Read-only.",
      "tags": [
        "monitoring",
        "authenticated"
      ],
      "requiredScope": "mcp:statuspages:read",
      "securityRequirements": [
        {
          "schemes": {
            "bearer": {
              "list": []
            }
          }
        }
      ]
    },
    {
      "id": "get_organization",
      "name": "get_organization",
      "description": "Returns the caller's organization: numeric id, public id, name, account status and, for a deactivated account scheduled for deletion, the deletion date. These five fields are the whole answer; billing, payment, quota, MFA policy and notification defaults are not included. Read-only.",
      "tags": [
        "monitoring",
        "authenticated"
      ],
      "requiredScope": "mcp:organization:read",
      "securityRequirements": [
        {
          "schemes": {
            "bearer": {
              "list": []
            }
          }
        }
      ]
    },
    {
      "id": "list_users",
      "name": "list_users",
      "description": "Lists the organization members the caller may see: name, role (admin, editor or readonly), active flag and join date, plus `limits.currentSeats`, the number of members in this answer. No e-mail addresses, avatars, customer assignments or member ids are returned. For a customer-scoped token the list is narrowed to that customer's members and the caller, so it is not the organization's size. Read-only.",
      "tags": [
        "monitoring",
        "authenticated"
      ],
      "requiredScope": "mcp:organization:read",
      "securityRequirements": [
        {
          "schemes": {
            "bearer": {
              "list": []
            }
          }
        }
      ]
    },
    {
      "id": "list_customers",
      "name": "list_customers",
      "description": "Lists the organization's customers: numeric id, public id, name, status, creation date and monitor counts (total, managed, self-service, DNSBL). A customer-bound token sees only its own customer. Contact data, addresses, VAT id, cancellation dates, custom fields and the tariff are not returned. Read-only.",
      "tags": [
        "monitoring",
        "authenticated"
      ],
      "requiredScope": "mcp:organization:read",
      "securityRequirements": [
        {
          "schemes": {
            "bearer": {
              "list": []
            }
          }
        }
      ]
    },
    {
      "id": "billing_summary",
      "name": "billing_summary",
      "description": "Returns the current month's SMS usage for the organization: the total and a per-customer breakdown. No tariff, amount, currency, invoice, address or payment method is returned. Customers are named only when the connection also holds the organization scope and are otherwise identified by public id. A customer-bound token sees only its own customer. Read-only.",
      "tags": [
        "monitoring",
        "authenticated"
      ],
      "requiredScope": "mcp:billing:read",
      "securityRequirements": [
        {
          "schemes": {
            "bearer": {
              "list": []
            }
          }
        }
      ]
    }
  ]
}