{
"additionalProperties": false,
"anyOf": [
{
"required": [
"url"
]
},
{
"required": [
"content"
]
}
],
"properties": {
"content": {
"description": "Pasted robots.txt content to validate locally, e.g. 'User-agent: GPTBot'.",
"type": "string"
},
"crawlers": {
"description": "Crawler tokens to evaluate as an array, e.g. ['GPTBot','Google-Extended'].",
"items": {
"type": "string"
},
"type": "array"
},
"path": {
"description": "Path to evaluate against robots.txt rules, e.g. '/' or '/tools/'.",
"type": "string"
},
"url": {
"description": "Robots.txt URL or bare domain to fetch, e.g. 'https://example.com/robots.txt'.",
"format": "uri",
"type": "string"
}
},
"required": [],
"type": "object"
}{
"additionalProperties": false,
"anyOf": [
{
"required": [
"url"
]
},
{
"required": [
"content"
]
}
],
"properties": {
"content": {
"description": "Pasted llms.txt Markdown content to validate locally, e.g. '# Example'.",
"type": "string"
},
"url": {
"description": "llms.txt URL or bare domain to fetch, e.g. 'https://example.com/llms.txt'.",
"format": "uri",
"type": "string"
}
},
"required": [],
"type": "object"
}{
"additionalProperties": false,
"anyOf": [
{
"required": [
"url"
]
},
{
"required": [
"json"
]
}
],
"properties": {
"json": {
"description": "Pasted Agent Card JSON to validate locally, e.g. '{\"name\":\"Agent\"}'.",
"type": "string"
},
"url": {
"description": "Agent Card URL or bare domain to fetch, e.g. 'https://example.com/.well-known/agent-card.json'.",
"format": "uri",
"type": "string"
}
},
"required": [],
"type": "object"
}{
"additionalProperties": false,
"anyOf": [
{
"required": [
"url"
]
},
{
"required": [
"source"
]
}
],
"properties": {
"source": {
"description": "Pasted HTML or JavaScript source to validate locally, e.g. 'data-tool-name=demo'.",
"type": "string"
},
"url": {
"description": "Public page URL to fetch for WebMCP validation, e.g. 'https://example.com/'.",
"format": "uri",
"type": "string"
}
},
"required": [],
"type": "object"
}{
"additionalProperties": false,
"properties": {
"domain": {
"description": "Mail domain to check via DNS MX lookup, e.g. 'example.com'.",
"pattern": "^(?=.{1,253}\\.?$)(?:[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?\\.)+(?:[A-Za-z]{2,63}|[Xx][Nn]--[A-Za-z0-9](?:[A-Za-z0-9-]{0,57}[A-Za-z0-9])?)\\.?$",
"type": "string"
}
},
"required": [
"domain"
],
"type": "object"
}{
"additionalProperties": false,
"properties": {
"dkim_record": {
"description": "Pasted DKIM TXT value, e.g. 'v=DKIM1; k=rsa; p=...'.",
"type": "string"
},
"dmarc_record": {
"description": "Pasted DMARC TXT record, e.g. 'v=DMARC1; p=reject'.",
"type": "string"
},
"domain": {
"description": "Mail domain to check, e.g. 'example.com'.",
"pattern": "^(?=.{1,253}\\.?$)(?:[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?\\.)+(?:[A-Za-z]{2,63}|[Xx][Nn]--[A-Za-z0-9](?:[A-Za-z0-9-]{0,57}[A-Za-z0-9])?)\\.?$",
"type": "string"
},
"policy": {
"description": "Expected DMARC policy value, e.g. 'reject'.",
"enum": [
"none",
"quarantine",
"reject"
],
"type": "string"
},
"selector": {
"description": "DKIM selector to query, e.g. 's1' or 'default'.",
"type": "string"
},
"selector_mode": {
"description": "DKIM selector mode: 'auto', 'manual', or 'none', e.g. 'auto'.",
"enum": [
"manual",
"auto",
"none"
],
"type": "string"
},
"spf_record": {
"description": "Pasted SPF TXT record, e.g. 'v=spf1 redirect=spf.example.com'.",
"type": "string"
}
},
"required": [
"domain"
],
"type": "object"
}{
"additionalProperties": false,
"anyOf": [
{
"required": [
"headers"
]
}
],
"properties": {
"headers": {
"description": "Full email headers to analyze, e.g. 'Authentication-Results: ...'.",
"type": "string"
},
"trusted_authserv_ids": {
"description": "Optional authserv-id values explicitly trusted by the caller; without them, Authentication-Results remain unverified recorded claims.",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [],
"type": "object"
}{
"additionalProperties": false,
"anyOf": [
{
"required": [
"headers"
]
}
],
"properties": {
"headers": {
"description": "Message headers containing ARC fields, e.g. 'ARC-Seal: i=1; ...'.",
"type": "string"
}
},
"required": [],
"type": "object"
}{
"additionalProperties": false,
"properties": {
"dmarc": {
"description": "Pasted DMARC TXT record for BIMI policy review, e.g. 'v=DMARC1; p=reject'.",
"type": "string"
},
"domain": {
"description": "BIMI domain to check, e.g. 'example.com'.",
"pattern": "^(?=.{1,253}\\.?$)(?:[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?\\.)+(?:[A-Za-z]{2,63}|[Xx][Nn]--[A-Za-z0-9](?:[A-Za-z0-9-]{0,57}[A-Za-z0-9])?)\\.?$",
"type": "string"
},
"evidence_url": {
"description": "BIMI VMC or evidence URL to inspect, e.g. 'https://example.com/vmc.pem'.",
"format": "uri",
"type": "string"
},
"logo_url": {
"description": "BIMI SVG logo URL to inspect, e.g. 'https://example.com/logo.svg'.",
"format": "uri",
"type": "string"
},
"record": {
"description": "Pasted BIMI TXT record, e.g. 'v=BIMI1; l=https://example.com/logo.svg'.",
"type": "string"
},
"selector": {
"description": "BIMI selector to query, e.g. 'default'.",
"type": "string"
}
},
"required": [
"domain"
],
"type": "object"
}{
"additionalProperties": false,
"properties": {
"dns_txt": {
"description": "Pasted _mta-sts TXT value, e.g. 'v=STSv1; id=20260713'.",
"type": "string"
},
"domain": {
"description": "Mail domain for MTA-STS checks, e.g. 'example.com'.",
"pattern": "^(?=.{1,253}\\.?$)(?:[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?\\.)+(?:[A-Za-z]{2,63}|[Xx][Nn]--[A-Za-z0-9](?:[A-Za-z0-9-]{0,57}[A-Za-z0-9])?)\\.?$",
"type": "string"
},
"mode": {
"description": "Generated MTA-STS policy mode: 'testing', 'enforce', or 'none', e.g. 'testing'.",
"enum": [
"testing",
"enforce",
"none"
],
"type": "string"
},
"mx_hosts": {
"description": "Known MX hostnames, one per line, e.g. 'mail.example.com'.",
"type": "string"
},
"policy": {
"description": "Pasted MTA-STS policy text, e.g. 'version: STSv1'.",
"type": "string"
},
"tls_rpt": {
"description": "Pasted TLS-RPT TXT value, e.g. 'v=TLSRPTv1; rua=mailto:tls@example.com'.",
"type": "string"
}
},
"required": [
"domain"
],
"type": "object"
}{
"additionalProperties": false,
"properties": {
"dns_txt": {
"description": "Pasted _smtp._tls TXT value, e.g. 'v=TLSRPTv1; rua=mailto:tls@example.com'.",
"type": "string"
},
"domain": {
"description": "Mail domain for TLS-RPT checks, e.g. 'example.com'.",
"pattern": "^(?=.{1,253}\\.?$)(?:[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?\\.)+(?:[A-Za-z]{2,63}|[Xx][Nn]--[A-Za-z0-9](?:[A-Za-z0-9-]{0,57}[A-Za-z0-9])?)\\.?$",
"type": "string"
},
"rua": {
"description": "Generated TLS-RPT rua destination, e.g. 'mailto:tls@example.com'.",
"type": "string"
}
},
"required": [
"domain"
],
"type": "object"
}{
"additionalProperties": false,
"properties": {
"check_dane": {
"description": "Include DANE/TLSA checks; pass true or false, e.g. true.",
"type": "boolean"
},
"check_fcrdns": {
"description": "Include forward-confirmed reverse DNS checks; pass true or false, e.g. true.",
"type": "boolean"
},
"check_mta_sts": {
"description": "Include MTA-STS checks; pass true or false, e.g. true.",
"type": "boolean"
},
"check_tls_rpt": {
"description": "Include TLS-RPT checks; pass true or false, e.g. true.",
"type": "boolean"
},
"domain": {
"description": "Mail domain for SMTP TLS readiness checks, e.g. 'example.com'.",
"pattern": "^(?=.{1,253}\\.?$)(?:[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?\\.)+(?:[A-Za-z]{2,63}|[Xx][Nn]--[A-Za-z0-9](?:[A-Za-z0-9-]{0,57}[A-Za-z0-9])?)\\.?$",
"type": "string"
}
},
"required": [
"domain"
],
"type": "object"
}{
"additionalProperties": false,
"properties": {
"dnskey_records": {
"description": "DNSKEY records for the zone, one per line, e.g. '257 3 13 <key>'.",
"type": "string"
},
"domain": {
"description": "DNSSEC domain to validate, e.g. 'example.com'.",
"pattern": "^(?=.{1,253}\\.?$)(?:[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?\\.)+(?:[A-Za-z]{2,63}|[Xx][Nn]--[A-Za-z0-9](?:[A-Za-z0-9-]{0,57}[A-Za-z0-9])?)\\.?$",
"type": "string"
},
"ds_records": {
"description": "DS records for the domain, one per line, e.g. '12345 13 2 <digest>'.",
"type": "string"
},
"rrsig_records": {
"description": "RRSIG records for validation context, one per line, e.g. 'example.com. RRSIG ...'.",
"type": "string"
},
"status": {
"description": "Resolver validation status: '', 'secure', or 'bogus', e.g. 'secure'.",
"enum": [
"",
"secure",
"bogus"
],
"type": "string"
}
},
"required": [
"domain"
],
"type": "object"
}{
"additionalProperties": false,
"properties": {
"file": {
"description": "Certificate file content to parse, e.g. PEM text from a .crt file.",
"type": "string"
},
"host": {
"description": "TLS service host for TLSA generation, e.g. 'mail.example.com'.",
"pattern": "^(?=.{1,253}\\.?$)[A-Za-z0-9](?:[A-Za-z0-9.-]{0,251}[A-Za-z0-9])?\\.?$",
"type": "string"
},
"matching": {
"description": "TLSA matching type: 0=full, 1=SHA-256, 2=SHA-512.",
"enum": [
"0",
"1",
"2"
],
"type": "string"
},
"pem": {
"description": "Certificate PEM, DER base64, or hex input, e.g. '-----BEGIN CERTIFICATE-----'.",
"type": "string"
},
"port": {
"description": "TLS service port number, e.g. '25' or '443'.",
"pattern": "^(?:[1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$",
"type": "string"
},
"protocol": {
"description": "TLSA transport protocol: 'tcp' or 'udp', e.g. 'tcp'.",
"enum": [
"tcp",
"udp"
],
"type": "string"
},
"selector": {
"description": "TLSA selector: 0=full certificate or 1=SPKI, e.g. '1'.",
"enum": [
"0",
"1"
],
"type": "string"
},
"usage": {
"description": "TLSA certificate usage: 0=PKIX-TA, 1=PKIX-EE, 2=DANE-TA, 3=DANE-EE.",
"enum": [
"0",
"1",
"2",
"3"
],
"type": "string"
}
},
"required": [
"host"
],
"type": "object"
}{
"additionalProperties": false,
"properties": {
"dnssec": {
"description": "DNSSEC validation status: '', 'secure', or 'bogus', e.g. 'secure'.",
"enum": [
"",
"secure",
"bogus"
],
"type": "string"
},
"host": {
"description": "DANE service host to validate, e.g. 'mail.example.com'.",
"pattern": "^(?=.{1,253}\\.?$)[A-Za-z0-9](?:[A-Za-z0-9.-]{0,251}[A-Za-z0-9])?\\.?$",
"type": "string"
},
"mode": {
"description": "DANE validation mode: 'smtp' or 'tls', e.g. 'smtp'.",
"enum": [
"smtp",
"tls"
],
"type": "string"
},
"port": {
"description": "DANE service port number, e.g. '25' or '443'.",
"pattern": "^(?:[1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$",
"type": "string"
},
"protocol": {
"description": "DANE transport protocol: 'tcp' or 'udp', e.g. 'tcp'.",
"enum": [
"tcp",
"udp"
],
"type": "string"
},
"tlsa_records": {
"description": "TLSA records to validate, one per line, e.g. '3 1 1 <sha256>'.",
"type": "string"
}
},
"required": [
"host"
],
"type": "object"
}{
"additionalProperties": false,
"properties": {
"ca": {
"description": "CA domain for generated CAA records, e.g. 'letsencrypt.org'.",
"type": "string"
},
"domain": {
"description": "CAA domain to check, e.g. 'example.com' (no scheme).",
"pattern": "^(?=.{1,253}\\.?$)(?:[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?\\.)+(?:[A-Za-z]{2,63}|[Xx][Nn]--[A-Za-z0-9](?:[A-Za-z0-9-]{0,57}[A-Za-z0-9])?)\\.?$",
"type": "string"
},
"iodef": {
"description": "CAA iodef report destination, e.g. 'mailto:security@example.com'.",
"type": "string"
},
"issuemail": {
"description": "CAA issuemail issuer-domain value from RFC 9495, optionally followed by issuer parameters, e.g. 'letsencrypt.org; validationmethods=dns-01'.",
"type": "string"
},
"methods": {
"description": "CAA validationmethods value, e.g. 'dns-01'.",
"type": "string"
},
"records": {
"description": "CAA records to inspect, one per line, e.g. '0 issue letsencrypt.org'.",
"type": "string"
}
},
"required": [
"domain"
],
"type": "object"
}{
"additionalProperties": false,
"anyOf": [
{
"required": [
"url"
]
},
{
"required": [
"headers"
]
}
],
"properties": {
"headers": {
"description": "Pasted HTTP response headers, e.g. 'Strict-Transport-Security: max-age=31536000'.",
"type": "string"
},
"url": {
"description": "Public URL to fetch for HTTP header analysis, e.g. 'https://example.com/'.",
"format": "uri",
"type": "string"
}
},
"required": [],
"type": "object"
}{
"additionalProperties": false,
"anyOf": [
{
"required": [
"host"
]
},
{
"required": [
"pem"
]
}
],
"properties": {
"host": {
"description": "TLS certificate host to connect to, e.g. 'example.com'.",
"pattern": "^(?=.{1,253}\\.?$)[A-Za-z0-9](?:[A-Za-z0-9.-]{0,251}[A-Za-z0-9])?\\.?$",
"type": "string"
},
"pem": {
"description": "Certificate PEM text to decode, e.g. '-----BEGIN CERTIFICATE-----'.",
"type": "string"
},
"port": {
"description": "TLS certificate port number, e.g. '443'.",
"pattern": "^(?:[1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$",
"type": "string"
},
"protocol": {
"description": "Certificate protocol value, currently 'TLS', e.g. 'TLS'.",
"enum": [
"TLS"
],
"type": "string"
}
},
"required": [],
"type": "object"
}{
"additionalProperties": false,
"anyOf": [
{
"required": [
"url"
]
},
{
"required": [
"content"
]
}
],
"properties": {
"contact": {
"anyOf": [
{
"format": "uri"
},
{
"format": "email"
}
],
"description": "Generated Contact field value, e.g. 'mailto:security@example.com'.",
"type": "string"
},
"content": {
"description": "Pasted security.txt content, e.g. 'Contact: mailto:security@example.com'.",
"type": "string"
},
"encryption": {
"description": "Generated Encryption URL value, e.g. 'https://example.com/pgp.txt'.",
"format": "uri",
"type": "string"
},
"pgp_key": {
"description": "Generated PGP key identifier, e.g. 'openpgp4fpr:ABCD...'.",
"type": "string"
},
"policy": {
"description": "Generated Policy URL value, e.g. 'https://example.com/security-policy'.",
"format": "uri",
"type": "string"
},
"url": {
"description": "Public security.txt URL or bare domain, e.g. 'https://example.com/.well-known/security.txt'.",
"format": "uri",
"type": "string"
}
},
"required": [],
"type": "object"
}{
"additionalProperties": false,
"properties": {
"host": {
"anyOf": [
{
"pattern": "^(?=.{1,253}\\.?$)[A-Za-z0-9](?:[A-Za-z0-9.-]{0,251}[A-Za-z0-9])?\\.?$",
"title": "DNS hostname"
},
{
"pattern": "^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])$",
"title": "IPv4 literal"
},
{
"pattern": "^(?=[0-9A-Fa-f:]+$)(?=.*:)[0-9A-Fa-f:]+$",
"title": "IPv6 literal"
}
],
"description": "Public TLS DNS host or IP literal to check, e.g. 'example.com' or '1.1.1.1' (no scheme; private/reserved targets are rejected).",
"type": "string"
},
"hsts": {
"description": "Optional pasted HSTS header, e.g. 'max-age=31536000; includeSubDomains'.",
"type": "string"
},
"port": {
"description": "TLS port number to check, e.g. '443'.",
"pattern": "^(?:[1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$",
"type": "string"
}
},
"required": [
"host"
],
"type": "object"
}{
"additionalProperties": false,
"properties": {
"url": {
"description": "Public URL to check for redirects and indexability, e.g. 'https://example.com/'.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
}{
"additionalProperties": false,
"properties": {},
"required": [],
"type": "object"
}{
"additionalProperties": false,
"properties": {
"cidr": {
"anyOf": [
{
"pattern": "^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])/(?:[0-9]|[12][0-9]|3[0-2])$",
"title": "IPv4 CIDR (/0 through /32)"
},
{
"pattern": "^(?=[0-9A-Fa-f:.]+/(?:[0-9]|[1-9][0-9]|1[01][0-9]|12[0-8])$)(?=[^/]*:)[0-9A-Fa-f:.]+/(?:[0-9]|[1-9][0-9]|1[01][0-9]|12[0-8])$",
"title": "IPv6 CIDR (/0 through /128)"
}
],
"description": "CIDR block to calculate, e.g. '192.0.2.0/24'.",
"type": "string"
},
"family": {
"description": "Address family: 'auto', 'ipv4', or 'ipv6', e.g. 'ipv4'.",
"enum": [
"auto",
"ipv4",
"ipv6"
],
"type": "string"
},
"target": {
"description": "Split target prefix length, e.g. '26' for /26 subnets.",
"pattern": "^(?:[0-9]|[1-9][0-9]|1[01][0-9]|12[0-8])$",
"type": "string"
}
},
"required": [
"cidr"
],
"type": "object"
}{
"additionalProperties": false,
"anyOf": [
{
"required": [
"file"
]
},
{
"required": [
"edid_hex"
]
}
],
"properties": {
"edid_hex": {
"description": "Pasted EDID hex string, e.g. '00ffffffffffff00...'.",
"type": "string"
},
"file": {
"description": "EDID file contents as text or hex, e.g. a 128-byte EDID block.",
"type": "string"
}
},
"required": [],
"type": "object"
}