Domain.Posture
← blog

How to check any domain's DNS and email setup directly from Claude

· mcp · claude · ai · dns

mcpclaudeaidns

Model Context Protocol is Anthropic's standard for letting LLMs call external tools. Once configured, Claude Desktop treats an MCP server's tools the same as its built-in capabilities — you ask "what's the DMARC record for stripe.com?" and Claude invokes dossier_dmarc directly, parses the response, and writes up the answer.

What domainposture.com exposes

The MCP endpoint at https://domainposture.com/mcp/mcp advertises 19 tools:

  • 15 per-check dossier functions: dossier_dns, dossier_mx, dossier_spf, dossier_dmarc, dossier_dkim, dossier_tls, dossier_redirects, dossier_headers, dossier_cors, dossier_web_surface, dossier_dnssec, dossier_mta_sts, dossier_tlsrpt, dossier_whois, dossier_ct_log.
  • dossier_full — runs all fifteen checks in parallel and returns one JSON object. One tool call, fifteen checks.
  • 3 context lookups: dns_lookup, ip_lookup, user_agent_parse.

Same results as the web UI. Same cache. Same rate limits.

Adding the server to Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or the platform equivalent:

{
  "mcpServers": {
    "domainposture.com": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://domainposture.com/mcp/mcp"]
    }
  }
}

Claude Desktop only accepts stdio-style entries, so mcp-remote runs as a local proxy to the remote endpoint. Restart Claude Desktop after editing. The next conversation will see the tools.

What the conversation looks like

You ask: "Check whether stripe.com has a DMARC record and what policy it publishes."

Claude calls dossier_dmarc(stripe.com), receives a JSON result with the record text, policy, and reporting address, then writes a human-readable summary. You never see the raw tool call unless you expand the tool-use block.

Multi-domain questions work too: "Compare the TLS cert expiry dates for stripe.com, paypal.com, and chase.com." Claude issues three dossier_tls calls in parallel, collates the results, and presents a table.

When to use MCP vs the web UI

MCP wins for:

  • Workflow integration — you are already in a chat discussing a system, and pulling up a browser breaks context.
  • Aggregation — asking for a report across 20 domains is faster than clicking 20 pages.
  • Composition — combining dossier output with Claude's knowledge ("this DMARC policy is misconfigured because X, which is why you are seeing Y in the aggregate reports").

The web UI wins for:

  • Shareable links — you want to send a co-worker the report.
  • Browser-native UX — sticky sections, copy buttons, and the fixed terminal styling.

Or check DNS records in the browser →

Further reading

Frequently asked questions

How many domain checks can Claude perform at once using domainposture.com?
Claude can run all 15 dossier checks in parallel using the dossier_full tool, which returns one complete JSON object with all results in a single call. Results are the same as the web UI and share the same cache.
What is the difference between using MCP in Claude and the web UI for domain checks?
MCP is better for workflow integration, aggregating reports across multiple domains, and composing dossier output with Claude's knowledge. The web UI wins for shareable links and browser-native UX like sticky sections and copy buttons.
How do I set up domainposture.com's MCP server in Claude Desktop?
Edit ~/Library/Application Support/Claude/claude_desktop_config.json to add the mcpServers entry with mcp-remote pointing to https://domainposture.com/mcp/mcp, then restart Claude Desktop. The tools appear in your next conversation.