Back to Browse

Dnsprobe MCP Server

Developer ToolsModerate6.1MCP RegistryLocal
Free

Server data from the Official MCP Registry

DNS and email-security diagnostics via the keyless intodns.ai API: scans, SPF, DMARC, headers.

About

DNS and email-security diagnostics via the keyless intodns.ai API: scans, SPF, DMARC, headers.

Security Report

6.1
Moderate6.1Moderate Risk

dnsprobe is a keyless DNS and email-security diagnostics server that calls the public intodns.ai API via a configurable base URL and performs most parsing locally. Its network access and tool surface match its stated purpose, and no hardcoded secrets, shell execution, or data exfiltration patterns were found in the provided code. Minor concerns are limited to the base URL being overridable via environment variable and the lack of tests visible for the truncated portion. Supply chain analysis found 3 known vulnerabilities in dependencies (0 critical, 2 high severity). Package verification found 1 issue.

8 files analyzed · 7 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

HTTP Network Access

Connects to external APIs or services over the internet.

env_vars

Check that this permission is expected for this type of plugin.

How to Install

Add this to your MCP configuration file:

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

Documentation

View on GitHub

From the project's GitHub 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.

Reviews

No reviews yet

Be the first to review this server!