MCP documentation menu

datapulse_live_dns

Live LookupScope: datapulse:dnsOutput: JSONRead-only

Live DNS records with DNSSEC (all types or specific, synchronous)

Description

Live DNS lookup — returns current records as published on the internet.

TIP: For full domain research (DNS + RDAP + web scrape), prefer datapulse_domain_overview(domain=…) which combines all three in one call.

Always synchronous — results are returned directly in the response. No polling required.

Resolver: DNSSEC-validating recursive with EDNS DO flag set. No content filtering, with one deliberate exception: answers in private, link-local or unique-local ranges are dropped, including those ranges inside IPv4-mapped (::ffff:10.0.0.1), IPv4-compatible and 6to4 addresses, and every NAT64 address (64:ff9b::/96). Loopback (127.0.0.1, ::1) is returned, since sinkholed domains point there. See datapulse_help(topic="dns").

By default, queries A, AAAA, MX, NS, TXT, SOA, CNAME, CAA, DNSKEY, and DS records plus a _dmarc.<domain> TXT lookup — all in a single call. The DMARC result appears in a separate ‘dmarc’ field (not mixed into ‘records’). Use the optional record_type parameter to query a single specific type (e.g., SRV, PTR, TLSA, NAPTR, SSHFP); this disables the automatic DMARC lookup.

Default response: compact summary with status, dnssec_signed flag, records grouped by type (A, AAAA, MX, etc.), and a dmarc object ({status, record}) showing the _dmarc TXT policy if present. Summary mode omits DNSSEC record types (RRSIG, NSEC, NSEC3, NSEC3PARAM, DNSKEY, DS) unless one of them is the requested record_type or full=true.

Set full=true for raw DNS output including per-query flags, authorities, additionals, and RRSIG/NSEC records.

IDN: Accepts Unicode domains; responses use Punycode (A-label) form. The name’s spelling is canonicalized (case, whitespace, every trailing dot, IDN) and the hostname level is kept (www. kept — www.example.com and example.com resolve independently); hostname labels are never removed by the DNS tools. A single label (com) and underscore names (_dmarc.example.com) are accepted. When canonicalizing changed more than letter case, the response carries submitted_domain with what you sent. Record names and targets in the answer are case-folded. When the lookup itself failed, the summary has status “error” and carries the worker’s error text verbatim.

Hashes: dns_query_hash is the key the DNS row is stored under (www. kept, record type folded in); domain_hash is the canonical www-stripped domain hash that joins with datapulse_domain_overview and datapulse_live_domain_health. Both are in the summary and the full output.

For multi-domain submission (up to 1000), use datapulse_live_dns_bulk.

For usage guidance, call datapulse_help(topic="dns")

Parameters

ParameterTypeDescription
domain
required
string
The domain name to look up (e.g., ’example.com’).
Min length: 1Max length: 253
forceboolean
Force a fresh lookup. DNS lookups are always live (cached at the DNS resolver layer, not the application layer), so this is rarely needed.
Default: false
fullboolean
Return full raw DNS output including flags, authorities, and additionals. Default is false (returns compact summary).
Default: false
metadatamap<string, string>
Custom key-value metadata stored with the result. Shared with every caller of this deployment and returned to anyone who retrieves the row; never put credentials or personal data here.
record_typestring
Optional DNS record type to query (e.g., ‘SRV’, ‘PTR’, ‘MX’). If omitted, queries A, AAAA, MX, NS, TXT, SOA, CNAME, CAA, DNSKEY, DS, plus _dmarc TXT.
AAAAACNAMEMXNSTXTSOAPTRSRVCAADNSKEYDSRRSIGNSECTLSANAPTRSSHFP
Input schema (JSON)
{
  "additionalProperties": false,
  "properties": {
    "domain": {
      "description": "The domain name to look up (e.g., 'example.com').",
      "maxLength": 253,
      "minLength": 1,
      "type": "string"
    },
    "force": {
      "default": false,
      "description": "Force a fresh lookup. DNS lookups are always live (cached at the DNS resolver layer, not the application layer), so this is rarely needed.",
      "type": "boolean"
    },
    "full": {
      "default": false,
      "description": "Return full raw DNS output including flags, authorities, and additionals. Default is false (returns compact summary).",
      "type": "boolean"
    },
    "metadata": {
      "additionalProperties": {
        "type": "string"
      },
      "description": "Custom key-value metadata stored with the result. Shared with every caller of this deployment and returned to anyone who retrieves the row; never put credentials or personal data here.",
      "type": "object"
    },
    "record_type": {
      "description": "Optional DNS record type to query (e.g., 'SRV', 'PTR', 'MX'). If omitted, queries A, AAAA, MX, NS, TXT, SOA, CNAME, CAA, DNSKEY, DS, plus _dmarc TXT.",
      "enum": [
        "A",
        "AAAA",
        "CNAME",
        "MX",
        "NS",
        "TXT",
        "SOA",
        "PTR",
        "SRV",
        "CAA",
        "DNSKEY",
        "DS",
        "RRSIG",
        "NSEC",
        "TLSA",
        "NAPTR",
        "SSHFP"
      ],
      "type": "string"
    }
  },
  "required": [
    "domain"
  ],
  "type": "object"
}

Generated from the live server (DataPulse MCP 1.0.0) on October 1, 2026.