MCP Server

Is This Site Down?

com.downforjustmeoreveryone/is-it-down
Cloud & Infrastructure Security Public & reachable MCP 2025-11-25

What this MCP does

Checks public website availability, regional outages, uptime history, user reports, and TLS certificate expiry.

check_certificate
TLS certificate expiry of a website
Reads the HTTPS certificate of a public domain and reports days until expiry, the expiry date and the issuer.
Read only Open world Idempotent
Input schema
{'type': 'object', 'required': ['domain'], 'properties': {'domain': {'type': 'string', 'description': 'Domain to inspect, e.g. "example.com".'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['domain', 'daysRemaining', 'validTo', 'issuer', 'state'], 'properties': {'state': {'enum': ['valid', 'expiring soon', 'EXPIRED'], 'type': 'string'}, 'domain': {'type': 'string'}, 'issuer': {'type': ['string', 'null']}, 'validTo': {'type': 'string'}, 'daysRemaining': {'type': 'number', 'description': 'Negative once expired'}}}
check_site
Check whether a website is down
Live up/down check of any public website from an independent server (Singapore; Boston for sites that geo-block Singapore). Returns a one-sentence verdict plus status code, latency, resolved IP, redirect target, the view from the other region when available, and how many users reported problems in the last hour. Results are cached 30 s per domain.
Read only Open world Idempotent
Input schema
{'type': 'object', 'required': ['domain'], 'properties': {'domain': {'type': 'string', 'description': 'Domain or URL to check, e.g. "github.com" or "https://www.reddit.com/r/all". Scheme, path, port and query are ignored; the host is checked as given.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['domain', 'up', 'state', 'status', 'latencyMs', 'checkedAt', 'reason', 'checkedFrom', 'regions', 'reportsLastHour', 'curated', 'statusUrl', 'url'], 'properties': {'ip': {'type': ['string', 'null']}, 'up': {'type': 'boolean'}, 'tls': {'type': ['object', 'null'], 'properties': {'issuer': {'type': ['string', 'null']}, 'validTo': {'type': 'string'}, 'daysRemaining': {'type': 'number'}}}, 'url': {'type': 'string'}, 'state': {'enum': ['up', 'slow', 'error', 'maintenance', 'down'], 'type': 'string'}, 'domain': {'type': 'string'}, 'reason': {'type': 'string'}, 'scheme': {'enum': ['https', 'http', None], 'type': ['string', 'null']}, 'server': {'type': ['string', 'null']}, 'status': {'type': ['integer', 'null']}, 'curated': {'type': 'boolean', 'description': 'true if the site is one of the monitored sites'}, 'regions': {'type': 'object', 'properties': {'sg': {'type': 'object', 'required': ['domain', 'up', 'state', 'status', 'latencyMs', 'checkedAt', 'reason'], 'properties': {'ip': {'type': ['string', 'null']}, 'up': {'type': 'boolean'}, 'tls': {'type': ['object', 'null'], 'properties': {'issuer': {'type': ['string', 'null']}, 'validTo': {'type': 'string'}, 'daysRemaining': {'type': 'number'}}}, 'state': {'enum': ['up', 'slow', 'error', 'maintenance', 'down'], 'type': 'string'}, 'domain': {'type': 'string'}, 'reason': {'type': 'string'}, 'scheme': {'enum': ['https', 'http', None], 'type': ['string', 'null']}, 'server': {'type': ['string', 'null']}, 'status': {'type': ['integer', 'null']}, 'finalUrl': {'type': ['string', 'null']}, 'checkedAt': {'type': 'string', 'description': 'ISO 8601'}, 'latencyMs': {'type': ['number', 'null']}, 'redirected': {'type': 'boolean'}}}, 'us': {'type': 'object', 'required': ['domain', 'up', 'state', 'status', 'latencyMs', 'checkedAt', 'reason'], 'properties': {'ip': {'type': ['string', 'null']}, 'up': {'type': 'boolean'}, 'tls': {'type': ['object', 'null'], 'properties': {'issuer': {'type': ['string', 'null']}, 'validTo': {'type': 'string'}, 'daysRemaining': {'type': 'number'}}}, 'state': {'enum': ['up', 'slow', 'error', 'maintenance', 'down'], 'type': 'string'}, 'domain': {'type': 'string'}, 'reason': {'type': 'string'}, 'scheme': {'enum': ['https', 'http', None], 'type': ['string', 'null']}, 'server': {'type': ['string', 'null']}, 'status': {'type': ['integer', 'null']}, 'finalUrl': {'type': ['string', 'null']}, 'checkedAt': {'type': 'string', 'description': 'ISO 8601'}, 'latencyMs': {'type': ['number', 'null']}, 'redirected': {'type': 'boolean'}}}}, 'description': 'Fresh result from each region that has one'}, 'finalUrl': {'type': ['string', 'null']}, 'checkedAt': {'type': 'string', 'description': 'ISO 8601'}, 'latencyMs': {'type': ['number', 'null']}, 'statusUrl': {'type': ['string', 'null']}, 'redirected': {'type': 'boolean'}, 'checkedFrom': {'enum': ['sg', 'us'], 'type': 'string', 'description': 'sg = Singapore, us = Boston'}, 'reportsLastHour': {'type': 'integer'}}}
list_monitored_sites
Sites with stored history
The 634 sites checked every 5 minutes, grouped in 17 categories. Without arguments returns the category list with counts; filter by category or a text query to get domains (at most 200 per call).
Read only Idempotent
Input schema
{'type': 'object', 'properties': {'query': {'type': 'string', 'description': 'Case-insensitive substring of the domain or display name, e.g. "bank" or "google".'}, 'category': {'type': 'string', 'description': 'Category slug or name: social, streaming, ai, work, developer, shopping, finance, banks, gaming, telecom, government, education, messaging, news, travel, health, dating.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['total'], 'properties': {'query': {'type': ['string', 'null']}, 'sites': {'type': 'array', 'items': {'type': 'object', 'required': ['domain', 'name', 'category', 'url'], 'properties': {'url': {'type': 'string'}, 'name': {'type': 'string'}, 'domain': {'type': 'string'}, 'category': {'type': 'string'}, 'statusUrl': {'type': 'string'}, 'checkedFrom': {'enum': ['sg', 'us'], 'type': 'string', 'description': 'sg = Singapore, us = Boston'}}}}, 'total': {'type': 'integer'}, 'matched': {'type': 'integer'}, 'category': {'type': ['string', 'null']}, 'returned': {'type': 'integer'}, 'categories': {'type': 'array', 'items': {'type': 'object', 'required': ['slug', 'name', 'count', 'url'], 'properties': {'url': {'type': 'string'}, 'name': {'type': 'string'}, 'slug': {'type': 'string'}, 'count': {'type': 'integer'}}}}}, 'description': 'Without arguments: total + categories. With category or query: total, matched, returned, category, query, sites.'}
list_outages
Which monitored sites are down right now
Lists the monitored sites (634 across 17 categories) that are confirmed down right now: two consecutive failed checks from their home region and no other region seeing them up in the last 15 minutes. Optional category filter.
Read only Idempotent
Input schema
{'type': 'object', 'properties': {'category': {'type': 'string', 'description': 'Optional category slug or name: social, streaming, ai, work, developer, shopping, finance, banks, gaming, telecom, government, education, messaging, news, travel, health, dating.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['asOf', 'monitored', 'category', 'down'], 'properties': {'asOf': {'type': 'string'}, 'down': {'type': 'array', 'items': {'type': 'object', 'required': ['domain', 'name', 'category', 'url', 'since', 'downForMinutes'], 'properties': {'url': {'type': 'string'}, 'name': {'type': 'string'}, 'since': {'type': ['string', 'null']}, 'domain': {'type': 'string'}, 'category': {'type': 'string'}, 'statusUrl': {'type': 'string'}, 'checkedFrom': {'enum': ['sg', 'us'], 'type': 'string', 'description': 'sg = Singapore, us = Boston'}, 'downForMinutes': {'type': ['integer', 'null']}}}}, 'category': {'type': ['string', 'null']}, 'monitored': {'type': 'integer'}}}
site_history
Uptime and recent incidents of a monitored site
Uptime percentage over 24 h and over the requested window (up to 7 days), the list of outages in that window, when the site was last seen down, the current state and user-report counts. Only for monitored sites (see list_monitored_sites); use check_site for anything else.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['domain'], 'properties': {'days': {'type': 'integer', 'maximum': 7, 'minimum': 1, 'description': 'Window in days (1–7, default 7).'}, 'domain': {'type': 'string', 'description': 'A monitored domain, e.g. "github.com".'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['domain', 'name', 'category', 'checkedFrom', 'days', 'uptime24h', 'uptimeWindow', 'current', 'incidents', 'lastDown', 'reportsLastHour', 'reports24h', 'statusUrl', 'url'], 'properties': {'url': {'type': 'string'}, 'days': {'type': 'integer'}, 'name': {'type': 'string'}, 'domain': {'type': 'string'}, 'current': {'type': ['object', 'null'], 'required': ['domain', 'up', 'state', 'status', 'latencyMs', 'checkedAt', 'reason'], 'properties': {'ip': {'type': ['string', 'null']}, 'up': {'type': 'boolean'}, 'tls': {'type': ['object', 'null'], 'properties': {'issuer': {'type': ['string', 'null']}, 'validTo': {'type': 'string'}, 'daysRemaining': {'type': 'number'}}}, 'state': {'enum': ['up', 'slow', 'error', 'maintenance', 'down'], 'type': 'string'}, 'domain': {'type': 'string'}, 'reason': {'type': 'string'}, 'scheme': {'enum': ['https', 'http', None], 'type': ['string', 'null']}, 'server': {'type': ['string', 'null']}, 'status': {'type': ['integer', 'null']}, 'finalUrl': {'type': ['string', 'null']}, 'checkedAt': {'type': 'string', 'description': 'ISO 8601'}, 'latencyMs': {'type': ['number', 'null']}, 'redirected': {'type': 'boolean'}}}, 'category': {'type': 'string'}, 'lastDown': {'type': ['string', 'null']}, 'incidents': {'type': 'array', 'items': {'type': 'object', 'required': ['start', 'end', 'durationMinutes', 'ongoing'], 'properties': {'end': {'type': ['string', 'null']}, 'start': {'type': 'string'}, 'ongoing': {'type': 'boolean'}, 'durationMinutes': {'type': ['integer', 'null']}}}}, 'statusUrl': {'type': ['string', 'null']}, 'uptime24h': {'type': ['number', 'null'], 'description': 'Percent, null if no data yet'}, 'reports24h': {'type': 'integer'}, 'checkedFrom': {'enum': ['sg', 'us'], 'type': 'string', 'description': 'sg = Singapore, us = Boston'}, 'uptimeWindow': {'type': ['number', 'null'], 'description': 'Percent over `days`, null if no data yet'}, 'reportsLastHour': {'type': 'integer'}}}
Added
list_monitored_sites
Sept. 17, 2026, 12:34 p.m.
Added
check_certificate
Sept. 17, 2026, 12:34 p.m.
Added
site_history
Sept. 17, 2026, 12:34 p.m.
Added
list_outages
Sept. 17, 2026, 12:34 p.m.
Added
check_site
Sept. 17, 2026, 12:34 p.m.