IntoDNS.ai DNS & Email Security Scanner
What this MCP does
Checks and generates DNS and email-security records and configurations for SPF, DKIM, DMARC, DNSSEC, and DANE.
Tools
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['rawEmail'], 'properties': {'rawEmail': {'type': 'string', 'maxLength': 500000, 'description': 'Raw email source including headers and body, max 500,000 characters'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['domain'], 'properties': {'domain': {'type': 'string', 'maxLength': 253, 'description': 'Domain name only, e.g. example.com (no URL, path, or port)'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['scanId'], 'properties': {'scanId': {'type': 'string', 'description': 'Deep scan ID returned by start_deep_scan'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['domain'], 'properties': {'domain': {'type': 'string', 'maxLength': 253, 'description': 'Domain name only, e.g. example.com (no URL, path, or port)'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'ip': {'type': 'string', 'format': 'ipv4', 'pattern': '^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$', 'description': 'IPv4 address to check directly'}, 'domain': {'type': 'string', 'maxLength': 253, 'description': 'Domain name only, e.g. example.com (no URL, path, or port)'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['domain'], 'properties': {'domain': {'type': 'string', 'maxLength': 253, 'description': 'Domain name only, e.g. example.com (no URL, path, or port)'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['domain'], 'properties': {'type': {'enum': ['A', 'AAAA', 'CNAME', 'MX', 'NS', 'TXT', 'SOA', 'CAA', 'SRV', 'PTR'], 'type': 'string', 'default': 'A', 'description': 'DNS record type to check'}, 'domain': {'type': 'string', 'maxLength': 253, 'description': 'Domain name only, e.g. example.com (no URL, path, or port)'}, 'region': {'enum': ['all', 'global', 'europe', 'americas'], 'type': 'string', 'default': 'all', 'description': 'Resolver region'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['domain'], 'properties': {'domain': {'type': 'string', 'maxLength': 253, 'description': 'Domain name only, e.g. example.com (no URL, path, or port)'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['domain'], 'properties': {'domain': {'type': 'string', 'maxLength': 253, 'description': 'Domain name only, e.g. example.com (no URL, path, or port)'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['domain'], 'properties': {'domain': {'type': 'string', 'maxLength': 253, 'description': 'Domain name only, e.g. example.com (no URL, path, or port)'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['domain'], 'properties': {'domain': {'type': 'string', 'maxLength': 253, 'description': 'Domain name only, e.g. example.com (no URL, path, or port)'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['domain'], 'properties': {'domain': {'type': 'string', 'maxLength': 253, 'description': 'Domain name only, e.g. example.com (no URL, path, or port)'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['domain'], 'properties': {'domain': {'type': 'string', 'maxLength': 253, 'description': 'Domain name only, e.g. example.com (no URL, path, or port)'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['domain'], 'properties': {'domain': {'type': 'string', 'maxLength': 253, 'description': 'Domain name only, e.g. example.com (no URL, path, or port)'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['domain'], 'properties': {'port': {'type': 'integer', 'maximum': 65535, 'minimum': 1, 'description': 'Port to check, defaults to 25'}, 'domain': {'type': 'string', 'maxLength': 253, 'description': 'Domain name only, e.g. example.com (no URL, path, or port)'}, 'protocol': {'enum': ['tcp', 'udp'], 'type': 'string', 'default': 'tcp', 'description': 'Transport protocol'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'language': {'enum': ['en', 'nl', 'de', 'fr'], 'type': 'string', 'default': 'en', 'description': 'Result language'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['domain'], 'properties': {'domain': {'type': 'string', 'maxLength': 253, 'description': 'Domain name only, e.g. example.com (no URL, path, or port)'}, 'format': {'enum': ['json', 'markdown'], 'type': 'string', 'default': 'json', 'description': 'Return the created snapshot as JSON or Markdown'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['domain'], 'properties': {'domain': {'type': 'string', 'maxLength': 253, 'description': 'Domain name only, e.g. example.com (no URL, path, or port)'}, 'selector': {'type': 'string', 'maxLength': 253, 'description': 'Optional exact DKIM selector, e.g. selector1 or google'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['domain', 'issue'], 'properties': {'issue': {'enum': ['no_a_record', 'no_mx_record', 'mx_ptr_missing', 'mx_fcrdns_missing', 'single_ns', 'dnssec_invalid', 'nsec3_not_compliant', 'rrsig_expiring', 'ds_digest_weak', 'dnskey_algo_weak', 'rrsig_ttl_unsafe', 'chain_incomplete', 'no_ipv6', 'no_ipv6_mail', 'no_dnssec', 'no_spf', 'no_dmarc', 'weak_dmarc', 'no_dkim', 'excessive_verification_records', 'no_http3', 'spf_missing', 'spf_too_many_lookups', 'spf_softfail', 'dkim_missing', 'dmarc_missing', 'dmarc_none', 'dmarc_quarantine', 'no_caa', 'dane_missing'], 'type': 'string'}, 'domain': {'type': 'string', 'maxLength': 253, 'description': 'Domain name only, e.g. example.com (no URL, path, or port)'}, 'context': {'type': 'object', 'description': 'Optional issue context from scan output', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['domain'], 'properties': {'domain': {'type': 'string', 'maxLength': 253, 'description': 'Domain name only, e.g. example.com (no URL, path, or port)'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'pct': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Alias for `percentage`, matching the DNS tag name.'}, 'rua': {'anyOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}], 'description': 'Aggregate report address(es). mailto: is added automatically.'}, 'ruf': {'anyOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}], 'description': 'Forensic report address(es). Contains message content and is honoured by very few receivers.'}, 'policy': {'enum': ['none', 'quarantine', 'reject'], 'type': 'string', 'description': "p= â\x80\x94 start at 'none' and only enforce once reports show all legitimate senders aligning. Defaults to none."}, 'percentage': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'pct= â\x80\x94 share of mail the policy applies to, for a gradual rollout. Has no effect at p=none. Also accepted as `pct`.'}, 'spfAlignment': {'enum': ['relaxed', 'strict'], 'type': 'string', 'description': 'aspf= â\x80\x94 strict requires an exact domain match and breaks subdomain senders.'}, 'dkimAlignment': {'enum': ['relaxed', 'strict'], 'type': 'string', 'description': 'adkim= â\x80\x94 strict requires an exact domain match and breaks many ESPs.'}, 'reportInterval': {'type': 'integer', 'maximum': 604800, 'minimum': 60, 'description': 'ri= â\x80\x94 seconds between aggregate reports. Defaults to 86400 (daily).'}, 'subdomainPolicy': {'enum': ['none', 'quarantine', 'reject'], 'type': 'string', 'description': 'sp= â\x80\x94 a different policy for subdomains. Omitted when it matches the main policy.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['domain', 'issue'], 'properties': {'issue': {'enum': ['no_a_record', 'no_mx_record', 'mx_ptr_missing', 'mx_fcrdns_missing', 'single_ns', 'dnssec_invalid', 'nsec3_not_compliant', 'rrsig_expiring', 'ds_digest_weak', 'dnskey_algo_weak', 'rrsig_ttl_unsafe', 'chain_incomplete', 'no_ipv6', 'no_ipv6_mail', 'no_dnssec', 'no_spf', 'no_dmarc', 'weak_dmarc', 'no_dkim', 'excessive_verification_records', 'no_http3', 'spf_missing', 'spf_too_many_lookups', 'spf_softfail', 'dkim_missing', 'dmarc_missing', 'dmarc_none', 'dmarc_quarantine', 'no_caa', 'dane_missing'], 'type': 'string'}, 'domain': {'type': 'string', 'maxLength': 253, 'description': 'Domain name only, e.g. example.com (no URL, path, or port)'}, 'context': {'type': 'object', 'description': 'Optional issue context from scan output', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'config': {'type': 'object', 'description': 'Advanced: a full SecurityHeadersConfig object to fine-tune every header. Overrides preset when provided.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'preset': {'enum': ['recommended', 'strict', 'report-only'], 'type': 'string', 'description': "Built-in baseline: 'recommended' (safe default), 'strict' (hardened, nonce-based CSP), or 'report-only' (CSP in report-only mode for safe rollout)"}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'useA': {'type': 'boolean', 'description': "Authorise the domain's own A/AAAA records. Costs one DNS lookup."}, 'useMx': {'type': 'boolean', 'description': "Authorise the domain's MX hosts. Costs one DNS lookup."}, 'policy': {'enum': ['fail', 'softfail', 'neutral', 'pass'], 'type': 'string', 'description': 'What receivers do with everything else: fail (-all) for production, softfail (~all) while testing. Defaults to fail.'}, 'mechanisms': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'value'], 'properties': {'type': {'enum': ['ip4', 'ip6', 'include', 'a', 'mx', 'exists', 'redirect'], 'type': 'string'}, 'value': {'type': 'string', 'description': "The value after the colon, e.g. '_spf.google.com' for an include or '203.0.113.5' for ip4"}}}, 'description': 'Senders to authorise, in the order they should appear in the record'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['pem'], 'properties': {'pem': {'type': 'string', 'description': 'PEM block: -----BEGIN CERTIFICATE----- or -----BEGIN PUBLIC KEY-----. Never a private key.'}, 'host': {'type': 'string', 'description': 'Mail server hostname from the MX record, e.g. mail.example.com â\x80\x94 not the domain itself.'}, 'port': {'type': 'integer', 'maximum': 65535, 'minimum': 1, 'description': 'Port the record covers. Defaults to 25 for SMTP.'}, 'usage': {'anyOf': [{'type': 'number', 'const': 0}, {'type': 'number', 'const': 1}, {'type': 'number', 'const': 2}, {'type': 'number', 'const': 3}], 'description': '0 PKIX-TA, 1 PKIX-EE, 2 DANE-TA, 3 DANE-EE. Use 3 for SMTP. Defaults to 3.'}, 'matching': {'anyOf': [{'type': 'number', 'const': 0}, {'type': 'number', 'const': 1}, {'type': 'number', 'const': 2}], 'description': '0 exact, 1 SHA-256, 2 SHA-512. Use 1. Defaults to 1.'}, 'selector': {'anyOf': [{'type': 'number', 'const': 0}, {'type': 'number', 'const': 1}], 'description': '0 full certificate, 1 SubjectPublicKeyInfo. Use 1. Defaults to 1.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['domain'], 'properties': {'style': {'enum': ['flat', 'flat-square', 'plastic', 'large'], 'type': 'string', 'default': 'flat'}, 'domain': {'type': 'string', 'maxLength': 253, 'description': 'Domain name only, e.g. example.com (no URL, path, or port)'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'topic': {'enum': ['scan_results', 'public_api', 'mxtoolbox_alternative', 'bimi', 'full_report', 'report_snapshot', 'smtp_tls', 'fcrdns', 'spf_graph', 'spf_dkim_dmarc', 'llm_agents'], 'type': 'string', 'default': 'scan_results'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['scanId'], 'properties': {'scanId': {'type': 'string', 'description': 'Deep scan ID returned by start_deep_scan'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['testId'], 'properties': {'testId': {'type': 'string', 'description': 'Email test ID returned by create_email_test'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['domain'], 'properties': {'domain': {'type': 'string', 'maxLength': 253, 'description': 'Domain name only, e.g. example.com (no URL, path, or port)'}, 'format': {'enum': ['json', 'markdown'], 'type': 'string', 'default': 'json', 'description': 'Return JSON data or LLM-ready Markdown'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'default': 10, 'maximum': 50, 'minimum': 1, 'description': 'Maximum entries'}, 'domain': {'type': 'string', 'maxLength': 253, 'description': 'Optional domain to check for Hall of Fame presence'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['domain'], 'properties': {'domain': {'type': 'string', 'maxLength': 253, 'description': 'Domain name only, e.g. example.com (no URL, path, or port)'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['snapshotId'], 'properties': {'format': {'enum': ['json', 'markdown'], 'type': 'string', 'default': 'json', 'description': 'Return JSON data or LLM-ready Markdown'}, 'snapshotId': {'type': 'string', 'description': 'Snapshot ID returned by create_report_snapshot'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['domain'], 'properties': {'type': {'enum': ['A', 'AAAA', 'CNAME', 'MX', 'NS', 'TXT', 'SOA', 'CAA', 'SRV', 'PTR', 'DNSKEY', 'DS', 'RRSIG', 'NSEC', 'NSEC3'], 'type': 'string', 'description': 'Single DNS record type'}, 'types': {'type': 'array', 'items': {'enum': ['A', 'AAAA', 'CNAME', 'MX', 'NS', 'TXT', 'SOA', 'CAA', 'SRV', 'PTR', 'DNSKEY', 'DS', 'RRSIG', 'NSEC', 'NSEC3'], 'type': 'string'}, 'description': 'Multiple DNS record types'}, 'domain': {'type': 'string', 'maxLength': 253, 'description': 'Domain name only, e.g. example.com (no URL, path, or port)'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['domain'], 'properties': {'lang': {'enum': ['en', 'nl'], 'type': 'string', 'default': 'en', 'description': 'Language for the standard caveat text shown alongside the score.'}, 'domain': {'type': 'string', 'maxLength': 253, 'description': 'Domain name only, e.g. example.com (no URL, path, or port)'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'xml': {'type': 'string', 'maxLength': 5242880, 'description': 'Raw DMARC aggregate report XML (root <feedback>), max 5 MB'}, 'gzipBase64': {'type': 'string', 'maxLength': 7340032, 'description': 'Base64-encoded gzip of the report (.gz attachment); used when xml is omitted'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['testId'], 'properties': {'testId': {'type': 'string', 'description': 'Email test ID returned by create_email_test'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'file': {'enum': ['llms.txt', 'llms-full.txt', 'llms.json', 'llm/api.md', 'openapi.json', 'postman.json'], 'type': 'string', 'default': 'llms.txt'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['url'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'maxLength': 2048, 'description': 'The public website URL to crawl, e.g. https://example.com'}, 'strict': {'type': 'boolean', 'description': 'Generate a stricter policy (fewer broad allowances)'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['domain'], 'properties': {'domain': {'type': 'string', 'maxLength': 253, 'description': 'Domain name only, e.g. example.com (no URL, path, or port)'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['domain'], 'properties': {'name': {'type': 'string', 'description': 'Optional display name'}, 'domain': {'type': 'string', 'maxLength': 253, 'description': 'Domain name only, e.g. example.com (no URL, path, or port)'}, 'scanType': {'enum': ['web', 'mail', 'both'], 'type': 'string', 'default': 'both', 'description': 'Deep scan type'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['domain'], 'properties': {'domain': {'type': 'string', 'maxLength': 253, 'description': 'Domain name only, e.g. example.com (no URL, path, or port)'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query'], 'properties': {'query': {'type': 'string', 'description': 'A domain name (example.com) or an IPv4/IPv6 address'}}}
Recent tool changes
Similar MCP servers
osint-terminal
Provides keyless OSINT and reconnaissance tools for domains, DNS, IPs, breach exposure, threat intelligence, and related lookups.
AIMEAT
Provides a self-hosted agent operating system with agent work delegation, access controls, federation, hooks, SSO, security admin…
hyperion
Acts as a paid MCP tool marketplace and utility gateway with server discovery, HTTP and JavaScript tools, research, data conversi…
Vee3
Manages Clerk authentication infrastructure, including users, organizations, domains, sessions, tokens, OAuth, SSO, machines, per…
BorealHost
Provides web hosting and infrastructure management, including site deployment, DNS, domains, containers, compute, backups, cachin…
Proof Holdings
Provides domain verification, identity and delegation proofs, human approval workflows, trusted-contact challenges, and controlle…
GoCreative Agent API
Offers pay-per-call LLM completions and data services for company intelligence, KYB, sanctions screening, threat intelligence, co…
Japan Public Ledgers MCP
Provides agent identity, memory, audit, trust, proxy, temporary email, webhook, CAPTCHA, and alerting capabilities alongside publ…