mcpField
D
dnsprobe

dnsprobe

Local
github.com/CloudCorpRecordsSecurity0Updated 1w ago

About dnsprobe

dnsprobe is a CLI and stdio MCP server for DNS and email-security diagnostics, using the keyless intodns.ai API alongside local parsers and generators. It is suited to domain operators and email administrators who need checks across DNS, authentication, and HTTP security headers.

Key features

  1. 01Domain scans and DNS lookups
  2. 02DNSSEC and propagation checks
  3. 03SPF, DKIM, DMARC and BIMI checks
  4. 04Local DMARC report and email parsing
  5. 05HTTP security-header analysis and generation

Use cases

  1. 01Investigating DNS and domain configuration
  2. 02Checking email authentication and blacklist status
  3. 03Parsing DMARC aggregate reports or raw email headers
  4. 04Generating security-header configuration snippets

MCP support

Exposes 21 diagnostic tools through a stdio MCP server, including upstream API checks and local parsing and generation. The server can target an intodns.ai-compatible host via DNSPROBE_SITE_URL.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"cloudcorprecords-dnsprobe": {
"command": "npx",
"args": [
"-y",
"@reneturcios/dnsprobe"
]
}
}
}
Run commandnpx -y @reneturcios/dnsprobe

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@reneturcios/dnsprobe0.1.0
ocighcr.io/cloudcorprecords/dnsprobe:0.1.0

Tools

21

Saved tool list · updated 1w ago

ParameterTypeRequiredDescription
domainstringYesDomain name this tool operates on.

Details

From the project README

dnsprobe

dnsprobe runs DNS and email-security diagnostics against the free, keyless intodns.ai public API: full domain scans, DNS lookups, DNSSEC validation, propagation checks, WHOIS/RDAP, and the email authentication stack — SPF (including flattening), DKIM discovery, DMARC, BIMI, MTA-STS, and blacklist checks. It also parses DMARC aggregate reports and raw emails locally, and generates HTTP security-header sets locally. One binary serves a command-line interface and a stdio MCP server.

This is a labelled core subset: 21 of the tools named in the upstream README's tool tables are built. The named tools not built are nis2_quickscan, get_everything_report, create_report_snapshot, get_report_snapshot, start_deep_scan, get_deep_scan_status, cancel_deep_scan, check_tlsa_dane, check_smtp_tls, check_fcrdns, check_sender_requirements, create_email_test, get_email_test, poll_email_test, explain_issue, generate_dns_fix, check_http3, get_hall_of_fame, read_llm_discovery, get_citation_guidance, and scan_csp. (The upstream README headline says 45 tools; its six tables enumerate 42 named tools.)

No API key is needed. The site base URL can be overridden with DNSPROBE_SITE_URL; when it is not set, calls go to https://intodns.ai. Upstream endpoint paths are documented reconstructions from the site's visible /api/... conventions — the public spec documents tool names and descriptions, not paths.

Install

npx @reneturcios/dnsprobe get_health

Or run the container image:

docker run -i ghcr.io/cloudcorprecords/dnsprobe

The container defaults to the MCP server (see below). Pass CLI arguments to use it as a CLI instead.

CLI

Subcommands mirror the MCP tool names:

dnsprobe scan_domain example.com
dnsprobe lookup_dns example.com --type MX
dnsprobe validate_dnssec example.com
dnsprobe whois_lookup example.com
dnsprobe check_spf example.com
dnsprobe check_email_security example.com
dnsprobe analyze_security_headers https://example.com
dnsprobe generate_security_headers --preset strict --format nginx
dnsprobe get_health
dnsprobe get_pdf_report_link example.com

dnsprobe --version

Commands print the upstream JSON payload, the locally computed result, or the built link. Exit codes: 0 on success, 1 when a call fails (including an upstream API error), 2 for usage errors.

Five tools never call the network: parse_dmarc_report parses a DMARC aggregate (RUA) XML report into structured metadata, policy, and per-record SPF/DKIM/DMARC results with message totals; analyze_raw_email parses raw MIME headers (with unfolding), extracts the Authentication-Results SPF/DKIM/DMARC verdicts, and counts Received hops; generate_security_headers renders a header set from the recommended, strict, or report-only preset as raw headers or nginx, Apache, Caddy, Cloudflare, or _headers config; get_pdf_report_link and get_badge_link build {base}/api/pdf/{domain} and {base}/api/badge/{domain}.

MCP server

One bin serves both faces. The mcp subcommand starts a stdio MCP server:

npx -y @reneturcios/dnsprobe mcp

MCP client configuration:

{
  "mcpServers": {
    "dnsprobe": {
      "command": "npx",
      "args": ["-y", "@reneturcios/dnsprobe", "mcp"]
    }
  }
}

To point the server at a different intodns.ai-compatible host, add DNSPROBE_SITE_URL to the client's env for this server.

Tools
ToolInputWhat it returns
scan_domaindomainGrade, score, DNS/email/security results, issues, recommendations.
lookup_dnsdomain, optional typeDNS records for the domain.
validate_dnssecdomainDNSSEC chain, DS/DNSKEY, and algorithm validation.
check_dns_propagationdomainPropagation across global resolvers.
whois_lookupqueryWHOIS/RDAP data for a domain or IP.
check_spfdomainSPF parse, lookup graph, and validation.
flatten_spfdomainThe SPF graph flattened to literal ip4/ip6 mechanisms.
discover_dkimdomainDiscovered DKIM selectors.
check_dmarcdomainDMARC parse and policy validation.
parse_dmarc_reportxmlStructured DMARC aggregate report (local parse).
check_bimidomainBIMI DNS, logo URL, and VMC/CMC readiness.
check_mta_stsdomainMTA-STS DNS and policy-file validation.
check_blacklistdomainBlacklist status for the domain's mail servers.
check_email_securitydomainFull SPF/DKIM/DMARC/blacklist check with score and issues.
analyze_raw_emailrawHeader and authentication analysis of a raw email (local).
analyze_security_headersurlPresent/missing HTTP security headers for a live site.
generate_security_headersoptional preset, formatA generated security-header set and config snippet (local).
get_health(none)API, cache, and runtime health.
get_stats(none)Public scan/check counters.
get_pdf_report_linkdomainThe {base}/api/pdf/{domain} URL (local).
get_badge_linkdomainThe {base}/api/badge/{domain} URL (local).

Development

npm install
npm run build   # tsc -> dist/
npm test        # node test runner over test/*.test.ts, no network (fake fetch fixtures)
npm run dev     # run the CLI from source via tsx

License

MIT — see LICENSE.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.