← All servers

dns-doctor

warnings

dnsdoctor.dev

Scan and fix email auth (SPF, DMARC, DKIM, MX, blacklists, expiry) + DNS checks. Validated fixes.

https://dnsdoctor.dev/mcpWebsiteOAuthMCP 2025-11-25v1.10.1last checked 8 Oct 2026spoke MCP on 100% of 90 checks (30 days)initialize in 192 ms

Will my client connect?

Decided from what the probe found at the endpoint, and from what each client's own documentation says it can complete. Every row carries the day that documentation was read.

✓Claude CodeConnects with setup

The registration flow this server advertises is not one Claude Code documents, so register a client with the issuer yourself and give Claude Code the client ID.

claude mcp add --transport http --client-id <your-client-id> --client-secret --callback-port 8080 dns-doctor https://dnsdoctor.dev/mcp

Claude Code docs · read on 2026-08-30

✓Claude (claude.ai & Desktop)Connects with setup

The registration flow this server advertises is not one Claude (claude.ai & Desktop) documents, so register a client with the issuer yourself and give Claude (claude.ai & Desktop) the client ID.

Settings → Connectors → Add custom connector, then paste https://dnsdoctor.dev/mcp. Under Advanced settings, enter the OAuth Client ID and Secret the issuer gave you.

Claude (claude.ai & Desktop) docs · read on 2026-08-30

✓ChatGPTConnects

The authorization server supports Client ID Metadata Documents, so ChatGPT identifies itself by URL with no registration step.

Settings → Apps → Advanced settings → Developer mode, then create a connector pointing at https://dnsdoctor.dev/mcp.

ChatGPT docs · read on 2026-08-30

✓CursorConnects with setup

The registration flow this server advertises is not one Cursor documents, so register a client with the issuer yourself and give Cursor the client ID.

{
  "mcpServers": {
    "dns-doctor": {
      "url": "https://dnsdoctor.dev/mcp"
    }
  }
}

Cursor docs · read on 2026-08-30

✓VS Code (Copilot)Connects with setup

The registration flow this server advertises is not one VS Code (Copilot) documents, so register a client with the issuer yourself and give VS Code (Copilot) the client ID.

{
  "servers": {
    "dns-doctor": {
      "oauth": {
        "clientId": "<your-client-id>"
      },
      "type": "http",
      "url": "https://dnsdoctor.dev/mcp"
    }
  }
}

VS Code (Copilot) docs · read on 2026-08-30

How to authenticate

Checked against the endpoint by our probe on 8 Oct 2026. These are the capabilities the server advertises, not a prediction about any particular client.

Scheme
OAuth
Issuer
https://dnsdoctor.dev
Dynamic client registration
✕Not advertised
Client ID Metadata Document
✓Supported

A client identifies itself by a URL to its own metadata, so no registration step is required.

PKCE
✓S256
Grant types
authorization_code
Scopes
domains:manage, monitoring:read
Protected-resource metadata
✓Published (RFC 9728)
Anonymous access
Handshake succeeds; 22 tools listable
Credentials demanded in prose
✕get_alerts, get_readiness, get_lookalikes, add_monitored_domain

These tools are listed anonymously and their own descriptions ask for an account or key, but no challenge is issued — so a client has nothing to act on and the refusal arrives as a tool error.

What the probe found

warningTools needing credentials are listed without a challenge

4 of the 22 tools listed anonymously say in their own descriptions that they need an account or a key (get_alerts, get_readiness, get_lookalikes, add_monitored_domain), but the endpoint issued no WWW-Authenticate challenge. The requirement is stated only in prose, so a call reaches the tool and comes back as a tool error instead of an authorization step.

No CORS headers for browser-based clients

A cross-origin preflight came back without Access-Control-Allow-Origin, so the endpoint is reachable from native clients only — code running in a web page is stopped by the browser before a request is ever sent.

22 tools usable without signing in

The server exposes a public surface before authorization: scan_domain, get_report, build_dmarc_upgrade, start_monitoring_signup, count_spf_lookups, validate_dmarc_record, generate_dmarc_record, check_dkim_selector, parse_dmarc_report, check_record, check_reverse_dns, audit_spf_includes, build_parked_domain_records, check_propagation, lookup_registration, get_alerts, get_readiness, check_lookalikes, get_lookalikes, add_monitored_domain, check_domain_verification, get_domain_records.

Tools

add_monitored_domainaudit_spf_includesbuild_dmarc_upgradebuild_parked_domain_recordscheck_dkim_selectorcheck_domain_verificationcheck_lookalikescheck_propagationcheck_recordcheck_reverse_dnscount_spf_lookupsgenerate_dmarc_recordget_alertsget_domain_recordsget_lookalikesget_readinessget_reportlookup_registrationparse_dmarc_reportscan_domainstart_monitoring_signupvalidate_dmarc_record

Contract history

5 Oct 2026v1.10.1no contract changes
2 Oct 2026v1.10.02 compatible2 cosmeticinstructions rewritten

Instructions rewritten: get_readiness. The description an agent follows changed; the callable contract may not have.

28 Sep 2026v1.9.11 compatible11 cosmetic
28 Sep 2026v1.9.15 cosmeticinstructions rewritten

Instructions rewritten: add_monitored_domain. The description an agent follows changed; the callable contract may not have.

25 Sep 2026v1.9.05 cosmetic
16 Sep 2026v1.9.04 compatible16 cosmeticinstructions rewritten

Instructions rewritten: build_dmarc_upgrade, check_record, scan_domain, start_monitoring_signup. The description an agent follows changed; the callable contract may not have.

9 Sep 2026v1.8.016 cosmeticinstructions rewritten

Instructions rewritten: audit_spf_includes, build_dmarc_upgrade, build_parked_domain_records, check_dkim_selector, check_propagation, check_record, check_reverse_dns, count_spf_lookups, generate_dmarc_record, get_alerts, get_readiness, get_report, parse_dmarc_report, scan_domain, start_monitoring_signup, validate_dmarc_record. The description an agent follows changed; the callable contract may not have.

6 Sep 2026v1.7.31 cosmeticinstructions rewritten

Instructions rewritten: check_propagation. The description an agent follows changed; the callable contract may not have.

4 Sep 2026v1.7.1no contract changes
4 Sep 2026v1.7.03 cosmeticinstructions rewritten

Instructions rewritten: build_dmarc_upgrade, scan_domain, validate_dmarc_record. The description an agent follows changed; the callable contract may not have.

1 Sep 2026v1.6.0no contract changes
1 Sep 2026v1.5.01 compatible
31 Aug 2026v1.4.11 cosmeticinstructions rewritten

Instructions rewritten: start_monitoring_signup. The description an agent follows changed; the callable contract may not have.

24 Aug 2026v1.4.0first recorded contract

Watch this server

Save its public contract as a baseline and manage breaking-change email alerts.

Set up a watch

Own this server?

Sign in to claim this listing by proving control of its host.

Status badge

Status for a README, from the last probe — cached an hour, so up to seven hours behind the endpoint. Links back to this page.

MCP status badge for dns-doctor
[![MCP status](https://mcpi.app/servers/dns-doctor/badge.svg)](https://mcpi.app/servers/dns-doctor)