{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_fgwk2fbmzees","handle":"uptimeify","url":"https://wellknown.network/agents/uptimeify","links":{"self":"https://wellknown.network/agents/uptimeify/record.json","html":"https://wellknown.network/agents/uptimeify","markdown":"https://wellknown.network/agents/uptimeify/record.md","api":"https://wellknown.network/api/v1/agents/uptimeify","status":"https://wellknown.network/api/v1/agents/uptimeify/status","claim":"https://wellknown.network/agents/uptimeify/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/uptimeify/claim.json","badge":"https://wellknown.network/agents/uptimeify/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/uptimeify/history","tools":"https://wellknown.network/api/v1/agents/uptimeify/tools"},"ard":{"identifier":"urn:air:uptimeify.io:agent:uptimeify","type":"application/a2a-agent-card+json"},"kind":"agent","declared":{"name":"Uptimeify","summary":"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 Proto…","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.","publisher":{"name":"Uptimeify","url":"https://uptimeify.io"},"homepage":"https://docs.uptimeify.io","repository":null,"version":"1.0.0","license":null,"protocols":["a2a","mcp"],"tags":["monitoring","anonymous","authenticated"],"pricing":null,"endpoints":[{"url":"https://uptimeify.io/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":[{"id":"check_ssl","name":"check_ssl","tags":["monitoring","anonymous"],"description":"Fetch and evaluate a host's TLS/SSL certificate over a live handshake: subject and 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, plus an optional port (default 443). This is a single sample taken now: it does not watch the certificate over time, says nothing about the HTTP response behind it (website_status) and nothing about the transport policy the site advertis…"},{"id":"check_dns","name":"check_dns","tags":["monitoring","anonymous"],"description":"Resolve a domain's DNS records in one call (A, AAAA, CNAME, MX, TXT, NS, SOA and more), returning each record type with its values and a per-type error where a lookup failed. Answers come from the resolver Uptimeify uses, so this is one vantage point: to see whether the answer is already the same everywhere, use dns_propagation. It reads records only and never connects to the host. Anonymous and rate-limited per IP."},{"id":"dns_propagation","name":"dns_propagation","tags":["monitoring","anonymous"],"description":"Query the same domain against several public resolvers and compare the answers, so a recent record change can be told apart from a stale cache. Returns each resolver with the values it gave, plus a consistent flag that stays false while the answers still differ. Use it after changing DNS; for a single reading of all record types, check_dns is the cheaper call. Anonymous and rate-limited per IP."},{"id":"mx_lookup","name":"mx_lookup","tags":["monitoring","anonymous"],"description":"Look up a domain's MX records and resolve each mail exchanger to its IPv4 and IPv6 addresses, ordered by priority and flagged when a host resolves into private address space. Tells you where mail for the domain is delivered; it does not connect to those servers, does not test SMTP, and says nothing about whether the domain is authorised to send (spf_check, dkim_check, dmarc_check). Anonymous and rate-limited per IP."},{"id":"spf_check","name":"spf_check","tags":["monitoring","anonymous"],"description":"Fetch a domain's SPF record and evaluate the policy: the raw record, every parsed term with its qualifier, the number of DNS lookups it costs against the RFC 7208 limit of ten, the final all qualifier, and warnings for the failure modes that silently break sending. Covers the sending policy only -- alignment and reporting are DMARC (dmarc_check), the signing key is DKIM (dkim_check). A domain without a record returns found=false, which is an answer, not an error. Anonymous and rate-limited per …"},{"id":"dkim_check","name":"dkim_check","tags":["monitoring","anonymous"],"description":"Fetch and validate the DKIM public key published at a given selector (<selector>._domainkey.<domain>) and report the parsed tags, key type, key size in bits, and warnings such as a revoked or malformed key. The selector is required and cannot be derived from the domain: read it from a message's DKIM-Signature header, or try the provider's usual value (google, selector1, default, k1). An unused selector returns found=false rather than an error. Anonymous and rate-limited per IP."},{"id":"dmarc_check","name":"dmarc_check","tags":["monitoring","anonymous"],"description":"Fetch a domain's DMARC record from _dmarc.<domain> and evaluate it: the raw record, every parsed tag, the policy and subdomain policy, the percentage the policy applies to, and warnings for records that parse but do not protect (p=none, missing rua, syntax receivers ignore). Reports the published policy, not whether real mail passes it. Pair it with spf_check and dkim_check, the mechanisms DMARC aligns against. Anonymous and rate-limited per IP."},{"id":"dnsbl_check","name":"dnsbl_check","tags":["monitoring","anonymous"],"description":"Query a public IP address against common DNS blacklists and return, per list, whether it is listed, the reason code the list gave and its delisting URL, plus totals and a clean flag. Takes an IP address, not a domain: resolve the sending host first with mx_lookup or check_dns. Slow blocklists are dropped instead of waited for, so partial=true means zonesQueried is below total and a clean verdict is provisional for the lists that never answered. A listing usually appears between checks, so one c…"},{"id":"whois","name":"whois","tags":["monitoring","anonymous"],"description":"Retrieve WHOIS registration data for a domain: registrar, creation, update and expiry dates, EPP status codes, nameservers and the contact roles the registry still publishes. Registries redact personal data since GDPR, so contacts are usually roles without names. Not every TLD has a WHOIS server Uptimeify can query -- tldSupported=false means it could not ask, which is different from a domain that is not registered (found=false). For the expiry date alone, domain_expiry returns it with the rema…"},{"id":"domain_expiry","name":"domain_expiry","tags":["monitoring","anonymous"],"description":"Report a domain's registration expiry from WHOIS together with daysUntilExpiry, plus registrar, creation and update dates and the EPP status codes that reveal a domain already in redemption or pending delete. This is the registration, not the certificate: an expiring TLS certificate is check_ssl. tldSupported=false means the TLD has no WHOIS server Uptimeify can query, which is not the same as an unregistered domain. Anonymous and rate-limited per IP."},{"id":"http_headers","name":"http_headers","tags":["monitoring","anonymous"],"description":"Fetch a URL and return its HTTP response headers verbatim as a name/value map, with the status line and every redirect hop taken to get there. Use it to inspect caching, security and server headers as they are actually sent; the response body is never returned, so this says nothing about page content. For a plain up/down verdict use website_status, for the redirect chain alone redirect_check. Anonymous and rate-limited per IP; hosts resolving to private or reserved address space are refused."},{"id":"hsts_check","name":"hsts_check","tags":["monitoring","anonymous"],"description":"Check a domain's HTTP Strict Transport Security configuration: whether the header is present, its raw value, max-age in seconds, the includeSubDomains and preload flags, whether plain HTTP redirects to HTTPS, whether the configuration would qualify for the browser preload list, and warnings for values that make the header ineffective. Reports the policy the site advertises, not the certificate behind it (check_ssl) and not the full redirect chain (redirect_check). Anonymous and rate-limited per…"},{"id":"redirect_check","name":"redirect_check","tags":["monitoring","anonymous"],"description":"Follow a URL's HTTP redirect chain hop by hop and return every step with its status code, source and target, the final URL and status, the hop count, and warnings for chains that loop, drop from HTTPS to HTTP, or run longer than they should. Answers where a URL ends up and how many round trips that costs; it returns neither the body nor the headers of the destination (http_headers). Anonymous and rate-limited per IP; private and reserved address space is refused."},{"id":"port_check","name":"port_check","tags":["monitoring","anonymous"],"description":"Open a TCP connection to one or more ports on a host and report each as open, closed or filtered with the time the attempt took. Pass a single port or a list of up to 10; a single-port call also gets its answer flat, exactly as before the list form existed. partial=true means not every requested port was answered inside the time budget. TCP only -- there is no UDP check -- and filtered means no answer arrived, not that the port is certainly closed. Anonymous and rate-limited per IP; the host is…"},{"id":"ping_test","name":"ping_test","tags":["monitoring","anonymous"],"description":"Measure reachability and round-trip time by opening repeated TCP connections to a host, reporting every attempt plus the count sent and received, packet loss percentage and min/avg/max milliseconds. This is a TCP handshake against a port (default 443), not an ICMP echo: a host that drops ICMP still answers here, and a host that answers ICMP with the port closed does not. For a one-shot verdict on a website rather than a latency series, use website_status. Anonymous and rate-limited per IP; priv…"},{"id":"website_status","name":"website_status","tags":["monitoring","anonymous"],"description":"Is a website up right now? Start here for any is-the-site-down question: up/down verdict, HTTP status and status text, response time in milliseconds, the server header and the number of redirects followed, in one call. This is a single sample from one location taken now -- it is not uptime, and a site that fails here may be reachable from elsewhere. For the timing breakdown use response_time, for the headers themselves http_headers, for the redirect chain redirect_check. Anonymous and rate-limi…"},{"id":"response_time","name":"response_time","tags":["monitoring","anonymous"],"description":"Measure how fast a URL answers by taking several samples and returning each one plus min, average and max milliseconds, the HTTP status and an up flag. partial=true means fewer samples came back than were requested, so the average rests on a smaller base. This measures the response, not the rendered page: no browser runs, so nothing here reflects JavaScript, assets or Core Web Vitals. One call is a snapshot, not a trend. Anonymous and rate-limited per IP; private and reserved address space is r…"},{"id":"ip_geolocation","name":"ip_geolocation","tags":["monitoring","anonymous"],"description":"Locate a public IP address, or a domain resolved to one, at network level: country code, allocating registry, announced prefix, PTR hostname and the autonomous systems the address belongs to. It is registry-based, so it names the network operator's country, which for hosted or CDN-fronted addresses is not where the visitor or the business sits -- never read it as a street address. Private and reserved addresses have no answer. For the AS and its owner alone use asn_lookup, for the PTR alone rev…"},{"id":"asn_lookup","name":"asn_lookup","tags":["monitoring","anonymous"],"description":"Resolve a public IP address, or a domain, to the autonomous system that announces it: AS number and name, the announced prefix, country code, registry and allocation date. Answers who operates the network an address sits on, which tells a hosting provider from a CDN from a corporate network. It does not identify the site owner, and private or reserved addresses have no announcing AS. ip_geolocation returns the same AS data plus country and PTR. Anonymous and rate-limited per IP."},{"id":"reverse_dns","name":"reverse_dns","tags":["monitoring","anonymous"],"description":"Resolve a public IP address to the PTR hostnames published for it, returning every name the pointer record carries, or 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 running on it, and a missing PTR is common and not a fault. It is not the inverse of check_dns: a forward record and a PTR need not agree, and this call does not verify that they do. Anonymous and rate-limited per IP."},{"id":"list_monitors","name":"list_monitors","tags":["monitoring","authenticated"],"description":"List the monitors the caller can see, across all eight families (website, dns, icmp, tcp, ftp, smtp, ssh, imap_pop). Pass `kind` to limit to one family. Every item carries its `kind`, which monitor_status and check_history need. Each family returns at most one page (50 items); `total` is the real count across the queried families, not the number of items delivered -- if they differ, the list is truncated. Read-only."},{"id":"monitor_status","name":"monitor_status","tags":["monitoring","authenticated"],"description":"Get a single monitor by id, including its current up/down status and configuration. Pass the `kind` you got from list_monitors; without it, website is assumed."},{"id":"list_incidents","name":"list_incidents","tags":["monitoring","authenticated"],"description":"List recent incidents across all of the caller's monitors (most recent first)."},{"id":"check_history","name":"check_history","tags":["monitoring","authenticated"],"description":"Get the recent check history for a monitor. Pass the `kind` you got from list_monitors; without it, website is assumed. Optionally bound by an ISO date range."},{"id":"uptime_summary","name":"uptime_summary","tags":["monitoring","authenticated"],"description":"Get uptime and average response-time summary (day / month / year) for a website monitor. Website monitors only; other families have no uptime endpoint."},{"id":"list_alert_channels","name":"list_alert_channels","tags":["monitoring","authenticated"],"description":"List the notification channels that can raise an alert for the caller: name, type (email, sms, webhook, or one of the chat/on-call integrations), whether the channel is active, and how many seconds it waits after an alert is raised before it fires. Together with alert_history this answers \"why did nobody call me\". Read-only. A channel's own configuration is NOT returned -- no recipient addresses, phone numbers, webhook targets or credentials. Without `website_id` this lists the organization-lev…"},{"id":"alert_history","name":"alert_history","tags":["monitoring","authenticated"],"description":"Get the alert history for one monitor: which alerts went out, when, over which channel (name and type), and whether delivery succeeded or failed with which error. Answers \"why did nobody call me\". Pass the `kind` you got from list_monitors; without it, website is assumed. Paged, 25 entries per page by default, 100 at most. The channel's stored configuration is NOT returned -- no recipient addresses, phone numbers, webhook targets or credentials. `errorMessage` is different: it is free text from…"},{"id":"list_status_pages","name":"list_status_pages","tags":["monitoring","authenticated"],"description":"List the caller's status pages: name, slug, description, which customer each belongs to, whether it is published, its visibility (public, customer_members_only or password_protected) and whether a shared page password is set, the monitors it deliberately hides, and the custom domain it is served on. Read-only. Subscriber lists are NEVER returned -- this tool does not build a subscriber path, and the token guard denies that path outright. The page's visual design and the DNS verification token o…"},{"id":"list_maintenance_windows","name":"list_maintenance_windows","tags":["monitoring","authenticated"],"description":"List the caller's scheduled maintenance windows: name, start and end time, the IANA timezone the recurrence is interpreted in, whether it recurs and how, whether it is active, and which monitors it covers (`targets`, plus `targetKind`/`targetName` for a single-target window). During a window a monitor does not alert, which is the usual answer to \"why was there no incident\". Read-only. This endpoint has NO date-range filter: the result always covers every window the caller can see, past and futu…"},{"id":"get_organization","name":"get_organization","tags":["monitoring","authenticated"],"description":"Get the caller's own organization: its numeric id, public id, name, account status (active or suspended) and, when a deactivated account is scheduled for deletion, the date that happens. Read-only, and deliberately narrow: these five fields are the entire answer. Billing address and cycle, payment method, discount codes, quota and price limits, the MFA policy and the organization's default notification settings are NOT returned, and this tool never reaches the SMTP, audit-log or data-export end…"},{"id":"list_users","name":"list_users","tags":["monitoring","authenticated"],"description":"List the members of the caller's organization that the caller is allowed to see: name, role (admin, editor or readonly), whether the member is still active, and when they joined, alongside `limits.currentSeats`, the number of members contained in this very answer. Answers \"who is responsible for this\". Read-only, and deliberately narrow: no e-mail addresses, no avatars, no customer assignments, and no member identifier at all -- a member can be named but not referenced, and two members sharing …"},{"id":"list_customers","name":"list_customers","tags":["monitoring","authenticated"],"description":"List the customers of the caller's organization: numeric id, public id, name, account status and the date the customer was created, alongside how many monitors each one has (total, managed, self-service and DNSBL entries). A customer-bound token sees only its own customer. Read-only, and deliberately narrow: no contact or notification e-mail, no postal address, no VAT id, no phone number, no cancellation dates, no free-form custom fields and no tariff name -- the tariff is not part of this answ…"},{"id":"billing_summary","name":"billing_summary","tags":["monitoring","authenticated"],"description":"Get the SMS usage of the current month for the caller's organization: the organization-wide total and the per-customer breakdown. SMS usage is the only billing figure this tool reports -- it never returns a tariff or plan, an amount of money, a currency, an invoice or billing date, a billing address, a billing e-mail or a payment method. The breakdown names each customer only when the connection also carries the organization scope; with the billing scope alone every customer is identified by it…"}],"tools":["check_ssl","check_dns","dns_propagation","mx_lookup","spf_check","dkim_check","dmarc_check","dnsbl_check","whois","domain_expiry","http_headers","hsts_check","redirect_check","port_check","ping_test","website_status","response_time","ip_geolocation","asn_lookup","reverse_dns","list_monitors","monitor_status","list_incidents","check_history","uptime_summary","list_alert_channels","alert_history","list_status_pages","list_maintenance_windows","get_organization","list_users","list_customers","billing_summary"],"extra":{"updatedAt":"2026-10-05T13:42:26.374293Z","inputModes":["text/plain","application/json"],"outputModes":["text/plain","application/json"],"publishedAt":"2026-10-05T13:42:26.374293Z","capabilities":{"streaming":true,"pushNotifications":false},"registryName":"io.uptimeify/mcp-server"},"attribution":{"kind":"a2a_card","name":"a2a_card","summary":"a2a_card","version":"a2a_card","description":"a2a_card","homepageUrl":"a2a_card","publisherUrl":"a2a_card","publisherName":"a2a_card"}},"derived":{"capabilities":[{"slug":"dev.monitoring","name":"Monitoring & Observability","confidence":1,"provenance":"declared"},{"slug":"content.writing","name":"Writing & Editing","confidence":0.51,"provenance":"derived"},{"slug":"communication.chat","name":"Team Chat","confidence":0.51,"provenance":"derived"}],"categories":["communication","content","dev"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 2h ago.","lastOkAt":"2026-10-10T03:25:36.392Z","lastProbedAt":"2026-10-10T03:25:36.392Z","statusComputedAt":"2026-10-10T03:27:20.818Z","reliability30d":{"probes":112,"successRate":1,"p50Ms":47,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":111,"ok":111,"authBoundaryOk":0,"serviceOk":111,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-10T03:25:36.392Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":20,"error":null,"detail":{"tools":[{"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-sig"},{"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 "},{"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"},{"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 ad"},{"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`"},{"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. Th"},{"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 record"},{"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 "},{"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 s"},{"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 redemp"},{"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 return"},{"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 redirect"},{"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, HT"},{"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 no"},{"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 "},{"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 "},{"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=tr"},{"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. Regis"},{"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 allocati"},{"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 ad"}],"toolCount":20,"toolsHash":"70811819edae9060ee1643df33a993754678afa7a73e71381b31d01f5f2a1915","serverName":"uptimeify","capabilities":["tools"],"serverVersion":"1.10.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T21:26:01.906Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":30,"error":null,"detail":{"tools":[{"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-sig"},{"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 "},{"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"},{"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 ad"},{"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`"},{"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. Th"},{"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 record"},{"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 "},{"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 s"},{"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 redemp"},{"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 return"},{"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 redirect"},{"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, HT"},{"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 no"},{"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 "},{"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 "},{"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=tr"},{"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. Regis"},{"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 allocati"},{"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 ad"}],"toolCount":20,"toolsHash":"70811819edae9060ee1643df33a993754678afa7a73e71381b31d01f5f2a1915","serverName":"uptimeify","capabilities":["tools"],"serverVersion":"1.10.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T14:31:55.190Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":30,"error":null,"detail":{"tools":[{"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-sig"},{"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 "},{"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"},{"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 ad"},{"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`"},{"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. Th"},{"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 record"},{"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 "},{"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 s"},{"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 redemp"},{"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 return"},{"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 redirect"},{"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, HT"},{"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 no"},{"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 "},{"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 "},{"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=tr"},{"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. Regis"},{"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 allocati"},{"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 ad"}],"toolCount":20,"toolsHash":"70811819edae9060ee1643df33a993754678afa7a73e71381b31d01f5f2a1915","serverName":"uptimeify","capabilities":["tools"],"serverVersion":"1.10.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T08:28:59.532Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":48,"error":null,"detail":{"tools":[{"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-sig"},{"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 "},{"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"},{"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 ad"},{"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`"},{"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. Th"},{"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 record"},{"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 "},{"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 s"},{"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 redemp"},{"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 return"},{"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 redirect"},{"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, HT"},{"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 no"},{"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 "},{"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 "},{"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=tr"},{"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. Regis"},{"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 allocati"},{"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 ad"}],"toolCount":20,"toolsHash":"70811819edae9060ee1643df33a993754678afa7a73e71381b31d01f5f2a1915","serverName":"uptimeify","capabilities":["tools"],"serverVersion":"1.9.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T02:27:02.139Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":37,"error":null,"detail":{"tools":[{"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-sig"},{"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 "},{"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"},{"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 ad"},{"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`"},{"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. Th"},{"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 record"},{"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 "},{"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 s"},{"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 redemp"},{"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 return"},{"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 redirect"},{"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, HT"},{"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 no"},{"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 "},{"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 "},{"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=tr"},{"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. Regis"},{"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 allocati"},{"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 ad"}],"toolCount":20,"toolsHash":"70811819edae9060ee1643df33a993754678afa7a73e71381b31d01f5f2a1915","serverName":"uptimeify","capabilities":["tools"],"serverVersion":"1.9.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T20:25:44.030Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":27,"error":null,"detail":{"tools":[{"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-sig"},{"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 "},{"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"},{"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 ad"},{"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`"},{"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. Th"},{"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 record"},{"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 "},{"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 s"},{"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 redemp"},{"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 return"},{"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 redirect"},{"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, HT"},{"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 no"},{"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 "},{"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 "},{"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=tr"},{"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. Regis"},{"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 allocati"},{"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 ad"}],"toolCount":20,"toolsHash":"70811819edae9060ee1643df33a993754678afa7a73e71381b31d01f5f2a1915","serverName":"uptimeify","capabilities":["tools"],"serverVersion":"1.9.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T14:21:55.720Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":32,"error":null,"detail":{"tools":[{"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-sig"},{"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 "},{"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"},{"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 ad"},{"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`"},{"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. Th"},{"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 record"},{"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 "},{"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 s"},{"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 redemp"},{"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 return"},{"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 redirect"},{"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, HT"},{"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 no"},{"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 "},{"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 "},{"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=tr"},{"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. Regis"},{"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 allocati"},{"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 ad"}],"toolCount":20,"toolsHash":"70811819edae9060ee1643df33a993754678afa7a73e71381b31d01f5f2a1915","serverName":"uptimeify","capabilities":["tools"],"serverVersion":"1.9.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T07:25:39.236Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":30,"error":null,"detail":{"tools":[{"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-sig"},{"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 "},{"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"},{"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 ad"},{"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`"},{"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. Th"},{"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 record"},{"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 "},{"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 s"},{"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 redemp"},{"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 return"},{"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 redirect"},{"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, HT"},{"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 no"},{"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 "},{"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 "},{"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=tr"},{"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. Regis"},{"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 allocati"},{"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 ad"}],"toolCount":20,"toolsHash":"70811819edae9060ee1643df33a993754678afa7a73e71381b31d01f5f2a1915","serverName":"uptimeify","capabilities":["tools"],"serverVersion":"1.9.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T01:22:23.953Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":29,"error":null,"detail":{"tools":[{"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-sig"},{"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 "},{"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"},{"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 ad"},{"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`"},{"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. Th"},{"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 record"},{"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 "},{"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 s"},{"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 redemp"},{"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 return"},{"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 redirect"},{"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, HT"},{"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 no"},{"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 "},{"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 "},{"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=tr"},{"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. Regis"},{"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 allocati"},{"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 ad"}],"toolCount":20,"toolsHash":"70811819edae9060ee1643df33a993754678afa7a73e71381b31d01f5f2a1915","serverName":"uptimeify","capabilities":["tools"],"serverVersion":"1.9.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T19:24:01.903Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":37,"error":null,"detail":{"tools":[{"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-sig"},{"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 "},{"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"},{"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 ad"},{"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`"},{"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. Th"},{"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 record"},{"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 "},{"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 s"},{"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 redemp"},{"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 return"},{"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 redirect"},{"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, HT"},{"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 no"},{"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 "},{"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 "},{"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=tr"},{"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. Regis"},{"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 allocati"},{"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 ad"}],"toolCount":20,"toolsHash":"70811819edae9060ee1643df33a993754678afa7a73e71381b31d01f5f2a1915","serverName":"uptimeify","capabilities":["tools"],"serverVersion":"1.9.0","protocolVersion":"2025-06-18"}}],"tools":[{"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-sig"},{"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 "},{"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"},{"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 ad"},{"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`"},{"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. Th"},{"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 record"},{"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 "},{"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 s"},{"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 redemp"},{"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 return"},{"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 redirect"},{"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, HT"},{"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 no"},{"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 "},{"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 "},{"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=tr"},{"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. Regis"},{"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 allocati"},{"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 ad"}],"package":null,"toolSurface":{"id":"ts_26maygu4962t","endpointId":"ep_sjqdkymzcdxd","hash":"70811819edae9060ee1643df33a993754678afa7a73e71381b31d01f5f2a1915","toolCount":20,"serverName":"uptimeify","serverVersion":"1.9.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-07T19:24:01.904Z","lastSeenAt":"2026-10-10T03:25:36.384Z","observations":10,"toolNames":["check_ssl","check_dns","dns_propagation","mx_lookup","spf_check","dkim_check","dmarc_check","dnsbl_check","whois","domain_expiry","http_headers","hsts_check","redirect_check","port_check","ping_test","website_status","response_time","ip_geolocation","asn_lookup","reverse_dns"],"distinctSurfaces":2},"endpointFacts":[{"id":"ep_sjqdkymzcdxd","url":"https://uptimeify.io/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-08T14:21:55.737Z","auth":{"observedAt":"2026-10-08T14:21:55.817Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-08T14:21:55.840Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"uptimeify.io","issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validFrom":"2026-09-08T08:41:12.000Z","validTo":"2026-12-07T08:41:11.000Z","daysToExpiry":58,"sanCount":1,"fingerprint256":"FA:D2:ED:B2:81:D7:57:5E:C0:0D:32:53:91:DD:0D:81:5B:40:8C:FF:47:50:66:C8:A0:A0:FF:A1:CE:2C:2A:6E"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"a2a_card","key":"https://uptimeify.io/.well-known/agent-card.json","url":"https://uptimeify.io/.well-known/agent-card.json","firstSeenAt":"2026-09-07T07:25:15.946Z","fetchedAt":"2026-10-05T17:22:52.793Z","normalizedAt":"2026-10-05T17:22:52.793Z"},{"source":"mcp_registry","key":"io.uptimeify/mcp-server","url":"https://registry.modelcontextprotocol.io/v0/servers/io.uptimeify%2Fmcp-server","firstSeenAt":"2026-09-07T07:22:37.062Z","fetchedAt":"2026-10-08T17:21:44.664Z","normalizedAt":"2026-10-08T17:21:44.664Z"}]},"firstSeenAt":"2026-09-07T07:22:37.062Z","updatedAt":"2026-10-10T03:28:13.654Z"}