dev.dnsdoctor/dns-doctor
up checked
Unclaimed · Unverified
Agent searches it appeared in, last 30 days: 0. Run this server? Claim the listing: verified label, uptime alerts and analytics.
Publisher-provided description
Scan, fix, verify and monitor DNS: SPF, DMARC, DKIM, propagation, health, expiry. Validated fixes.
Summary by lookupd
Scans, validates and monitors DNS and email authentication records like SPF, DKIM and DMARC, with fix guidance and alerts.
Install
Claude Code, remote (streamable-http)
claude mcp add --transport http dns-doctor https://dnsdoctor.dev/mcp
Claude Code, npm package (stdio)
claude mcp add dns-doctor -- npx -y @dnsdoctor/mcp
Codex, remote (streamable-http)
codex mcp add dns-doctor --url https://dnsdoctor.dev/mcp
Codex, npm package (stdio)
codex mcp add dns-doctor -- npx -y @dnsdoctor/mcp
Cursor, remote (streamable-http) → .cursor/mcp.json
{
"mcpServers": {
"dns-doctor": {
"url": "https://dnsdoctor.dev/mcp"
}
}
}Cursor, npm package (stdio) → .cursor/mcp.json
{
"mcpServers": {
"dns-doctor": {
"command": "npx",
"args": [
"-y",
"@dnsdoctor/mcp"
]
}
}
}Other clients: docs. Or tell your agent: Set up lookupd for me: read https://lookupd.com/agent.md and follow it.
Tools (29 tools)
Publisher-provided text
scan_domainUse this when the user asks to check, audit, diagnose or troubleshoot SPF, DKIM, DMARC, email authentication, email deliverability DNS, why their mail lands inget_reportUse this for the same questions as scan_domain when a recent report is enough (the cheap first look); use scan_domain when the state must be re-read now. Returnbuild_dmarc_upgradeUse this when the user asks how to move DMARC on from p=none, whether it is safe to tighten DMARC, or what the next DMARC policy step is for a domain (a scan castart_monitoring_signupUse this when the user asks for ongoing DMARC monitoring, RUA report monitoring, new-sender monitoring, email-authentication alerts, ongoing DNS monitoring, orcount_spf_lookupsUse this when the user asks about SPF 'too many lookups', the 10-lookup limit, an SPF PermError, or whether an SPF record is valid. Validate an SPF record and cvalidate_dmarc_recordUse this when the user pastes a DMARC record and asks whether it is valid, correct or safe. Validate a pasted DMARC record: parsed tags, level'd findings, and wgenerate_dmarc_recordUse this when the user asks to create, generate or write a DMARC record for a domain that has none. Build a DMARC record from scratch for a domain that has nonecheck_dkim_selectorUse this when the user asks whether DKIM is set up for a sending platform, whether a specific selector exists, or why DKIM fails. Check ONE specific DKIM selectparse_dmarc_reportUse this when the user uploads or pastes a DMARC aggregate (RUA) XML report and asks what it says. Parse ONE DMARC aggregate (RUA) report into readable per-sourcheck_recordUse this when the user asks whether a DNS change has landed, wants a DNS record looked up, or wants to verify a record they just published — or whenever answericheck_reverse_dnsUse this when the user asks about reverse DNS, PTR records, or FCrDNS for a mail server IP. Check one sending IP's forward-confirmed reverse DNS (FCrDNS): readsaudit_spf_includesUse this when the user asks who can send email as their domain through SPF includes, or wants an SPF supply-chain or third-party sender audit. Audit a domain'sbuild_parked_domain_recordsUse this when the user asks how to protect a domain that sends no email from being spoofed. Build the three-record hardening pack that makes a NON-SENDING domaicheck_propagationUse this when the user asks whether a DNS change has propagated globally, or why a record shows in one place and not another. Check whether a DNS change has prolookup_registrationUse this when the user asks who owns a domain, when it expires, which registrar or nameservers it has, whether it is registered, or whether a transfer or deleteget_alertsUse this when a signed-in operator asks what changed on a monitored domain, whether its website went down, or what the monitoring has flagged. Read the monitoriget_readinessUse this when a signed-in operator asks whether a monitored domain is ready for the next DMARC step. Read the DMARC enforcement-readiness verdict for ONE domainlist_my_domainsUse this when a signed-in operator asks which domains their DNS Doctor account monitors, or what to do next on them. Lists every domain on the caller's accountcheck_lookalikesUse this when the user asks about lookalike, look-alike, typosquat or impersonation domains of their domain, or whether someone has registered a name close to tget_lookalikesUse this when a signed-in operator asks which lookalike domains of a monitored domain the watch has found, how risky they are, or for one's takedown evidence. Rstart_email_testUse this when the user wants to know how a real email from them actually authenticates — whether a message from Google Workspace, Microsoft 365, a newsletter toget_email_testUse this after start_email_test, once the user says they sent the email. Returns status pending | received | expired | error. pending means the message has notlist_email_testsUse this when a signed-in user asks about email tests they ran before, or how a sender's earlier tests scored. Requires an API token with monitoring:read. Returcheck_bimiUse this when the user asks how to get their logo shown in Gmail, Yahoo, Apple Mail or other inboxes (BIMI), whether their BIMI setup works, or why their logo dadd_monitored_domainAdd a domain to the signed-in user's DNS Doctor monitoring and return the ownership-check TXT record they must publish, plus where their DNS is hosted, a providcheck_domain_verificationUse this only for DNS Doctor's own ownership TXT challenge on a domain the user already added to their DNS Doctor account (add_monitored_domain). For a TXT recoget_domain_recordsRead the records a domain the user monitors still needs: the ownership check while it is unverified, and once verified the DMARC reporting record plus whether wwatch_record_changeUse this when the user asks to be told when a DNS change they are making has finished ("let me know when it's live"). Starts a free watch on ONE record for thecheck_domain_namesUse this when the user is choosing a domain name and wants to know which candidates are already registered. Pass up to 20 candidate names in ONE call (never one
Details
- Version: 1.21.0
- Transports: streamable-http, stdio
- Uptime (7 days): 100%
- Median latency: 1019 ms
- First indexed:
- Last seen in registry:
- Repository: https://github.com/dnsdoctor/mcp
- Website: https://dnsdoctor.dev/methodology
Badge for your README
Shows this live status and links here; updates hourly.
[](https://lookupd.com/servers/dev.dnsdoctor/dns-doctor)
- 62141 servers
- Last crawl: 2026-11-11T18:39:04.612Z
- API base:
https://api.lookupd.com - MCP URL:
https://api.lookupd.com/mcp