Skip to content
Eden Engine

DNS Propagation Checker (Compare Resolvers)

omnial/dns-propagation

Given a domain and a DNS record type (A, AAAA, CNAME, MX, NS, or TXT), queries four major public resolvers (Google 8.8.8.8, Cloudflare 1.1.1.1, Quad9 9.9.9.9, OpenDNS 208.67.222.222) and returns each resolver's answer, so you can spot propagation lag or a split-horizon DNS setup right after a DNS change.

activeper callv3

Price

$0.0451 per call

You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $5.00.

Data source

Google, Cloudflare, Quad9 and OpenDNS public DNS resolvers

Data from Google, Cloudflare, Quad9 and OpenDNS public DNS resolvers.

Use it

Your AI assistant does the work: it finds this tool, shows you the price first, runs it, and you are charged when the run finishes. There is nothing to set up for this tool in particular.

Connect once and your AI can find and run this tool, and any other it needs.

For developers: the calls your assistant makes
agent
// 1. search: find the tool
omnial_search({ query: "what you need" })

// 2. inspect: price and input schema
omnial_inspect({ tool: "omnial/dns-propagation" })

// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "omnial/dns-propagation" })

// 4. run: price the exact call first, then run it
omnial_execute({ tool: "omnial/dns-propagation", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "omnial/dns-propagation", input: { /* ... */ } })

// 5. settle: the call is charged when it finishes, nothing to do

Not connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.

Pricing

Every charge this tool can incur.

ChargePrice
Per call
$0.0451
Updated
Oct 27, 2026

Input and output schemas

Input schema
input_schema.json
{
  "type": "object",
  "required": [
    "domain"
  ],
  "properties": {
    "domain": {
      "type": "string"
    },
    "record_type": {
      "enum": [
        "A",
        "AAAA",
        "CNAME",
        "MX",
        "NS",
        "TXT"
      ],
      "type": "string",
      "default": "A"
    }
  },
  "additionalProperties": false
}
Output schema
output_schema.json
{
  "type": "object",
  "properties": {
    "count": {
      "type": "number",
      "description": "Number of resolver entries in `items` (typically 4: Google, Cloudflare, Quad9, OpenDNS)."
    },
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "error": {
            "type": [
              "string",
              "null"
            ],
            "description": "Null when the resolver returned records; a resolver-reported error code otherwise (observed as 'NXDOMAIN' when the domain does not exist)."
          },
          "records": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The DNS record values this resolver returned for the domain (e.g. IPv4 addresses for an A query). Empty when the domain does not resolve at this resolver (e.g. a nonexistent domain)."
          },
          "resolver": {
            "type": "string",
            "description": "Resolver name, e.g. 'google', 'cloudflare', 'quad9', 'opendns'."
          },
          "consistent": {
            "type": "boolean",
            "description": "Whether this resolver's answer matches the others. Observed as false on every entry in testing, including a case where all four resolvers independently agreed on the same NXDOMAIN error -- the genuinely-agreeing case was never observed to flip this to true, so treat it as unconfirmed rather than assuming it reliably signals agreement."
          },
          "recordType": {
            "type": "string",
            "description": "Echoes the requested record type, e.g. 'A'."
          },
          "resolverIp": {
            "type": "string",
            "description": "The public resolver's own IP address, e.g. '8.8.8.8' -- not a caller's or third party's IP."
          }
        },
        "additionalProperties": true
      },
      "description": "One entry per public resolver queried."
    }
  },
  "description": "The propagation check result.",
  "additionalProperties": true
}