Open-source DNS & email security scanner. One MCP endpoint, 57 checks, zero install. Cloudflare Workers.
- ✓Actively maintained (<30d)
- ✓Clear description
- ✓Topics declared
- !No standard license detected
git clone https://github.com/MadaBurns/bv-mcp{
"mcpServers": {
"bv-mcp": {
"command": "node",
"args": ["/path/to/bv-mcp/dist/index.js"],
"env": {
"BV_API_KEY": "<bv_api_key>"
}
}
}
}BV_API_KEYMCP Servers overview
<div align="center">
# BLACK**V**EIL DNS
**Know 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.
[](https://github.com/MadaBurns/bv-mcp/stargazers)
[](https://github.com/MadaBurns/bv-mcp/actions)
[](LICENSE)
[](https://modelcontextprotocol.io/)
[](https://workers.cloudflare.com/)
[](https://www.typescriptlang.org/)

</div>
---
## Try it in 30 seconds
**Claude Desktop** (one-click install):
Download the [Blackveil DNS extension](https://github.com/MadaBurns/bv-claude-dns/releases/latest/download/bv-claude-dns.mcpb) and open it — the current 80-tool surface is available instantly. [Verify your download](https://blackveilsecurity.com/extensions/claude-dns#install).
**Claude Code** (one command):
```bash
claude mcp add --transport http blackveil-dns https://dns-mcp.blackveilsecurity.com/mcp
```
Then ask: `scan anthropic.com`
**Smithery** (one command):
```bash
smithery mcp add MadaBurns/bv-mcp
```
**Verify the endpoint is live:**
```bash
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 /mcp`
- `Native stdio`: `blackveil-dns-mcp` CLI from the `blackveil-dns` npm package
- `Legacy HTTP+SSE`: `GET /mcp/sse` bootstrap stream plus `POST /mcp/messages?sessionId=...`
For Streamable HTTP, clients should retain the `Mcp-Session-Id` returned by `initialize` and send it on every subsequent request, including notifications. Send the negotiated version in `MCP-Protocol-Version`; unsupported values are rejected with HTTP `400`, while expired or terminated sessions return `404` and require a fresh `initialize`.
---
## What you get
- **80 MCP tools with 19 scoring categories** — SPF, DMARC, DKIM, DNSSEC, SSL/TLS, MTA-STS, NS, CAA, MX, BIMI, TLS-RPT, subdomain takeover, HTTP security headers, DANE, SVCB/HTTPS, DANE-HTTPS, subdomailing, reverse DNS (PTR/FCrDNS), and DNSKEY strength
- **Maturity staging** — Stage 0-4 classification (Unprotected to Hardened) with score-based capping to prevent inflated labels
- **Trust surface analysis** — detects shared SaaS platforms (Google, M365, SendGrid) and cross-references DMARC enforcement to determine real exposure
- **Guided remediation** — `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 successfully
- **Supply chain mapping** — `map_supply_chain` correlates DNS signals to build a full third-party dependency graph with trust levels and risk signals
- **Attack path simulation** — `simulate_attack_paths` enumerates specific paths (spoofing, takeover, hijack) with severity, steps, and mitigations
- **Compliance mapping** — `map_compliance` maps scan findings to NIST 800-177, PCI DSS 4.0, SOC 2, and CIS Controls
- **Self-tuning scoring** — adaptive weights adjust category importance based on patterns seen across scans via Durable Object telemetry
- **Per-tier analytics** — usage tracking by auth tier with operator API for tier summaries, key-level usage, and daily digests
- **Passive and read-only** — all checks use public Cloudflare DNS-over-HTTPS; no authorization required from the target
---
## Tools
```
80 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
prioritize_csc_leads
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 BUSL 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 (proxied via the `BV_WEB` service binding, wired as the `m365Proxy` runtime option; 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
```
### Tool discovery metadata (`_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.
### Authoritative DNS infrastructure
`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 What people ask about bv-mcp
What is MadaBurns/bv-mcp?
+
MadaBurns/bv-mcp is mcp servers for the Claude AI ecosystem. Open-source DNS & email security scanner. One MCP endpoint, 57 checks, zero install. Cloudflare Workers. It has 6 GitHub stars and was last updated today.
How do I install bv-mcp?
+
You can install bv-mcp by cloning the repository (https://github.com/MadaBurns/bv-mcp) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.
Is MadaBurns/bv-mcp safe to use?
+
Our security agent has analyzed MadaBurns/bv-mcp and assigned a Trust Score of 62/100 (tier: OK). See the full breakdown of passed checks and flags on this page.
Who maintains MadaBurns/bv-mcp?
+
MadaBurns/bv-mcp is maintained by MadaBurns. The last recorded GitHub activity is from today, with 2 open issues.
Are there alternatives to bv-mcp?
+
Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.
Deploy bv-mcp to your cloud
Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.
Maintain this repo? Add a badge to your README
Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.
[](https://claudewave.com/repo/madaburns-bv-mcp)<a href="https://claudewave.com/repo/madaburns-bv-mcp"><img src="https://claudewave.com/api/badge/madaburns-bv-mcp" alt="Featured on ClaudeWave: MadaBurns/bv-mcp" width="320" height="64" /></a>More MCP Servers
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
The fastest path to AI-powered full stack observability, even for lean teams.
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!