statuscake
What this MCP does
Monitors website uptime, SSL certificates, page performance and heartbeats, and manages alerts and maintenance windows.
Tools
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['name', 'period'], 'properties': {'host': {'type': 'string', 'description': 'Name of the hosting provider (informational).'}, 'name': {'type': 'string', 'minLength': 1, 'description': 'Name of the check.'}, 'tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Tags for the check. An empty list clears them.'}, 'paused': {'type': 'boolean', 'description': 'Create the check paused.'}, 'period': {'type': 'integer', 'maximum': 172800, 'minimum': 30, 'description': 'Seconds since the last ping before the check is down, 30-172800 (e.g. 1800).'}, 'contact_groups': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Contact group ids to alert (see statuscake_list_contact_groups). An empty list clears them.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['name', 'start_at', 'end_at', 'timezone'], 'properties': {'name': {'type': 'string', 'minLength': 1, 'description': 'Name of the maintenance window.'}, 'tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Include every uptime check carrying these tags.'}, 'tests': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Uptime check ids to include.'}, 'end_at': {'type': 'string', 'minLength': 1, 'description': 'End, RFC3339, e.g. 2026-10-04T06:00:00Z.'}, 'start_at': {'type': 'string', 'minLength': 1, 'description': 'Start, RFC3339, e.g. 2026-10-04T01:30:00Z.'}, 'timezone': {'type': 'string', 'minLength': 1, 'description': 'IANA timezone the times are read in, e.g. UTC or Europe/London.'}, 'repeat_interval': {'enum': ['never', '1d', '1w', '2w', '1m'], 'type': 'string', 'description': 'How often it repeats: never, 1d, 1w, 2w or 1m.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['website_url', 'check_rate', 'alert_at'], 'properties': {'paused': {'type': 'boolean', 'description': 'Create the check paused.'}, 'alert_at': {'type': 'array', 'items': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'maxItems': 3, 'minItems': 3, 'description': 'Exactly three day counts before expiry at which to alert, e.g. [30, 7, 1].'}, 'hostname': {'type': 'string', 'description': 'Hostname of the server under test, if different from the URL.'}, 'check_rate': {'enum': [300, 600, 1800, 3600, 86400, 2073600], 'type': 'number', 'description': 'Seconds between checks: 300, 600, 1800, 3600, 86400 or 2073600.'}, 'user_agent': {'type': 'string', 'description': 'Custom User-Agent sent when testing.'}, 'alert_mixed': {'type': 'boolean', 'description': 'Alert when mixed content is found.'}, 'website_url': {'type': 'string', 'pattern': '^https:\\/\\/', 'description': 'URL of the server under test; must begin with https://.'}, 'alert_broken': {'type': 'boolean', 'description': 'Alert when certificate problems are found.'}, 'alert_expiry': {'type': 'boolean', 'description': 'Alert when the certificate is about to expire.'}, 'alert_reminder': {'type': 'boolean', 'description': 'Send alert reminders.'}, 'contact_groups': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Contact group ids to alert (see statuscake_list_contact_groups). An empty list clears them.'}, 'follow_redirects': {'type': 'boolean', 'description': 'Follow redirects when testing (off by default).'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['name', 'test_type', 'website_url', 'check_rate'], 'properties': {'host': {'type': 'string', 'description': 'Name of the hosting provider (informational).'}, 'name': {'type': 'string', 'minLength': 1, 'description': 'Name of the check.'}, 'port': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Destination port (TCP, SMTP, SSH checks).'}, 'tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Tags for the check. An empty list clears them.'}, 'paused': {'type': 'boolean', 'description': 'true to pause the check (stops running and alerting), false to resume.'}, 'dns_ips': {'type': 'array', 'items': {'type': 'string'}, 'description': 'IP addresses the DNS record must resolve to (DNS checks).'}, 'regions': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Region codes to run the check from (see statuscake_list_uptime_locations).'}, 'timeout': {'type': 'integer', 'maximum': 75, 'minimum': 5, 'description': 'Seconds to wait for the first byte, 5-75 (default 15).'}, 'use_jar': {'type': 'boolean', 'description': 'Enable cookie storage between requests.'}, 'post_raw': {'type': 'string', 'description': 'Raw HTTP POST body to send.'}, 'post_body': {'type': 'string', 'description': 'JSON object string submitted with the request; setting it makes the check use HTTP POST.'}, 'test_type': {'enum': ['HTTP', 'HEAD', 'TCP', 'DNS', 'SMTP', 'SSH', 'PING'], 'type': 'string', 'description': 'Check type: HTTP, HEAD, TCP, DNS, SMTP, SSH or PING.'}, 'check_rate': {'enum': [0, 30, 60, 300, 900, 1800, 3600, 86400], 'type': 'number', 'description': 'Seconds between checks: 0, 30, 60, 300, 900, 1800, 3600 or 86400.'}, 'dns_server': {'type': 'string', 'description': 'Nameserver to query (DNS checks).'}, 'user_agent': {'type': 'string', 'description': 'Custom User-Agent sent with each check.'}, 'do_not_find': {'type': 'boolean', 'description': 'Invert find_string: the check is down if the string IS present.'}, 'find_string': {'type': 'string', 'description': 'String to look for in the response; the check is down if not found.'}, 'website_url': {'type': 'string', 'minLength': 1, 'description': 'URL, FQDN or IP address to check.'}, 'confirmation': {'type': 'integer', 'maximum': 3, 'minimum': 0, 'description': 'Number of confirmation servers that must agree before alerting, 0-3 (default 2).'}, 'trigger_rate': {'type': 'integer', 'maximum': 60, 'minimum': 0, 'description': 'Minutes to wait before sending an alert, 0-60 (default 0).'}, 'custom_header': {'type': 'string', 'description': 'JSON object string of headers to send, e.g. {"X-Env":"prod"}.'}, 'basic_password': {'type': 'string', 'description': 'HTTP basic-auth password for the target.'}, 'basic_username': {'type': 'string', 'description': 'HTTP basic-auth username for the target.'}, 'contact_groups': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Contact group ids to alert (see statuscake_list_contact_groups). An empty list clears them.'}, 'final_endpoint': {'type': 'string', 'description': 'Where the redirect chain should end (with follow_redirects).'}, 'include_header': {'type': 'boolean', 'description': 'Include response headers in the find_string search.'}, 'enable_ssl_alert': {'type': 'boolean', 'description': "Alert when the site's SSL certificate is about to expire."}, 'follow_redirects': {'type': 'boolean', 'description': 'Follow redirects when testing (off by default).'}, 'status_codes_csv': {'type': 'string', 'description': 'Comma-separated HTTP status codes that count as down, e.g. "500,502,503".'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['test_id'], 'properties': {'test_id': {'type': 'string', 'minLength': 1, 'description': 'The heartbeat check id.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['window_id'], 'properties': {'window_id': {'type': 'string', 'minLength': 1, 'description': 'The maintenance window id.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['test_id'], 'properties': {'after': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Only results after this UNIX timestamp (seconds).'}, 'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Results per page, 1-100 (default 25).'}, 'before': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Only results before this UNIX timestamp (seconds). Use it with links.next to page back in time.'}, 'test_id': {'type': 'string', 'minLength': 1, 'description': 'The pagespeed check id.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['test_id'], 'properties': {'test_id': {'type': 'string', 'minLength': 1, 'description': 'The SSL check id.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['test_id'], 'properties': {'test_id': {'type': 'string', 'minLength': 1, 'description': 'The uptime check id.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['test_id'], 'properties': {'after': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Only results after this UNIX timestamp (seconds).'}, 'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Results per page, 1-100 (default 25).'}, 'before': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Only results before this UNIX timestamp (seconds). Use it with links.next to page back in time.'}, 'test_id': {'type': 'string', 'minLength': 1, 'description': 'The uptime check id.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['test_id'], 'properties': {'after': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Only results after this UNIX timestamp (seconds).'}, 'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Results per page, 1-100 (default 25).'}, 'before': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Only results before this UNIX timestamp (seconds). Use it with links.next to page back in time.'}, 'test_id': {'type': 'string', 'minLength': 1, 'description': 'The uptime check id.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page of results, starting at 1.'}, 'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Results per page, 1-100 (default 25).'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page of results, starting at 1.'}, 'tags': {'type': 'string', 'description': 'Comma-separated tags; only checks carrying these tags are returned.'}, 'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Results per page, 1-100 (default 25).'}, 'status': {'enum': ['up', 'down'], 'type': 'string', 'description': 'Only checks currently in this state.'}, 'matchany': {'type': 'boolean', 'description': 'With tags: return checks matching ANY of the tags instead of ALL of them.'}, 'nouptime': {'type': 'boolean', 'description': 'Skip calculating uptime percentages (faster for large accounts).'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page of results, starting at 1.'}, 'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Results per page, 1-100 (default 25).'}, 'state': {'enum': ['active', 'paused', 'pending'], 'type': 'string', 'description': 'Only windows in this state.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page of results, starting at 1.'}, 'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Results per page, 1-100 (default 25).'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'location': {'type': 'string', 'description': 'Only servers in this country, as an ISO 3166-1 alpha-2 code, e.g. GB.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page of results, starting at 1.'}, 'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Results per page, 1-100 (default 25).'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['test_id'], 'properties': {'after': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Only results after this UNIX timestamp (seconds).'}, 'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Results per page, 1-100 (default 25).'}, 'before': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Only results before this UNIX timestamp (seconds). Use it with links.next to page back in time.'}, 'test_id': {'type': 'string', 'minLength': 1, 'description': 'The uptime check id.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page of results, starting at 1.'}, 'tags': {'type': 'string', 'description': 'Comma-separated tags; only checks carrying these tags are returned.'}, 'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Results per page, 1-100 (default 25).'}, 'status': {'enum': ['up', 'down'], 'type': 'string', 'description': 'Only checks currently in this state.'}, 'matchany': {'type': 'boolean', 'description': 'With tags: return checks matching ANY of the tags instead of ALL of them.'}, 'nouptime': {'type': 'boolean', 'description': 'Skip calculating uptime percentages (faster for large accounts).'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'region_code': {'type': 'string', 'description': 'Only servers in this region code.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['test_id'], 'properties': {'host': {'type': 'string', 'description': 'Name of the hosting provider (informational).'}, 'name': {'type': 'string', 'minLength': 1, 'description': 'New name for the check.'}, 'port': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Destination port (TCP, SMTP, SSH checks).'}, 'tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Tags for the check. An empty list clears them.'}, 'paused': {'type': 'boolean', 'description': 'true to pause the check (stops running and alerting), false to resume.'}, 'dns_ips': {'type': 'array', 'items': {'type': 'string'}, 'description': 'IP addresses the DNS record must resolve to (DNS checks).'}, 'regions': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Region codes to run the check from (see statuscake_list_uptime_locations).'}, 'test_id': {'type': 'string', 'minLength': 1, 'description': 'The uptime check id.'}, 'timeout': {'type': 'integer', 'maximum': 75, 'minimum': 5, 'description': 'Seconds to wait for the first byte, 5-75 (default 15).'}, 'use_jar': {'type': 'boolean', 'description': 'Enable cookie storage between requests.'}, 'post_raw': {'type': 'string', 'description': 'Raw HTTP POST body to send.'}, 'post_body': {'type': 'string', 'description': 'JSON object string submitted with the request; setting it makes the check use HTTP POST.'}, 'check_rate': {'enum': [0, 30, 60, 300, 900, 1800, 3600, 86400], 'type': 'number', 'description': 'Seconds between checks: 0, 30, 60, 300, 900, 1800, 3600 or 86400.'}, 'dns_server': {'type': 'string', 'description': 'Nameserver to query (DNS checks).'}, 'user_agent': {'type': 'string', 'description': 'Custom User-Agent sent with each check.'}, 'do_not_find': {'type': 'boolean', 'description': 'Invert find_string: the check is down if the string IS present.'}, 'find_string': {'type': 'string', 'description': 'String to look for in the response; the check is down if not found.'}, 'website_url': {'type': 'string', 'minLength': 1, 'description': 'New URL, FQDN or IP address to check.'}, 'confirmation': {'type': 'integer', 'maximum': 3, 'minimum': 0, 'description': 'Number of confirmation servers that must agree before alerting, 0-3 (default 2).'}, 'trigger_rate': {'type': 'integer', 'maximum': 60, 'minimum': 0, 'description': 'Minutes to wait before sending an alert, 0-60 (default 0).'}, 'custom_header': {'type': 'string', 'description': 'JSON object string of headers to send, e.g. {"X-Env":"prod"}.'}, 'basic_password': {'type': 'string', 'description': 'HTTP basic-auth password for the target.'}, 'basic_username': {'type': 'string', 'description': 'HTTP basic-auth username for the target.'}, 'contact_groups': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Contact group ids to alert (see statuscake_list_contact_groups). An empty list clears them.'}, 'final_endpoint': {'type': 'string', 'description': 'Where the redirect chain should end (with follow_redirects).'}, 'include_header': {'type': 'boolean', 'description': 'Include response headers in the find_string search.'}, 'enable_ssl_alert': {'type': 'boolean', 'description': "Alert when the site's SSL certificate is about to expire."}, 'follow_redirects': {'type': 'boolean', 'description': 'Follow redirects when testing (off by default).'}, 'status_codes_csv': {'type': 'string', 'description': 'Comma-separated HTTP status codes that count as down, e.g. "500,502,503".'}}}
Recent tool changes
Similar MCP servers
BorealHost
Provides web hosting and infrastructure management, including site deployment, DNS, domains, containers, compute, backups, cachin…
BlackVeil DNS & Email Security Scanner
Audits domain, DNS, email, certificate, HTTP, brand-impersonation, and agent-discovery security controls.
Hackertarget
Performs passive DNS, ASN, IP geolocation, HTTP header, ping, link, and network-path reconnaissance and diagnostics.
Busymate DevTools
Captures, inspects, exports, and debugs HTTPS traffic from devices and applications, with request and response inspection, proxy …
Ripe Stat
Provides RIPE registry and routing data for IP addresses, prefixes, ASNs, BGP state and neighbors, network ownership, geolocation…
Cloudflare Radar
Provides Cloudflare Radar internet observatory data on DDoS attacks, BGP leaks, domain popularity, internet quality, and traffic …
Domains
Checks domain registration status and availability and searches certificate-transparency records for certificates and subdomains.
Rdap
Looks up authoritative RDAP registration records for domains, IP addresses, autonomous systems, entities, and nameservers.