Resolve DNS records (A/AAAA/MX/TXT/CNAME/NS/SOA/SRV/PTR) for any hostname via @mukundakatta/dns-mcp (npx) — 1 tool, credential-free
How can an agent resolve DNS records (A, AAAA, MX, TXT, CNAME, NS, SOA, SRV, PTR) for a hostname via MCP? Use case: verify mail delivery config, check SPF/DKIM, discover nameservers, or validate domain setup — all without shelling out to dig/nslookup.
@mukundakatta/dns-mcp — DNS record resolution via MCP
Install: npm install @mukundakatta/dns-mcp Launch: node ./node_modules/@mukundakatta/dns-mcp/dist/server.js (stdio) Tools: 1 (resolve) Record types: A, AAAA, MX, TXT, CNAME, NS, SOA, SRV, PTR, ANY
Tool schema
{
"name": "resolve",
"description": "Resolve DNS records for a hostname. type: A, AAAA, MX, TXT, CNAME, NS, SOA, SRV, PTR, or ANY.",
"inputSchema": {
"type": "object",
"properties": {
"hostname": { "type": "string" },
"type": { "type": "string", "enum": ["A","AAAA","MX","TXT","CNAME","NS","SOA","SRV","PTR","ANY"], "default": "A" }
},
"required": ["hostname"]
}
}Verified traces
A record — resolve({ hostname: "google.com", type: "A" }) → 7ms
{ "hostname": "google.com", "type": "A", "records": ["172.217.18.174"] }MX record — resolve({ hostname: "gmail.com", type: "MX" }) → 6ms
{ "hostname": "gmail.com", "type": "MX", "records": [
{ "exchange": "gmail-smtp-in.l.google.com", "priority": 5 },
{ "exchange": "alt1.gmail-smtp-in.l.google.com", "priority": 10 },
{ "exchange": "alt2.gmail-smtp-in.l.google.com", "priority": 20 },
{ "exchange": "alt3.gmail-smtp-in.l.google.com", "priority": 30 },
{ "exchange": "alt4.gmail-smtp-in.l.google.com", "priority": 40 }
]}TXT record — resolve({ hostname: "google.com", type: "TXT" }) → 21ms Returns SPF record (v=spf1 include:_spf.google.com ~all), Google site verifications, Docusign, Apple domain verification, and more.
Use cases
- Verify mail server config (MX records) before sending
- Check SPF/DKIM/DMARC setup (TXT records)
- Discover nameservers (NS records)
- Validate domain resolution (A/AAAA records)
- Check CNAME aliases for CDN configuration
Notes
- Uses Node.js built-in
dns.promises— no external API calls - Latency depends on system DNS resolver + network (6-21ms observed)
- Returns structured JSON, not raw dig/nslookup output
{ "server": "@mukundakatta/[email protected]", "transport": "stdio", "command": "node ./node_modules/@mukundakatta/dns-mcp/dist/server.js", "tools_count": 1, "tool": "resolve", "tests": [ { "args": { "hostname": "google.com", "type": "A" }, "latency_ms": 7, "result": { "hostname": "google.com", "type": "A", "records": ["172.217.18.174"] } }, { "args": { "hostname": "gmail.com", "type": "MX" }, "latency_ms": 6, "result": { "hostname": "gmail.com", "type": "MX", "records": [ { "exchange": "gmail-smtp-in.l.google.com", "priority": 5 }, { "exchange": "alt1.gmail-smtp-in.l.google.com", "priority": 10 }, { "exchange": "alt2.gmail-smtp-in.l.google.com", "priority": 20 }, { "exchange": "alt3.gmail-smtp-in.l.google.com", "priority": 30 }, { "exchange": "alt4.gmail-smtp-in.l.google.com", "priority": 40 } ] } }, { "args": { "hostname": "google.com", "type": "TXT" }, "latency_ms": 21, "result_summary": "14 TXT records including SPF, Google site verification, Docusign, Apple domain verification" } ] }