Comprehensive DNS and email security scanner that connects Claude to 78 tools covering SPF, DMARC, DKIM, DNSSEC, SSL/TLS, MTA-STS, subdomain takeover, and brand monitoring. Runs entirely over public Cloudflare DNS-over-HTTPS with no API keys required. Ships with fix plan generation, compliance mapping to NIST 800-177 and PCI DSS, attack path simulation, and supply chain dependency graphing. Available as a one-click Claude Desktop extension, hosted Streamable HTTP endpoint, or self-hosted via npm. Useful when you need to audit domain security posture, investigate email deliverability issues, or assess third-party DNS trust surfaces without touching production infrastructure.
Public tool metadata for what this MCP can expose to an agent.
check_mxValidate MX records and email provider detection.2 paramsValidate MX records and email provider detection.
domainstringformatstringfull · compactcheck_spfValidate SPF syntax, policy, and trust surface.2 paramsValidate SPF syntax, policy, and trust surface.
domainstringformatstringfull · compactcheck_dmarcValidate DMARC policy, alignment, and reporting.2 paramsValidate DMARC policy, alignment, and reporting.
domainstringformatstringfull · compactcheck_dkimProbe DKIM selectors and validate key strength.3 paramsProbe DKIM selectors and validate key strength.
domainstringformatstringfull · compactselectorstringcheck_dnssecVerify DNSSEC validation and DNSKEY/DS records.2 paramsVerify DNSSEC validation and DNSKEY/DS records.
domainstringformatstringfull · compactcheck_sslVerify SSL/TLS certificate and HTTPS config.2 paramsVerify SSL/TLS certificate and HTTPS config.
domainstringformatstringfull · compactcheck_mta_stsValidate MTA-STS SMTP encryption policy.2 paramsValidate MTA-STS SMTP encryption policy.
domainstringformatstringfull · compactcheck_nsAnalyze NS delegation and provider diversity.2 paramsAnalyze NS delegation and provider diversity.
domainstringformatstringfull · compactcheck_caaCheck authorized Certificate Authorities via CAA.2 paramsCheck authorized Certificate Authorities via CAA.
domainstringformatstringfull · compactcheck_bimiValidate BIMI record and VMC evidence.2 paramsValidate BIMI record and VMC evidence.
domainstringformatstringfull · compactcheck_tlsrptValidate TLS-RPT SMTP failure reporting.2 paramsValidate TLS-RPT SMTP failure reporting.
domainstringformatstringfull · compactcheck_http_securityAudit HTTP security headers (CSP, COOP, etc.).2 paramsAudit HTTP security headers (CSP, COOP, etc.).
domainstringformatstringfull · compactcheck_daneVerify DANE/TLSA certificate pinning.2 paramsVerify DANE/TLSA certificate pinning.
domainstringformatstringfull · compactcheck_dane_httpsVerify DANE certificate pinning for HTTPS via TLSA records at _443._tcp.{domain}.2 paramsVerify DANE certificate pinning for HTTPS via TLSA records at _443._tcp.{domain}.
domainstringformatstringfull · compactcheck_svcb_httpsValidate HTTPS/SVCB records (RFC 9460) for modern transport capability advertisement.2 paramsValidate HTTPS/SVCB records (RFC 9460) for modern transport capability advertisement.
domainstringformatstringfull · compactcheck_lookalikesDetect active typosquat/lookalike domains. Standalone.2 paramsDetect active typosquat/lookalike domains. Standalone.
domainstringformatstringfull · compactscan_domainFull DNS and email security audit. Score, grade, maturity, findings. Start here.4 paramsFull DNS and email security audit. Score, grade, maturity, findings. Start here.
domainstringformatstringfull · compactprofilestringauto · mail_enabled · enterprise_mail · non_mail · web_only · minimalforce_refreshbooleancompare_baselineCompare domain security against a policy baseline.3 paramsCompare domain security against a policy baseline.
domainstringformatstringfull · compactbaselineobjectcheck_shadow_domainsFind TLD variants with email auth gaps. Standalone.2 paramsFind TLD variants with email auth gaps. Standalone.
domainstringformatstringfull · compactcheck_txt_hygieneAudit TXT records for stale entries and SaaS exposure.2 paramsAudit TXT records for stale entries and SaaS exposure.
domainstringformatstringfull · compactcheck_mx_reputationCheck MX blocklist status and reverse DNS.2 paramsCheck MX blocklist status and reverse DNS.
domainstringformatstringfull · compactcheck_srvProbe SRV records for service footprint.2 paramsProbe SRV records for service footprint.
domainstringformatstringfull · compactcheck_zone_hygieneAudit SOA propagation and sensitive subdomains.2 paramsAudit SOA propagation and sensitive subdomains.
domainstringformatstringfull · compactgenerate_fix_planGenerate prioritized remediation plan with effort estimates.2 paramsGenerate prioritized remediation plan with effort estimates.
domainstringformatstringfull · compactgenerate_spf_recordGenerate corrected SPF record from detected providers.3 paramsGenerate corrected SPF record from detected providers.
domainstringformatstringfull · compactinclude_providersarraygenerate_dmarc_recordGenerate DMARC record with configurable policy.4 paramsGenerate DMARC record with configurable policy.
domainstringformatstringfull · compactpolicystringnone · quarantine · rejectrua_emailstringgenerate_dkim_configGenerate DKIM setup instructions and DNS record.3 paramsGenerate DKIM setup instructions and DNS record.
domainstringformatstringfull · compactproviderstringgenerate_mta_sts_policyGenerate MTA-STS record and policy file.3 paramsGenerate MTA-STS record and policy file.
domainstringformatstringfull · compactmx_hostsarrayget_benchmarkGet score benchmarks: percentiles, mean, top failures.2 paramsGet score benchmarks: percentiles, mean, top failures.
formatstringfull · compactprofilestringmail_enabled · enterprise_mail · non_mail · web_only · minimalget_provider_insightsGet provider cohort benchmarks and common issues.3 paramsGet provider cohort benchmarks and common issues.
formatstringfull · compactprofilestringmail_enabled · enterprise_mail · non_mail · web_only · minimalproviderstringassess_spoofabilityComposite email spoofability score (0-100).2 paramsComposite email spoofability score (0-100).
domainstringformatstringfull · compactcheck_resolver_consistencyCheck DNS consistency across 4 public resolvers.3 paramsCheck DNS consistency across 4 public resolvers.
domainstringformatstringfull · compactrecord_typestringA · AAAA · MX · TXT · NS · CNAMEexplain_findingExplain a finding with impact and remediation.4 paramsExplain a finding with impact and remediation.
formatstringfull · compactstatusstringpass · fail · warning · critical · high · mediumdetailsstringcheckTypestringmap_supply_chainMap third-party service dependencies from DNS records. Correlates SPF, NS, TXT verifications, SRV services, and CAA to show who can send as you, control your DNS, and what services are integrated.2 paramsMap third-party service dependencies from DNS records. Correlates SPF, NS, TXT verifications, SRV services, and CAA to show who can send as you, control your DNS, and what services are integrated.
domainstringformatstringfull · compactanalyze_driftCompare current security posture against a previous baseline. Shows what improved, regressed, or changed.3 paramsCompare current security posture against a previous baseline. Shows what improved, regressed, or changed.
domainstringformatstringfull · compactbaselinestringvalidate_fixRe-check a specific control after applying a fix. Confirms whether the finding is resolved.4 paramsRe-check a specific control after applying a fix. Confirms whether the finding is resolved.
checkstringspf · dmarc · dkim · dnssec · ssl · mta_stsdomainstringformatstringfull · compactexpectedstringgenerate_rollout_planGenerate a phased DMARC enforcement timeline with exact DNS records per phase.4 paramsGenerate a phased DMARC enforcement timeline with exact DNS records per phase.
domainstringformatstringfull · compacttimelinestringaggressive · standard · conservativetarget_policystringquarantine · rejectresolve_spf_chainRecursively resolve the full SPF include chain. Shows lookup count, tree depth, and flags issues like circular includes or exceeding the 10-lookup limit.2 paramsRecursively resolve the full SPF include chain. Shows lookup count, tree depth, and flags issues like circular includes or exceeding the 10-lookup limit.
domainstringformatstringfull · compactdiscover_subdomainsDiscover subdomains via Certificate Transparency logs. Reveals shadow IT, forgotten services, and unauthorized certificate issuance.2 paramsDiscover subdomains via Certificate Transparency logs. Reveals shadow IT, forgotten services, and unauthorized certificate issuance.
domainstringformatstringfull · compactmap_complianceMap scan findings to compliance frameworks: NIST 800-177, PCI DSS 4.0, SOC 2, CIS Controls. Shows pass/fail/partial status per control.2 paramsMap scan findings to compliance frameworks: NIST 800-177, PCI DSS 4.0, SOC 2, CIS Controls. Shows pass/fail/partial status per control.
domainstringformatstringfull · compactsimulate_attack_pathsAnalyze current DNS posture and enumerate specific attack paths an adversary could exploit, with severity, feasibility, steps, and mitigations.2 paramsAnalyze current DNS posture and enumerate specific attack paths an adversary could exploit, with severity, feasibility, steps, and mitigations.
domainstringformatstringfull · compactKnow where you stand.
Source-available DNS & email security scanner for Claude, Cursor, VS Code, and MCP clients across Streamable HTTP, stdio, and legacy HTTP+SSE.
Claude Desktop (one-click install):
Download the Blackveil DNS extension and open it — the current 79-tool surface is available instantly. Verify your download.
Claude Code (one command):
claude mcp add --transport http blackveil-dns https://dns-mcp.blackveilsecurity.com/mcp
Then ask: scan anthropic.com
Smithery (one command):
smithery mcp add MadaBurns/bv-mcp
Verify the endpoint is live:
curl https://dns-mcp.blackveilsecurity.com/health
No install. No API key. One URL for hosted HTTP:
Endpoint https://dns-mcp.blackveilsecurity.com/mcp
Transport Streamable HTTP · JSON-RPC 2.0
Auth None required
Transport support:
Streamable HTTP: POST /mcp, GET /mcp, DELETE /mcpNative stdio: blackveil-dns-mcp CLI from the blackveil-dns npm packageLegacy HTTP+SSE: GET /mcp/sse bootstrap stream plus POST /mcp/messages?sessionId=...generate (artifact=fix_plan) produces provider-aware prioritized actions; its record artifacts (spf_record, dmarc_record, dkim_config, mta_sts_policy, rollout_plan) output ready-to-publish records; validate_fix confirms whether a fix was applied successfullymap_supply_chain correlates DNS signals to build a full third-party dependency graph with trust levels and risk signalssimulate_attack_paths enumerates specific paths (spoofing, takeover, hijack) with severity, steps, and mitigationsmap_compliance maps scan findings to NIST 800-177, PCI DSS 4.0, SOC 2, and CIS Controls 79 MCP tools · 7 prompts · 6 resources
Email Auth Infrastructure Brand & Threats Meta
───────────── ────────────── ─────────────── ───────────────
check_mx check_dnssec check_bimi scan_domain
check_spf check_ssl check_tlsrpt batch_scan
check_dmarc check_ns check_lookalikes compare_domains
check_dkim check_caa check_shadow_domains compare_baseline
check_mta_sts check_http_security explain_finding
check_subdomailing check_dane
check_mx_reputation check_dane_https DNS Hygiene Remediation
check_svcb_https ───────────── ───────────────
check_ptr check_txt_hygiene generate (one tool;
Intelligence check_srv artifact=fix_plan,
───────────── check_zone_hygiene spf_record,
get_benchmark check_resolver_ Discovery dmarc_record,
get_domain_rank consistency ───────────── dkim_config,
get_provider_ discover_brand_ mta_sts_policy,
insights check_dbl domains rollout_plan)
assess_spoofability check_rbl brand_audit_single validate_fix
map_supply_chain cymru_asn brand_audit_batch_
analyze_drift rdap_lookup start
resolve_spf_chain check_nsec_ brand_audit_status
discover_subdomains walkability brand_audit_get_
map_compliance check_dnssec_chain report
simulate_attack_paths check_fast_flux list_brand_audit_watches
check_agent_discovery check_dnskey_strength
check_authoritative_dns_infra
check_root_server_set register_brand_audit_watch
delete_brand_audit_watch
+ check_subdomain_takeover (standalone tool + internal — runs inside scan_domain)
+ check_authoritative_dns_infra and check_root_server_set (authoritative DNS infrastructure profile)
+ discover_brand_domains_start / discover_brand_domains_status / discover_brand_domains_findings
(async start → poll → fetch sibling of discover_brand_domains, for clients that time out on the ~24s sync call)
Operator-deploy only (BV_RECON binding; degrade to unprovisioned on self-hosted BSL deployments):
+ check_realtime_threat_feed — curated intel-gateway threat feed lookup
+ scan_buckets_start — async cloud-bucket discovery scan (start → poll → findings)
+ scan_buckets_status — poll status of a running bucket scan
+ scan_buckets_findings — retrieve findings for a completed bucket scan
+ osint_investigate_domain_start — async domain OSINT investigation (start → poll → report)
+ osint_investigate_infrastructure_start — async deep-infrastructure OSINT (domain, IP, or org)
+ osint_investigate_supply_chain_start — async supply-chain OSINT investigation
+ osint_investigate_username_start — async username OSINT (owner/enterprise tier only)
+ osint_investigate_email_start — async email OSINT (owner/enterprise tier only)
+ osint_investigation_status — poll status of any running OSINT investigation
+ osint_investigation_report — retrieve report for a completed OSINT investigation
Operator-deploy only (m365Proxy binding; Microsoft 365 / Entra identity security ops — degrade to unprovisioned without it):
+ query_signins — query Microsoft Entra sign-in logs for a tenant
+ query_ual — query the Microsoft 365 Unified Audit Log for a tenant
+ get_ca_policies — retrieve Conditional Access policies for an Entra tenant
+ assess_coverage — assess Conditional Access coverage gaps for an Entra tenant
_meta)tools/list returns every tool with server-specific discovery metadata under each tool's _meta (the MCP-sanctioned extension point), so a client can group or filter the surface without hard-coding tool names:
group — functional group (email_auth, infrastructure, brand_threats, dns_hygiene, intelligence, remediation, discovery, identity_secops, meta).tier — scoring tier (core / protective / hardening); absent for non-scoring tools.scanIncluded — true when the tool runs inside scan_domain's parallel audit.recommended — present (true) only on the curated starter set (scan_domain, explain_finding, compare_baseline); omitted otherwise. A client facing the full surface can lead with tools.filter(t => t._meta.recommended) to avoid overwhelming an LLM with all tools flat. Every tool is still listed — this is an additive signal, not a filter.check_authoritative_dns_infra scores authoritative DNS hosting behavior for a hostname. It is designed to consume raw UDP/TCP DNS, authoritative AA/RA behavior, zone-transfer refusal, DNSSEC, abuse-resistance, BGP/RPKI, and multi-vantage evidence from the BV_INFRA_PROBE service binding when that worker is provisioned.
check_root_server_set validates the DNS root-server set against the embedded official root hints. With BV_INFRA_PROBE, it also checks live root priming, glue, parent/child delegation, DNSKEY, and SOA serial evidence across roots.
Self-hosted or local deployments without BV_INFRA_PROBE still return structured partial results. The worker-only mode records the embedded root hints and marks live raw-DNS, routing, RPKI, and vantage capabilities as inconclusive rather than pretending they ran.
The server is continuously validated using a comprehensive chaos test suite that covers all detected MCP client types:
claude_code, cursor, vscode, claude_desktop, windsurf (auto-format: compact)mcp_remote, blackveil_dns_action, bv_claude_dns_proxy, unknown (auto-format: full)The bv_load_test class identifies internal load/chaos/tranco-scan traffic so it stays out of real-client analytics segments.
The test suite ensures session stability, authentication precedence, format negotiation, and transport-specific edge cases across Streamable HTTP and Legacy SSE. Without an API key it exercises the public/free-tier path; with a valid key exported as BV_API_KEY, it also covers ?api_key= authentication, Bearer precedence, authenticated SSE bootstrap, and authenticated batch behavior.
Run the chaos tests locally: python3 scripts/chaos/chaos-test-clients.py
SSOT guardrails are enforced by focused audit tests:
TOOLS registry. MCP Client
│
│ POST /mcp (JSON-RPC 2.0)
│
┌───▼──────────────────────┐
│ Cloudflare Worker │
│ │
│ Hono ─► Origin check │
│ ─► Auth │
│ ─► Rate limiting │
│ ─► Session mgmt │
└───┬──────────────────────┘
│
┌───▼──────────────────────┐
│ Tool Handlers │
│ 19 scoring categories │
└───┬──────────────────────┘
│
┌───▼──────────────────────┐
│ Generic Scoring Engine │
│ Three-tier model │
└───┬──────────────────────┘
│
┌───▼──────────────────────┐
│ Cloudflare DoH │
│ DNS-over-HTTPS │
└──────────────────────────┘
BV_INFRA_PROBE service binding supplies raw authoritative DNS, root-server, BGP/RPKI, and vantage evidence for the authoritative DNS infrastructure profilebv-wasm-corecompact vs full) based on client User-Agentdiscover_brand_domains / brand_audit_*)The discovery_mode argument accepts two values:
classic (the default everywhere this repo runs out-of-the-box) — the public, BSL-licensed signal-sweep pipeline. Uses only public-internet data sources (DNS, RDAP, CT logs, MX/TXT inspection). This is the only mode supported for self-hosted deployments and the only mode the open test suite covers end-to-end.tiered — layers a portfolio-aware Tier 0 / infrastructure-graph Tier 1 / declared-evidence Tier 2 pipeline in front of the classic sweep. Tiered mode requires private BlackVeil-internal cross-Worker bindings (BV_INFRA_GRAPH, BV_INTEL_GATEWAY, BV_ENTERPRISE) that are not packaged with the open distribution — they live in BlackVeil's production deploy overlay (.dev/wrangler.deploy.jsonc) and call into proprietary Workers. Self-hosters cannot enable tiered mode without those bindings.BlackVeil's hosted production at dns-mcp.blackveilsecurity.com flips its runtime default to tiered via the env var BRAND_AUDIT_DISCOVERY_MODE_DEFAULT="tiered" in the private overlay; the public schema default in src/schemas/tool-args.ts stays 'classic' permanently so anyone building from main gets the BSL-licensed behaviour unchanged. An explicit caller-supplied discovery_mode always wins over the env default.
The free tier requires no authentication. Authenticated requests bypass per-IP rate limits and follow your tier's daily quota. Three authentication methods are supported:
Authorization: Bearer <KEY>?api_key=<KEY> (for clients that can't send custom headers — Smithery, Claude Code)ENABLE_OAUTH=true; owner-key consent is separately gated by ENABLE_OWNER_OAUTH=true.For full hosted setup examples, stdio usage, OAuth setup, and legacy fallback endpoints, see docs/client-setup.md.
| Free | Pro | Enterprise | |
|---|---|---|---|
| Price | $0 | $39/mo | Contact us |
| Scans/day | 25 | 500 | 10,000+ |
| Checks/day | Tool-specific limits | Tool-specific limits | Contract limits |
| Rate limit | 50 req/min | None | None |
| API access | Yes | Yes | Yes |
| MCP access | Yes | Yes | Yes |
Offensive/recon and multi-domain tools (subdomain discovery, attack-path simulation, lookalike/shadow-domain detection, supply-chain mapping, bucket/OSINT investigations, batch_scan, compare_domains, brand audits) require a paid plan (Pro / developer tier or higher); free, unauthenticated, and agent-tier callers get an HTTP 403 upgrade-required response. Unauthenticated callers are additionally capped at a small number of distinct domains per day (best-effort, fail-open). The OSINT/bucket status and report pollers stay free.
These demonstrate core functionality — paste any of them into Claude with the Blackveil DNS connector enabled:
| Prompt | What it does |
|---|---|
Scan blackveilsecurity.com and tell me what needs fixing | Full security audit — score, grade, prioritized findings |
Compare the email security of google.com and microsoft.com | Side-by-side comparison of two domains' postures |
Generate a DMARC record for example.com with reject policy | Produces a ready-to-publish DNS record |
What attack paths exist for example.com? | Enumerates spoofing, takeover, and hijack vectors |
Map example.com's compliance against NIST 800-177 | Maps findings to compliance framework controls |
This tool is intended for authorized security assessments of domains you own or have explicit permission to test. Do not use it for unauthorized reconnaissance, harassment, or any activity that violates applicable laws. Findings from attack simulation, spoofability, and subdomain discovery tools should be used to improve your own security posture, not to exploit others.
If you discover a vulnerability in a third-party domain, please follow coordinated disclosure practices.
Built and maintained by BLACKVEIL — NZ-owned cybersecurity consultancy.
Privacy Policy · License (BUSL-1.1 → MIT on 2030-03-17)
io.github.mindstone/mcp-server-microsoft-teams
com.mintmcp/outlook-email
helbertparanhos/resend-email-mcp
marlinjai/email-mcp
io.github.mindstone/mcp-server-email-imap
io.github.osamahassouna/email-playbook-mcp