Public DNS, mail, TLS, and web diagnostics plus Looking Glass probes via remote MCP.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
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.
Check up to 20 same-origin links found on one page and report the status of each. This is a single page check, not a site crawl.
Check up to 20 same-origin links found on one page and report the status of each. This is a single page check, not a site crawl.
| Argument | Type | Description |
|---|---|---|
| target* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"target"
],
"properties": {
"target": {
"type": "string",
"maxLength": 1024,
"minLength": 1
}
},
"additionalProperties": false
}Assemble a DMARC record from a policy, optional subdomain policy, report addresses, and enforcement percentage.
| Argument | Type | Description |
|---|---|---|
| rua | array | |
| ruf | array | |
| policy* | string | |
| percent | integer | |
| subdomainPolicy | string | |
| failureReporting | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"policy"
],
"properties": {
"rua": {
"type": "array",
"items": {
"type": "string",
"maxLength": 254,
"minLength": 3
},
"maxItems": 5
},
"ruf": {
"type": "array",
"items": {
"type": "string",
"maxLength": 254,
"minLength": 3
},
"maxItems": 5
},
"policy": {
"enum": [
"none",
"quarantine",
"reject"
],
"type": "string"
},
"percent": {
"type": "integer",
"default": 100,
"maximum": 100,
"minimum": 1
},
"subdomainPolicy": {
"enum": [
"none",
"quarantine",
"reject"
],
"type": "string"
},
"failureReporting": {
"enum": [
"0",
"1",
"d",
"s"
],
"type": "string",
"default": "1"
}
},
"additionalProperties": false
}Assemble an SPF record from IP ranges, includes, and the a and mx mechanisms, and count its DNS lookup terms against the limit of 10.
| Argument | Type | Description |
|---|---|---|
| ipv4 | array | |
| ipv6 | array | |
| useA | boolean | |
| useMx | boolean | |
| includes | array | |
| allQualifier | string | |
| redirectDomain | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"ipv4": {
"type": "array",
"items": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"default": [],
"maxItems": 50
},
"ipv6": {
"type": "array",
"items": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"default": [],
"maxItems": 50
},
"useA": {
"type": "boolean",
"default": false
},
"useMx": {
"type": "boolean",
"default": false
},
"includes": {
"type": "array",
"items": {
"type": "string",
"maxLength": 253,
"minLength": 1
},
"default": [],
"maxItems": 20
},
"allQualifier": {
"enum": [
"~all",
"-all",
"?all",
"+all"
],
"type": "string",
"default": "-all"
},
"redirectDomain": {
"type": "string",
"maxLength": 253,
"minLength": 1
}
},
"additionalProperties": false
}Convert a link speed into maximum daily and monthly transfer, convert monthly transfer into an average rate, and estimate how long a file transfer takes at a given rate.
| Argument | Type | Description |
|---|---|---|
| linkMbps | number | |
| fileSizeGb | number | |
| monthlyTransferGb | number |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"linkMbps": {
"type": "number",
"maximum": 1000000,
"exclusiveMinimum": 0
},
"fileSizeGb": {
"type": "number",
"maximum": 1000000000,
"exclusiveMinimum": 0
},
"monthlyTransferGb": {
"type": "number",
"maximum": 1000000000,
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}Compute the network address, broadcast or last address, and address counts for an IPv4 or IPv6 CIDR block.
| Argument | Type | Description |
|---|---|---|
| cidr* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"cidr"
],
"properties": {
"cidr": {
"type": "string",
"maxLength": 60,
"minLength": 3
}
},
"additionalProperties": false
}Read the BIMI record for a domain and selector. The selector defaults to default.
| Argument | Type | Description |
|---|---|---|
| domain* | string | |
| selector | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"maxLength": 253,
"minLength": 1
},
"selector": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,63}$"
}
},
"additionalProperties": false
}Check whether a URL is served with gzip or Brotli compression and report the sizes with and without compression.
| Argument | Type | Description |
|---|---|---|
| target* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"target"
],
"properties": {
"target": {
"type": "string",
"maxLength": 1024,
"minLength": 1
}
},
"additionalProperties": false
}Read the DKIM public key record for a domain and selector.
| Argument | Type | Description |
|---|---|---|
| domain* | string | |
| selector* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"domain",
"selector"
],
"properties": {
"domain": {
"type": "string",
"maxLength": 253,
"minLength": 1
},
"selector": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,63}$"
}
},
"additionalProperties": false
}Read the DMARC record published at _dmarc for a domain.
| Argument | Type | Description |
|---|---|---|
| domain* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"maxLength": 253,
"minLength": 1
}
},
"additionalProperties": false
}Check A, AAAA, MX, NS, and TXT answers for a hostname at the Cloudflare, Google, and Quad9 resolvers.
| Argument | Type | Description |
|---|---|---|
| domain* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"maxLength": 253,
"minLength": 1
}
},
"additionalProperties": false
}Check the DS and DNSKEY records for a domain and whether a validating resolver sets the AD flag on its answers.
| Argument | Type | Description |
|---|---|---|
| domain* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"maxLength": 253,
"minLength": 1
}
},
"additionalProperties": false
}List the delegation nameservers for a domain and the A and AAAA glue addresses for each one.
| Argument | Type | Description |
|---|---|---|
| domain* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"maxLength": 253,
"minLength": 1
}
},
"additionalProperties": false
}Locate the favicon a site declares and report its URL, type, and size.
| Argument | Type | Description |
|---|---|---|
| target* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"target"
],
"properties": {
"target": {
"type": "string",
"maxLength": 1024,
"minLength": 1
}
},
"additionalProperties": false
}Check the PTR record for an IP address and whether the name it returns resolves back to the same address.
| Argument | Type | Description |
|---|---|---|
| ip* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"ip"
],
"properties": {
"ip": {
"type": "string",
"maxLength": 253,
"minLength": 1
}
},
"additionalProperties": false
}Fetch a URL and return each redirect hop with status codes and response headers.
| Argument | Type | Description |
|---|---|---|
| target* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"target"
],
"properties": {
"target": {
"type": "string",
"maxLength": 1024,
"minLength": 1
}
},
"additionalProperties": false
}Fetch a URL and return the final status after following redirects.
| Argument | Type | Description |
|---|---|---|
| target* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"target"
],
"properties": {
"target": {
"type": "string",
"maxLength": 1024,
"minLength": 1
}
},
"additionalProperties": false
}Check an IP address, or the public addresses a hostname resolves to, against the reviewed DNS blacklist providers.
| Argument | Type | Description |
|---|---|---|
| target* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"target"
],
"properties": {
"target": {
"type": "string",
"maxLength": 253,
"minLength": 1
}
},
"additionalProperties": false
}Check whether a site answers over IPv6 and compare the result with IPv4.
| Argument | Type | Description |
|---|---|---|
| target* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"target"
],
"properties": {
"target": {
"type": "string",
"maxLength": 1024,
"minLength": 1
}
},
"additionalProperties": false
}Read the MTA-STS DNS record and the published policy file for a domain.
| Argument | Type | Description |
|---|---|---|
| domain* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"maxLength": 253,
"minLength": 1
}
},
"additionalProperties": false
}List the MX records for a domain with the A and AAAA addresses of each mail server.
| Argument | Type | Description |
|---|---|---|
| domain* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"maxLength": 253,
"minLength": 1
}
},
"additionalProperties": false
}Return the title, meta description, canonical URL, headings, hreflang entries, and JSON-LD types found on a page.
| Argument | Type | Description |
|---|---|---|
| target* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"target"
],
"properties": {
"target": {
"type": "string",
"maxLength": 1024,
"minLength": 1
}
},
"additionalProperties": false
}Fetch and parse the security.txt file for a site.
| Argument | Type | Description |
|---|---|---|
| target* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"target"
],
"properties": {
"target": {
"type": "string",
"maxLength": 1024,
"minLength": 1
}
},
"additionalProperties": false
}Connect to the mail servers for a domain on port 25 and report the banner, EHLO response, and STARTTLS support. No mail is sent and no recipient is tested.
| Argument | Type | Description |
|---|---|---|
| domain* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"maxLength": 253,
"minLength": 1
}
},
"additionalProperties": false
}Read the SPF record for a domain and count the DNS lookup terms in the full include chain against the limit of 10.
| Argument | Type | Description |
|---|---|---|
| domain* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"maxLength": 253,
"minLength": 1
}
},
"additionalProperties": false
}Connect to a host on port 443 and return the TLS version, cipher, and certificate details including expiry and subject alternative names.
| Argument | Type | Description |
|---|---|---|
| target* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"target"
],
"properties": {
"target": {
"type": "string",
"maxLength": 253,
"minLength": 1
}
},
"additionalProperties": false
}Observe which TLS protocol versions a host accepts and summarize its TLS configuration.
| Argument | Type | Description |
|---|---|---|
| target* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"target"
],
"properties": {
"target": {
"type": "string",
"maxLength": 253,
"minLength": 1
}
},
"additionalProperties": false
}Read the TLS-RPT record published at _smtp._tls for a domain.
| Argument | Type | Description |
|---|---|---|
| domain* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"maxLength": 253,
"minLength": 1
}
},
"additionalProperties": false
}Review the security controls a site exposes in its public responses, including security headers, cookie attributes, and CORS policy.
| Argument | Type | Description |
|---|---|---|
| target* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"target"
],
"properties": {
"target": {
"type": "string",
"maxLength": 1024,
"minLength": 1
}
},
"additionalProperties": false
}Estimate backup storage for a grandfather-father-son retention plan where weekly and monthly copies are full backups and daily copies are increments.
| Argument | Type | Description |
|---|---|---|
| dailyCopies* | integer | |
| fullBackupGb* | number | |
| weeklyCopies* | integer | |
| monthlyCopies* | integer | |
| dailyIncrementGb* | number |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"fullBackupGb",
"dailyIncrementGb",
"dailyCopies",
"weeklyCopies",
"monthlyCopies"
],
"properties": {
"dailyCopies": {
"type": "integer",
"maximum": 365,
"minimum": 0
},
"fullBackupGb": {
"type": "number",
"maximum": 1000000000,
"exclusiveMinimum": 0
},
"weeklyCopies": {
"type": "integer",
"maximum": 365,
"minimum": 0
},
"monthlyCopies": {
"type": "integer",
"maximum": 365,
"minimum": 0
},
"dailyIncrementGb": {
"type": "number",
"maximum": 1000000000,
"minimum": 0
}
},
"additionalProperties": false
}Project storage size over up to 120 months at a constant monthly growth rate.
| Argument | Type | Description |
|---|---|---|
| months* | integer | |
| currentGb* | number | |
| monthlyGrowthPercent* | number |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"currentGb",
"monthlyGrowthPercent",
"months"
],
"properties": {
"months": {
"type": "integer",
"maximum": 120,
"minimum": 1
},
"currentGb": {
"type": "number",
"maximum": 1000000000,
"exclusiveMinimum": 0
},
"monthlyGrowthPercent": {
"type": "number",
"maximum": 100,
"minimum": 0
}
},
"additionalProperties": false
}Convert an IPv4 or IPv6 address range into the smallest set of CIDR blocks that covers it exactly.
| Argument | Type | Description |
|---|---|---|
| end* | string | |
| start* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"start",
"end"
],
"properties": {
"end": {
"type": "string",
"maxLength": 45,
"minLength": 1
},
"start": {
"type": "string",
"maxLength": 45,
"minLength": 1
}
},
"additionalProperties": false
}Sample the route from the DotMoose network in Canada to a public host or IP address, up to 20 hops with three probes per hop.
| Argument | Type | Description |
|---|---|---|
| family | any | |
| target* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"target"
],
"properties": {
"family": {
"anyOf": [
{
"type": "number",
"const": 4
},
{
"type": "number",
"const": 6
}
]
},
"target": {
"type": "string",
"maxLength": 253,
"minLength": 1
}
},
"additionalProperties": false
}Send four ICMP echo probes from the DotMoose network in Canada to a public host or IP address.
| Argument | Type | Description |
|---|---|---|
| family | any | |
| target* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"target"
],
"properties": {
"family": {
"anyOf": [
{
"type": "number",
"const": 4
},
{
"type": "number",
"const": 6
}
]
},
"target": {
"type": "string",
"maxLength": 253,
"minLength": 1
}
},
"additionalProperties": false
}Trace the route from the DotMoose network in Canada to a public host or IP address, up to 20 hops with one probe per hop.
| Argument | Type | Description |
|---|---|---|
| family | any | |
| target* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"target"
],
"properties": {
"family": {
"anyOf": [
{
"type": "number",
"const": 4
},
{
"type": "number",
"const": 6
}
]
},
"target": {
"type": "string",
"maxLength": 253,
"minLength": 1
}
},
"additionalProperties": false
}Return the public RDAP registration summary for a domain. Registrant contact fields are not returned.
| Argument | Type | Description |
|---|---|---|
| domain* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"maxLength": 253,
"minLength": 1
}
},
"additionalProperties": false
}Resolve a hostname, or take an IP address directly, and return RDAP network data and the ASN for each public address.
| Argument | Type | Description |
|---|---|---|
| target* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"target"
],
"properties": {
"target": {
"type": "string",
"maxLength": 253,
"minLength": 1
}
},
"additionalProperties": false
}Measure DNS, connect, TLS, and time to first byte for a URL from the DotMoose diagnostic node. This is a network timing sample. It is not a browser rendering benchmark.
| Argument | Type | Description |
|---|---|---|
| target* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"target"
],
"properties": {
"target": {
"type": "string",
"maxLength": 1024,
"minLength": 1
}
},
"additionalProperties": false
}Fetch the robots.txt for a site and test whether a user agent may fetch a given path.
| Argument | Type | Description |
|---|---|---|
| path | string | |
| target* | string | |
| userAgent | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"target"
],
"properties": {
"path": {
"type": "string",
"default": "/",
"maxLength": 1024,
"minLength": 1
},
"target": {
"type": "string",
"maxLength": 1024,
"minLength": 1
},
"userAgent": {
"type": "string",
"default": "Googlebot",
"maxLength": 128,
"minLength": 1
}
},
"additionalProperties": false
}Follow the CNAME chain for a hostname, up to 12 aliases, and report loops.
| Argument | Type | Description |
|---|---|---|
| domain* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"maxLength": 253,
"minLength": 1
}
},
"additionalProperties": false
}Fetch the sitemap for a site and report its structure, URL count, and fetch errors.
| Argument | Type | Description |
|---|---|---|
| target* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"target"
],
"properties": {
"target": {
"type": "string",
"maxLength": 1024,
"minLength": 1
}
},
"additionalProperties": false
}