External checks of TLS, HTTP headers, email domain, DNS and ports, with cause and fix
Call this server's tools from your browser. Nothing to install.
Free API key from https://runstack.pro/account (rsk_...)
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Resolve a name at several public resolvers (Google, Cloudflare, Quad9, …) and compare their answers. Use after changing DNS records to check propagation, or when some users reach a different IP or get NXDOMAIN. Use check_email_domain instead for SPF/DKIM/DMARC analysis. Returns per-resolver answers, inconsistencies and a verdict.
Domain or hostname to resolve, e.g. www.example.com
Record type to query. ALL queries the common types at once. Default ALL.
Resolve a name at several public resolvers (Google, Cloudflare, Quad9, …) and compare their answers. Use after changing DNS records to check propagation, or when some users reach a different IP or get NXDOMAIN. Use check_email_domain instead for SPF/DKIM/DMARC analysis. Returns per-resolver answers, inconsistencies and a verdict.
| Argument | Type | Description |
|---|---|---|
| type | string | Record type to query. ALL queries the common types at once. Default ALL. |
| domain* | string | Domain or hostname to resolve, e.g. www.example.com |
{
"type": "object",
"required": [
"domain"
],
"properties": {
"type": {
"enum": [
"ALL",
"A",
"AAAA",
"CNAME",
"MX",
"TXT",
"NS",
"SOA",
"CAA",
"SRV"
],
"type": "string",
"default": "ALL",
"description": "Record type to query. ALL queries the common types at once. Default ALL."
},
"domain": {
"type": "string",
"description": "Domain or hostname to resolve, e.g. www.example.com"
}
},
"additionalProperties": false
}Check whether an IP address or a domain is on email blocklists (DNSBL/RBL): Spamhaus ZEN and DBL, SpamCop, Barracuda, UCEPROTECT, Mailspike, SURBL, URIBL and others. For a domain, its own name is checked on domain lists and its A/AAAA addresses on IP lists. Use when mail bounces with 'listed'/'blocked' errors or lands in spam, or after a server was compromised. Lists that refuse queries from public resolvers are reported as not tested, never as listed. Returns listed lists with the reason and a delisting link. For SPF/DKIM/DMARC use check_email_domain.
| Argument | Type | Description |
|---|---|---|
| input* | string | Public IPv4/IPv6 address of the sending mail server, or a domain, e.g. 203.0.113.10 or example.com |
{
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "string",
"description": "Public IPv4/IPv6 address of the sending mail server, or a domain, e.g. 203.0.113.10 or example.com"
}
},
"additionalProperties": false
}Look up a domain's registration in the registry (RDAP, or WHOIS for .ru/.su/.рф): expiry date and days left, registrar, creation date, EPP status codes (clientHold, redemptionPeriod, transfer locks…) with explanations, nameservers and DNSSEC. Use to check when a domain must be renewed or why it suddenly stopped resolving. Subdomains are reduced to the registered domain. For DNS records use check_dns.
| Argument | Type | Description |
|---|---|---|
| domain* | string | Domain name, e.g. example.com or пример.рф |
{
"type": "object",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"description": "Domain name, e.g. example.com or пример.рф"
}
},
"additionalProperties": false
}Audit a mail domain as other mail servers see it: MX, SPF (including the 10-DNS-lookup limit), DKIM, DMARC policy, PTR / forward-confirmed reverse DNS, SMTP STARTTLS on the MX hosts, MTA-STS, TLS-RPT, BIMI. Use when mail lands in spam or bounces, after changing mail provider or DNS, or before tightening DMARC. Use this (not check_dns) for any email deliverability or authentication question. Returns a verdict, findings with cause and fix, and a report link.
| Argument | Type | Description |
|---|---|---|
| domain* | string | Mail domain (the part after @), e.g. example.com |
| dkimSelector | string | DKIM selector to check in addition to common ones, e.g. google, selector1, mail. Optional. |
{
"type": "object",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"description": "Mail domain (the part after @), e.g. example.com"
},
"dkimSelector": {
"type": "string",
"description": "DKIM selector to check in addition to common ones, e.g. google, selector1, mail. Optional."
}
},
"additionalProperties": false
}Request a public URL from outside your network and inspect the HTTP layer: status code, full redirect chain, security headers (HSTS, CSP, X-Frame-Options, X-Content-Type-Options, Referrer-Policy…), caching and compression headers. Use to debug redirect loops, unexpected status codes or missing headers as real visitors and CDNs see them, or to verify a web server / CDN config change after deploy. Use check_tls instead for certificate or TLS protocol questions. Returns a verdict and findings with fixes.
| Argument | Type | Description |
|---|---|---|
| url* | string | Full public http(s) URL, e.g. https://example.com/login |
| followRedirects | boolean | Follow redirects and report every hop (default true). Set false to see only the first response. |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "Full public http(s) URL, e.g. https://example.com/login"
},
"followRedirects": {
"type": "boolean",
"default": true,
"description": "Follow redirects and report every hop (default true). Set false to see only the first response."
}
},
"additionalProperties": false
}Look up an IP address or ASN: owner organization, announced prefix, PTR (reverse DNS), RPKI validity and geolocation. Use to identify who is behind an address seen in logs or headers, or to check PTR / RPKI for a mail or BGP issue. Does not test reachability (use check_port).
| Argument | Type | Description |
|---|---|---|
| input* | string | IPv4 or IPv6 address, or an ASN, e.g. 1.1.1.1, 2606:4700::1111 or AS13335 |
{
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "string",
"description": "IPv4 or IPv6 address, or an ASN, e.g. 1.1.1.1, 2606:4700::1111 or AS13335"
}
},
"additionalProperties": false
}Check from the internet whether TCP ports of a public host are open, closed or filtered. Use to verify firewall / security group rules, or to find out why a service works locally but is unreachable from outside. Only public addresses are accepted; this does not test the application behind the port (use check_http or check_tls for that).
| Argument | Type | Description |
|---|---|---|
| host* | string | Public hostname or IP address, e.g. example.com or 203.0.113.10 |
| ports* | string | Comma-separated TCP ports, e.g. 22,80,443 |
{
"type": "object",
"required": [
"host",
"ports"
],
"properties": {
"host": {
"type": "string",
"description": "Public hostname or IP address, e.g. example.com or 203.0.113.10"
},
"ports": {
"type": "string",
"description": "Comma-separated TCP ports, e.g. 22,80,443"
}
},
"additionalProperties": false
}Scan a public host's TLS from the internet: certificate validity, chain completeness, expiry date, hostname match, enabled protocols (TLS 1.0–1.3), cipher suites, HSTS. Use when browsers show certificate errors, before/after renewing or rotating a certificate, or to confirm old TLS versions are disabled. Use this (not check_http) for anything about the certificate or TLS configuration itself; works on any TLS port, not only 443. Returns a verdict, findings with cause and fix, and a shareable report link. Takes up to ~60 s.
| Argument | Type | Description |
|---|---|---|
| host* | string | Public hostname to scan, without scheme or path, e.g. example.com |
| port | integer | TLS port, e.g. 443 (HTTPS), 465 (SMTPS), 993 (IMAPS). Default 443. |
{
"type": "object",
"required": [
"host"
],
"properties": {
"host": {
"type": "string",
"description": "Public hostname to scan, without scheme or path, e.g. example.com"
},
"port": {
"type": "integer",
"default": 443,
"maximum": 65535,
"minimum": 1,
"description": "TLS port, e.g. 443 (HTTPS), 465 (SMTPS), 993 (IMAPS). Default 443."
}
},
"additionalProperties": false
}