Skip to main content
Glama

The Problem

DNS is the foundation of every internet service, and it is the most overlooked attack surface. Misconfigured DNSSEC, dangling CNAME records, missing SPF/DKIM/DMARC, DNS tunneling, typosquatting domains, expiring certificates, open resolvers — the attack vectors are everywhere, but the tools to detect them are fragmented across dozens of specialized utilities, each with its own syntax, its own output format, and its own learning curve.

Traditional DNS security workflow:
  check DNS records              ->  dig / nslookup (manual parsing)
  validate DNSSEC                ->  dnsviz.net web UI + delv CLI
  audit email security           ->  mxtoolbox.com + dmarcian.com (2 web UIs)
  detect subdomain takeover      ->  subjack / nuclei + manual CNAME review
  find DNS tunneling             ->  Wireshark pcap + custom scripts
  monitor certificates           ->  crt.sh web UI + certspotter
  check typosquatting            ->  dnstwist CLI + manual review
  scan blocklists                ->  multirbl.valli.org + spamhaus lookup
  test infrastructure            ->  multiple CLI tools + web checkers
  generate compliance report     ->  copy-paste everything into a doc
  ─────────────────────────────────
  Total: 8+ tools, 5+ web UIs, hours of manual correlation

dns-security-mcp gives your AI agent 103 tools across 13 categories via the Model Context Protocol. The agent performs DNS reconnaissance, validates DNSSEC chains, audits email authentication, detects hijacking risks, identifies tunneling, monitors certificates, catches typosquatting, checks blocklists, hardens infrastructure, and generates compliance reports — all in a single conversation, all from local DNS queries.

With dns-security-mcp:
  You: "Run a full security audit on example.com"

  Agent: -> dns_lookup: 14 record types resolved, 3 nameservers found
         -> dnssec_full_audit: DNSSEC signed, chain valid, RRSIG expires in 12 days
         -> email_full_audit: SPF present (strict), DKIM found (3 selectors),
            DMARC p=reject — excellent email security
         -> hijack_subdomain_takeover: 2 dangling CNAMEs detected (staging, old-api)
         -> ct_unauthorized_detect: 1 certificate from unauthorized CA found
         -> bl_domain_score: Risk score 15/100 — clean
         -> infra_ns_diversity: 4 NS across 3 ASNs — good diversity
         -> report_generate: Full SARIF report generated

         "example.com has strong DNS and email security posture.
          Two critical findings: staging.example.com and old-api.example.com
          have dangling CNAME records pointing to decommissioned services —
          immediate subdomain takeover risk. One certificate from a non-
          authorized CA (Let's Debug) was found in CT logs. DNSSEC RRSIG
          expires in 12 days — schedule key rotation."

Related MCP server: contrastapi

How It's Different

Most DNS tools give you raw records. dns-security-mcp gives your AI agent the ability to reason across the entire DNS attack surface simultaneously.


Quick Start

Option 1: npx (no install)

npx dns-security-mcp

All 103 tools work immediately. No API keys required for core functionality — everything runs via local DNS queries.

Option 2: bunx (faster)

bunx dns-security-mcp

Option 3: Clone

git clone https://github.com/badchars/dns-security-mcp.git
cd dns-security-mcp
bun install

Connect to your AI agent

# With npx
claude mcp add dns-security-mcp -- npx dns-security-mcp

# With local clone
claude mcp add dns-security-mcp -- bun run /path/to/dns-security-mcp/src/index.ts

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "dns-security": {
      "command": "npx",
      "args": ["-y", "dns-security-mcp"],
      "env": {
        "SECURITYTRAILS_API_KEY": "optional",
        "VIRUSTOTAL_API_KEY": "optional",
        "SAFEBROWSING_API_KEY": "optional",
        "DNS_RESOLVER": "optional"
      }
    }
  }
}

Same JSON config format. Point the command to npx dns-security-mcp or your local installation path.

Start querying

You: "Check if example.com has any DNS security issues"

That's it. The agent runs reconnaissance, validates DNSSEC, checks email security, scans for hijacking risks, and more — automatically.


What The AI Can Do

Full Security Audit

You: "Run a comprehensive DNS security audit on target.com"

Agent: -> report_full_audit {domain: "target.com"}
       -> "Complete DNS security audit for target.com:
          CRITICAL: 2 dangling CNAMEs (subdomain takeover risk)
          HIGH: DNSSEC not enabled — vulnerable to cache poisoning
          HIGH: DMARC policy is 'none' — email spoofing possible
          MEDIUM: MTA-STS not configured
          LOW: 2 NS servers in same /24 subnet
          Score: 42/100 — significant improvements needed.
          Full SARIF report generated with 8 findings."

Email Spoofing Assessment

You: "Can someone spoof emails from our domain bigcorp.com?"

Agent: -> email_spoofability_score {domain: "bigcorp.com"}
       -> email_check_spf {domain: "bigcorp.com"}
       -> email_check_dmarc {domain: "bigcorp.com"}
       -> email_check_dkim {domain: "bigcorp.com"}
       -> "Spoofability score: 72/100 (HIGH RISK)
          SPF: Present but uses ~all (softfail) instead of -all
          DKIM: Only 1 selector found (google), missing others
          DMARC: Policy is p=none with no rua reporting
          Recommendation: Change SPF to -all, set DMARC p=reject,
          add DKIM for all sending services."

Subdomain Takeover Hunt

You: "Check all subdomains of startup.io for takeover risk"

Agent: -> hijack_subdomain_takeover {domain: "startup.io", use_ct: true}
       -> hijack_dangling_cname {domain: "startup.io"}
       -> hijack_dangling_ns {domain: "startup.io"}
       -> hijack_dangling_mx {domain: "startup.io"}
       -> "Found 4 subdomains at risk:
          CRITICAL: docs.startup.io -> CNAME to ReadTheDocs (unclaimed)
          CRITICAL: staging.startup.io -> CNAME to Heroku (app deleted)
          HIGH: old-blog.startup.io -> CNAME to Ghost.io (expired)
          MEDIUM: mail2.startup.io -> MX points to decommissioned server
          All 4 can be claimed by an attacker. Immediate action required."

DNS Tunneling Detection

You: "Analyze these DNS queries for tunneling: [list of suspicious queries]"

Agent: -> tunnel_full_scan {queries: [...], timestamps: [...]}
       -> "Tunneling probability: 94/100 (VERY HIGH)
          Entropy: 4.8 bits/char avg (normal is <3.5)
          Query length: 180+ chars avg (normal is <50)
          Tool signature: Matches iodine encoding pattern
          Covert channel: Beaconing detected at 30s intervals
          TXT payloads: Base64-encoded data in responses
          Verdict: Active DNS tunnel, likely iodine-based C2."

Typosquatting Detection

You: "Find typosquatting domains targeting mybank.com"

Agent: -> typo_full_scan {domain: "mybank.com", check_registered: true}
       -> "Generated 847 typosquat variants across 7 techniques.
          42 are registered and resolving:
          - myb4nk.com (homoglyph) -> resolves to 185.x.x.x (suspicious)
          - mybank.co (TLD variation) -> parked page
          - my-bank.com (combosquat) -> phishing page detected
          - mybanк.com (IDN/Cyrillic 'к') -> redirect to credential harvester
          HIGH RISK: 4 domains actively serving phishing content.
          Recommend takedown requests for mybanк.com and my-bank.com."

Certificate Transparency Monitoring

You: "Monitor certificates issued for our domain in the last 7 days"

Agent: -> ct_monitor {domain: "company.com", days: 7}
       -> ct_unauthorized_detect {domain: "company.com"}
       -> ct_expiry_monitor {domain: "company.com", days_threshold: 30}
       -> "Certificate activity for company.com (last 7 days):
          3 new certificates issued:
          - *.company.com by Let's Encrypt (expected)
          - api.company.com by DigiCert (expected)
          - company.com by GoGetSSL (UNAUTHORIZED — not in CAA)
          Expiring soon: 2 certificates expire within 30 days.
          Action: Investigate the GoGetSSL certificate — your CAA
          record only allows Let's Encrypt and DigiCert."

Tools Reference (103 tools)

Category Overview

Category

Tools

Description

:mag: DNS Reconnaissance

12

Record lookup, zone transfer, cache snooping, NSEC walking, propagation, split-horizon

:shield: DNSSEC Validation

8

Chain of trust, DS/DNSKEY/RRSIG/NSEC checks, algorithm audit, key rollover

:email: Email Security

9

SPF, DKIM, DMARC, BIMI, MTA-STS, DANE, PTR, spoofability scoring

:warning: Hijacking & Takeover

9

Dangling CNAME/NS/MX, delegation chain, DNS rebinding, registrar security, BGP impact

:hole: DNS Tunneling Detection

7

Entropy analysis, length checks, TXT payloads, tool signatures, covert channels

:lock: Certificate Transparency

7

CT log search, wildcard audit, unauthorized CA detection, expiry monitoring

:globe_with_meridians: Domain Intelligence

10

WHOIS/RDAP, domain age, history, DGA detection, reputation, hosting info

:dart: Typosquatting & Brand Protection

8

Homoglyph, bitsquat, TLD variation, combosquat, soundsquat, IDN homograph, keyboard proximity

:no_entry: Blocklist & Reputation

6

DNSBL/RBL, SURBL, phishing lists, malware lists, fast-flux detection, risk scoring

:gear: Infrastructure Security

9

Open resolver, amplification, rate limiting, software CVE, EDNS, TCP fallback, DNS cookies

:detective: DNS Privacy

6

DoH, DoT, DoQ testing, ECS leak detection, resolver audit, DNS leak test

:biohazard: Passive DNS & Threat Intel

7

Passive DNS, co-hosting, IP-to-domains, malicious feeds, C2 detection, sinkhole check

:page_facing_up: Compliance & Reporting

5

RFC compliance, CIS benchmarks, full audit, SARIF/Markdown/JSON reports, baseline comparison


Tool

Description

dns_lookup

Resolve all DNS record types for a domain in parallel

dns_reverse

Perform PTR (reverse DNS) lookup with Forward Confirmed rDNS (FCrDNS) validation

dns_zone_transfer

Attempt AXFR (full zone transfer) against a domain's nameserver via TCP

dns_subdomain_enum

Enumerate subdomains using passive CT (Certificate Transparency) log lookups via crt.sh

dns_cache_snoop

Perform DNS cache snooping by sending non-recursive query (RD=0) to a nameserver

dns_nsec_walk

Attempt DNSSEC NSEC zone walking to enumerate domain names in a signed zone

dns_wildcard_detect

Detect wildcard DNS configurations by resolving random non-existent subdomains

dns_server_fingerprint

Fingerprint a DNS server by querying CHAOS class TXT records (version.bind)

dns_recursive_check

Test whether a nameserver is an open recursive resolver (RD=1 for external domain)

dns_propagation

Check DNS propagation by querying 20+ globally distributed public resolvers

dns_split_horizon

Detect split-horizon (split-brain) DNS by comparing internal vs external resolver responses

dns_ttl_analysis

Analyze DNS TTL values across all record types for a domain

Tool

Description

dnssec_validate

Full DNSSEC chain of trust validation from root to TLD to domain

dnssec_check_ds

Check DS (Delegation Signer) records for a domain

dnssec_check_dnskey

List all DNSKEY records for a domain

dnssec_check_rrsig

Check RRSIG (Resource Record Signature) records and expiry

dnssec_check_nsec

Check NSEC/NSEC3 records for a domain

dnssec_algorithm_audit

Inventory all DNSSEC algorithms used in DS, DNSKEY, and RRSIG records

dnssec_key_rollover

Check for DNSSEC key rollover indicators

dnssec_full_audit

Comprehensive DNSSEC audit: all 7 checks combined with unified report

Tool

Description

email_check_spf

Check SPF (Sender Policy Framework) record with mechanism analysis

email_check_dkim

Check DKIM records by probing common selectors (google, selector1, dkim, etc.)

email_check_dmarc

Check DMARC record with policy analysis and reporting configuration

email_check_bimi

Check BIMI (Brand Indicators for Message Identification) record

email_check_mta_sts

Check MTA-STS (Mail Transfer Agent Strict Transport Security) configuration

email_check_dane

Check DANE/TLSA records for a domain's MX hosts

email_check_ptr

Check PTR and FCrDNS (Forward-Confirmed reverse DNS) for MX hosts

email_spoofability_score

Calculate email spoofability score (0-100) based on SPF, DKIM, DMARC

email_full_audit

Comprehensive email security audit across all protocols

Tool

Description

hijack_dangling_cname

Detect dangling CNAME records that could allow subdomain takeover

hijack_dangling_ns

Detect dangling NS records that could allow full domain takeover

hijack_dangling_mx

Detect dangling MX records that could allow email hijacking

hijack_ns_delegation

Walk the DNS delegation chain and verify consistency

hijack_dns_rebinding

Detect DNS rebinding candidates via IP changes combined with low TTL

hijack_registrar_security

Check domain registrar security posture via RDAP

hijack_change_monitor

Monitor DNS record changes by comparing against a stored baseline

hijack_subdomain_takeover

Full subdomain takeover scan using CT logs and CNAME resolution

hijack_bgp_impact

Assess BGP-level impact of domain hijacking via Team Cymru ASN lookup

Tool

Description

tunnel_entropy_analysis

Calculate Shannon entropy per subdomain label to detect tunneling

tunnel_query_length

Measure subdomain label and total query lengths for anomaly detection

tunnel_txt_payload

Detect encoded payloads in TXT records: base64, hex, binary markers

tunnel_record_anomaly

Analyze queries for record type abuse patterns used in tunneling

tunnel_tool_signatures

Match patterns against known tools: iodine, dns2tcp, dnscat2, Cobalt Strike, Sliver C2, DNSStager

tunnel_covert_channel

Detect covert channels through beaconing timing analysis and label pattern analysis

tunnel_full_scan

All 6 tunnel checks combined with overall probability score (0-100)

Tool

Description

ct_search

Search CT logs via crt.sh for certificates issued to a domain

ct_wildcard_audit

Audit CT logs for wildcard certificates

ct_unauthorized_detect

Detect unauthorized certificates by cross-referencing CT logs with CAA records

ct_monitor

Monitor CT logs for recently issued certificates within N days

ct_check_caa

Check CAA (Certification Authority Authorization) DNS records

ct_cert_inventory

Build a full certificate inventory from CT logs

ct_expiry_monitor

Find certificates expiring within N days

Tool

Description

domain_whois

Query RDAP for domain WHOIS information

domain_age

Determine domain age via RDAP creation date

domain_history

Retrieve domain event history from RDAP

domain_expiry_risk

Assess domain expiry risk via RDAP

domain_parked_detect

Detect if a domain is a parked/for-sale page

domain_dga_detect

Analyze domains for DGA (Domain Generation Algorithm) characteristics

domain_newly_registered

Search CT logs for recently issued certs to discover new domains

domain_reputation

Multi-source domain reputation check

domain_hosting_info

Get hosting infrastructure details for a domain

domain_related

Find related domains through shared NS, MX, IP, and CT co-occurrence

Tool

Description

typo_homoglyph

Generate visually similar domain variants (o/0, l/1, rn/m, Cyrillic lookalikes)

typo_bitsquat

Generate all single-bit-flip variants of each character in the domain

typo_tld_variation

Test common TLD confusions (.com/.co/.cm/.om/.net, etc.)

typo_combosquat

Generate brand+keyword combinations (login-, secure-, my-, -app, etc.)

typo_soundsquat

Generate phonetically similar variants using sound substitutions

typo_idn_homograph

Generate IDN homograph variants using Cyrillic, Greek, Armenian characters

typo_keyboard_proximity

Generate QWERTY keyboard proximity typos: adjacent keys, omissions, doubles, swaps

typo_full_scan

All 7 typosquatting techniques combined with optional registration check

Tool

Description

bl_check_dnsbl

Check an IP against multiple DNS-based blocklists (DNSBL/RBL)

bl_check_surbl

Check a domain against domain-based blocklists (SURBL, Spamhaus DBL, URIBL)

bl_check_phishing

Check domain for phishing indicators via blocklists and domain age

bl_check_malware

Check domain against malware-specific blocklists (abuse.ch, etc.)

bl_fast_flux_detect

Detect fast-flux DNS behavior via multiple timed resolutions

bl_domain_score

Aggregated domain risk score (0-100) from DNSBL, age, DNSSEC, SPF/DMARC

Tool

Description

infra_open_resolver

Test if a nameserver is an open resolver accepting external recursive queries

infra_amplification

Measure DNS amplification factor of a nameserver

infra_rate_limiting

Test Response Rate Limiting (RRL) on a nameserver

infra_software_cve

Fingerprint DNS server software via CHAOS version.bind

infra_edns_compliance

Test EDNS0 compliance of a nameserver

infra_tcp_fallback

Test TCP fallback support for large responses

infra_dns_cookie

Test DNS Cookie support (RFC 7873)

infra_axfr_protection

Test zone transfer (AXFR) protection

infra_ns_diversity

Analyze nameserver diversity (count, ASN distribution, /24 subnets)

Tool

Description

privacy_doh_test

Test DNS-over-HTTPS (DoH) endpoint connectivity and response

privacy_dot_test

Test DNS-over-TLS (DoT) endpoint connectivity and security

privacy_doq_test

Test DNS-over-QUIC (DoQ) support

privacy_ecs_leak

Test EDNS Client Subnet (ECS) leak on a resolver

privacy_resolver_audit

Comprehensive privacy audit of a DNS resolver

privacy_leak_test

DNS leak test: determine which resolver(s) your system actually uses

Tool

Description

threat_passive_dns

Query passive DNS data for a domain

threat_cohosting

Analyze domain co-hosting via reverse DNS and CT logs

threat_ip_to_domains

Resolve IP to all known domains via PTR records and CT log searches

threat_malicious_feed

Check domain against free threat intelligence feeds (Spamhaus, SURBL, URLhaus)

threat_c2_detect

Analyze domains for C2 indicators: DGA score, fast-flux, low TTL, DNSBL

threat_actor_infra

Map domain infrastructure: NS, MX, IP, ASN (Team Cymru), registrar (RDAP)

threat_sinkhole_check

Check if a domain resolves to known sinkhole operators (Microsoft, Shadowserver, abuse.ch)

Tool

Description

report_rfc_compliance

Test compliance with RFC 1035, 4034, 6891, 7208, 7489

report_best_practice

CIS DNS Benchmark-style checks: DNSSEC, email auth, NS diversity, zone transfer, version hiding

report_full_audit

Comprehensive audit across all categories with severity ratings

report_generate

Full audit with output in JSON, Markdown, or SARIF format

report_compare

Compare current audit against a previous baseline to detect drift


Configuration

Environment Variables

All environment variables are optional. Core functionality (103 tools) works entirely via local DNS queries with zero external API calls.

# Optional: Custom DNS resolver (default: system resolver)
export DNS_RESOLVER=8.8.8.8

# Optional: SecurityTrails API for enriched passive DNS data
export SECURITYTRAILS_API_KEY=your-key

# Optional: VirusTotal API for domain reputation enrichment
export VIRUSTOTAL_API_KEY=your-key

# Optional: Google Safe Browsing API for phishing/malware URL checks
export SAFEBROWSING_API_KEY=your-key

Variable

Required

What it enables

DNS_RESOLVER

No

Override the system DNS resolver for all queries

SECURITYTRAILS_API_KEY

No

Enriched passive DNS and domain intelligence data

VIRUSTOTAL_API_KEY

No

Domain reputation scoring via VirusTotal

SAFEBROWSING_API_KEY

No

Google Safe Browsing checks for phishing/malware domains

Without any API keys, all 103 tools function using local DNS queries, public DNS resolvers, RDAP, crt.sh (Certificate Transparency), and DNS-based blocklists. API keys only add optional enrichment from third-party threat intelligence services.


CLI Usage

# Show help
npx dns-security-mcp --help

# List all 103 tools with descriptions
npx dns-security-mcp --list

# Run any tool directly from the command line
npx dns-security-mcp --tool dns_lookup '{"domain":"example.com","types":["A","AAAA","MX","TXT"]}'
npx dns-security-mcp --tool dnssec_validate '{"domain":"cloudflare.com"}'
npx dns-security-mcp --tool email_spoofability_score '{"domain":"google.com"}'
npx dns-security-mcp --tool hijack_subdomain_takeover '{"domain":"target.com","use_ct":true}'
npx dns-security-mcp --tool tunnel_full_scan '{"queries":["aGVsbG8.tunnel.evil.com","d29ybGQ.tunnel.evil.com"]}'
npx dns-security-mcp --tool typo_full_scan '{"domain":"mybank.com","check_registered":true}'
npx dns-security-mcp --tool report_generate '{"domain":"example.com","format":"sarif"}'

# Using Bun (faster startup)
bunx dns-security-mcp --tool bl_domain_score '{"domain":"suspicious-site.xyz"}'

# With custom DNS resolver
DNS_RESOLVER=1.1.1.1 npx dns-security-mcp --tool dns_propagation '{"domain":"example.com"}'

Architecture

src/
  index.ts                # CLI entrypoint (--help, --list, --tool, stdio server)
  protocol/
    mcp-server.ts         # MCP server setup (stdio transport)
    tools.ts              # Tool registry — all 103 tools assembled here
  types/
    index.ts              # Shared types (ToolDef, ToolContext, ToolResult)
  utils/
    dns-client.ts         # Shared DNS query client (UDP/TCP, dns-packet)
    rate-limiter.ts       # Per-provider rate limiter
    cache.ts              # TTL cache for DNS responses
  dns/                    # DNS Reconnaissance tools (12)
  dnssec/                 # DNSSEC Validation tools (8)
  email/                  # Email Security tools (9)
  hijack/                 # Hijacking & Takeover tools (9)
  tunnel/                 # DNS Tunneling Detection tools (7)
  ct/                     # Certificate Transparency tools (7)
  domain/                 # Domain Intelligence tools (10)
  typo/                   # Typosquatting & Brand Protection tools (8)
  blocklist/              # Blocklist & Reputation tools (6)
  infra/                  # Infrastructure Security tools (9)
  privacy/                # DNS Privacy tools (6)
  threat/                 # Passive DNS & Threat Intel tools (7)
  report/                 # Compliance & Reporting tools (5)
  data/                   # Static data (DKIM selectors, DNSBL lists, tool signatures)

Design decisions:

  • 3 dependencies, nothing else &mdash; @modelcontextprotocol/sdk for the MCP protocol, zod for input validation, dns-packet for raw DNS packet crafting. No bloated dependency tree. No native modules. No C bindings.

  • 100% local core &mdash; Every tool works via direct DNS queries using dgram (UDP) and net (TCP) sockets with dns-packet for wire-format encoding/decoding. No external API calls required for any core functionality.

  • 13 providers, 1 server &mdash; Each security category is an independent module. The AI agent picks which tools to use based on the investigation context.

  • Raw DNS access &mdash; Unlike tools built on dns.resolve(), dns-security-mcp crafts raw DNS packets. This enables DNSSEC record queries (DS, DNSKEY, RRSIG, NSEC), CHAOS class queries (version.bind), non-recursive queries (cache snooping), AXFR attempts (zone transfer), and EDNS options &mdash; none of which are possible with Node's built-in DNS module.

  • TTL caching &mdash; DNS responses are cached respecting record TTL values. CT log queries cached for 15 minutes. RDAP responses cached for 10 minutes. Prevents redundant queries during multi-tool workflows.

  • Graceful degradation &mdash; Missing API keys never crash the server. Optional enrichment tools return clear messages: "Set SECURITYTRAILS_API_KEY for enriched passive DNS data."

  • Multiple output formats &mdash; Reports can be generated as JSON (machine-readable), Markdown (human-readable), or SARIF (IDE/CI integration).


Part of the MCP Security Suite

Project

Domain

Tools

hackbrowser-mcp

Browser-based security testing

39 tools

cloud-audit-mcp

Cloud security (AWS/Azure/GCP)

38 tools

github-security-mcp

GitHub security posture

39 tools

cve-mcp

Vulnerability intelligence

23 tools

osint-mcp-server

OSINT & reconnaissance

37 tools

darknet-mcp-server

Dark web & threat intelligence

66 tools

dns-security-mcp

DNS security intelligence

103 tools


Contributing

Contributions are welcome. See CONTRIBUTING.md for guidelines.


Available Tools

104 tools
bl_check_dnsblA

Check an IP address against multiple DNS-based blocklists (DNSBL/RBL). Reverses the IP and queries each blocklist in parallel. Returns per-list result with listing status and reason.

Inputs: ip (required), lists.

bl_check_malwareA

Check a domain against malware-specific blocklists: abuse.ch URLhaus, Spamhaus DBL, SURBL malware category. Returns whether malware association was found and the source.

Inputs: domain (required).

bl_check_phishingA

Check a domain for phishing indicators by querying Spamhaus DBL, SURBL phishing list, and checking domain age via RDAP. Returns phishing indicators and confidence level (0-100).

Inputs: domain (required).

bl_check_surblA

Check a domain against domain-based blocklists (SURBL, Spamhaus DBL, URIBL, etc.). Returns listed/not listed per list with category.

Inputs: domain (required).

bl_domain_scoreA

Calculate an aggregated domain risk score (0-100) from multiple sources: DNSBL listings, domain age, DNSSEC presence, SPF/DMARC configuration. Returns score, contributing factors, and verdict.

Inputs: domain (required).

bl_fast_flux_detectA

Detect fast-flux DNS behavior by resolving a domain multiple times with intervals. Fast-flux indicators: rapidly changing IPs, very low TTL (<300), multiple IPs per query, IPs in different /16 subnets. Returns flux score 0-100.

Inputs: domain (required), samples, interval_ms.

ct_cert_inventoryA

Build a full certificate inventory from CT logs for a domain. Groups by active/expired, wildcard/specific, and CA. Returns total count, active count, unique subdomains, and CA distribution.

Inputs: domain (required).

ct_check_caaA

Check CAA (Certification Authority Authorization) DNS records for a domain and its parents. Analyzes issue, issuewild, and iodef tags. Flags missing CAA, unrestricted wildcards, and missing iodef.

Inputs: domain (required).

ct_expiry_monitorA

Find certificates expiring within N days for a domain. Returns expiring certificates with subject, issuer, expiry date, and days remaining.

Inputs: domain (required), days_threshold.

ct_monitorA

Monitor Certificate Transparency logs for recently issued certificates. Returns certificates issued within the last N days for a given domain.

Inputs: domain (required), days.

ct_unauthorized_detectA

Detect potentially unauthorized certificates by cross-referencing CT logs with CAA DNS records. Flags certificates issued by CAs not authorized in the domain's CAA record.

Inputs: domain (required), allowed_cas.

ct_wildcard_auditA

Audit Certificate Transparency logs for wildcard certificates (*.domain). Reports number of wildcards, issuing CAs, date ranges, and flags multiple wildcards from different CAs.

Inputs: domain (required).

dns_cache_snoopA

Perform DNS cache snooping by sending a non-recursive query (RD=0) to a nameserver. If the server returns an answer without performing recursion, the domain was previously cached, revealing that someone behind that resolver recently visited the domain.

Inputs: domain (required), nameserver (required).

dns_lookupA

Resolve all DNS record types for a domain in parallel. Returns A, AAAA, MX, TXT, NS, SOA, CNAME, SRV, and CAA records. Optionally specify record types or a custom resolver.

Inputs: domain (required), types, resolver.

dns_nsec_walkA

Attempt DNSSEC NSEC zone walking to enumerate domain names in a signed zone. NSEC records contain the 'next' domain name in the zone, allowing complete enumeration. NSEC3 uses hashed names to mitigate this, which is detected and reported.

Inputs: domain (required), limit.

dns_propagationA

Check DNS propagation by querying 20+ globally distributed public resolvers. Reports per-resolver results and a consistency check to detect incomplete propagation or geo-based DNS differences.

Inputs: domain (required), type.

dns_recursive_checkA

Test whether a DNS nameserver is an open recursive resolver by sending a recursive query (RD=1) for an external domain. Open recursive resolvers are a security risk — they can be abused for DNS amplification DDoS attacks and cache poisoning.

Inputs: nameserver (required).

dns_reverseA

Perform PTR (reverse DNS) lookup on an IP address with Forward Confirmed rDNS (FCrDNS) validation. Resolves the PTR record, then forward-resolves the resulting hostname to confirm it maps back to the original IP.

Inputs: ip (required).

dnssec_algorithm_auditA

Inventory all DNSSEC algorithms used in DS, DNSKEY, and RRSIG records. Maps algorithm numbers to names. Flags deprecated algorithms (RSA/MD5, DSA, RSASHA1) and recommends ECDSAP256SHA256 or ED25519.

Inputs: domain (required).

dnssec_check_dnskeyA

List all DNSKEY records for a domain. Distinguishes KSK (flag 257) vs ZSK (flag 256), reports algorithm and protocol. Flags weak algorithms and identifies strong ones.

Inputs: domain (required).

dnssec_check_dsA

Check DS (Delegation Signer) records for a domain. Queries DS from parent zone and DNSKEY from child zone. Verifies DS existence and reports algorithm strength and digest type.

Inputs: domain (required).

dnssec_check_nsecA

Check NSEC/NSEC3 records for a domain. Determines if the zone uses NSEC (enumerable via zone walking) or NSEC3 (hashed names). For NSEC3, reports hash algorithm, iterations, and salt. Flags NSEC as informational risk allowing zone walking.

Inputs: domain (required).

dnssec_check_rrsigA

Check RRSIG (Resource Record Signature) records for a domain. Extracts type covered, algorithm, labels, original TTL, signature expiry/inception, key tag, and signer. Reports days until expiry and flags signatures expiring within 7 days.

Inputs: domain (required).

dnssec_full_auditA

Comprehensive DNSSEC audit that runs all 7 DNSSEC checks: chain of trust validation, DS verification, DNSKEY analysis, RRSIG expiry check, NSEC/NSEC3 analysis, algorithm audit, and key rollover detection. Aggregates findings into a severity-scored report with remediation guidance.

Inputs: domain (required).

dnssec_key_rolloverA

Check for DNSSEC key rollover. Detects multiple DNSKEYs indicating rollover in progress. Reports pre-publish vs double-signature rollover method. Flags if both old and new KSK present without matching DS.

Inputs: domain (required).

dnssec_validateA

Full DNSSEC chain of trust validation from root to TLD to domain. Queries DNSKEY, DS, and RRSIG records at each level. Reports whether the chain is valid, broken, or the domain is not signed.

Inputs: domain (required).

dns_server_fingerprintA

Fingerprint a DNS server by querying CHAOS class TXT records (version.bind, version.server, hostname.bind, id.server). These records can reveal the DNS software type and version (BIND, PowerDNS, Unbound, Knot, dnsmasq, Windows DNS).

Inputs: nameserver (required).

dns_split_horizonA

Detect split-horizon (split-brain) DNS configurations by comparing responses from multiple external resolvers and an optional internal resolver. Split-horizon DNS returns different answers based on the source of the query, commonly used to serve internal IPs to corporate networks and external IPs to the internet.

Inputs: domain (required), internal_resolver.

dns_subdomain_enumA

Enumerate subdomains using passive CT (Certificate Transparency) log lookups via crt.sh and active DNS brute-force. Deduplicates results and resolves each discovered subdomain to get its IP addresses.

Inputs: domain (required), limit, use_ct, wordlist.

dns_ttl_analysisA

Analyze DNS TTL (Time-To-Live) values across all record types for a domain. Flags potential security and operational issues: TTL < 60s (fast-flux indicator, common in malware C2), TTL > 86400s (stale cache risk during incident response), and inconsistent TTLs across record types.

Inputs: domain (required).

dns_wildcard_detectA

Detect wildcard DNS configurations by resolving multiple random non-existent subdomains. If all random names resolve to the same IP, a wildcard record (*.domain) is in place. Wildcard DNS can affect subdomain enumeration accuracy and security assessments.

Inputs: domain (required), samples.

dns_zone_transferA

Attempt an AXFR (full zone transfer) against a domain's nameserver via TCP. If the nameserver allows zone transfers, all DNS records in the zone are returned. An open zone transfer is a critical security misconfiguration.

Inputs: domain (required), nameserver.

domain_ageA

Determine domain age via RDAP creation date. Classifies as suspicious (<30 days), young (<90 days), or established (>365 days).

Inputs: domain (required).

domain_dga_detectA

Analyze domains for DGA (Domain Generation Algorithm) characteristics. Evaluates consonant ratio, bigram frequency, Shannon entropy, length, and pronounceability. Returns per-domain DGA probability score.

Inputs: domains (required).

domain_expiry_riskA

Assess domain expiry risk via RDAP. Checks expiration date and transfer lock status. Flags critical (<30 days), warning (<90 days), and missing transfer lock.

Inputs: domain (required).

domain_historyA

Retrieve domain event history from RDAP. Returns timeline of registration, expiration, last changed, and transfer events.

Inputs: domain (required).

domain_hosting_infoA

Get hosting infrastructure details for a domain. Resolves A record to IP, performs reverse DNS, and queries ASN information via Team Cymru DNS. Returns IP, ASN, AS name, prefix, and hosting provider.

Inputs: domain (required).

domain_newly_registeredA

Search CT logs for recently issued certificates matching a pattern to discover newly registered domains. Returns domains with certificate issuance dates.

Inputs: pattern (required), days.

domain_parked_detectA

Detect if a domain is a parked/for-sale page. Resolves A record, fetches the page, and fingerprints for known parking services (Sedoparking, GoDaddy, Sedo, ParkingCrew, Bodis, etc.).

Inputs: domain (required).

domain_reputationA

Multi-source domain reputation check. Queries DNS blocklists (Spamhaus DBL, SURBL), checks CT log presence, and evaluates domain age. Returns a composite reputation score.

Inputs: domain (required).

domain_whoisA

Query RDAP (Registration Data Access Protocol) for domain WHOIS information. Returns registrar, registration dates, nameservers, and status codes.

Inputs: domain (required).

email_check_bimiA

Check BIMI (Brand Indicators for Message Identification) record for a domain. Validates the presence of v=BIMI1, logo URL (l=), and VMC certificate URL (a=).

Inputs: domain (required).

email_check_daneA

Check DANE/TLSA records for a domain's MX hosts. Resolves MX records, then queries TLSA records at _25._tcp. using raw DNS queries. Reports certificate usage, selector, and matching type fields. Flags missing TLSA records and DANE without DNSSEC.

Inputs: domain (required).

email_check_dkimA

Check DKIM (DomainKeys Identified Mail) records for a domain by probing common selectors. Parses key type, estimates RSA key size, and flags weak keys (<1024 bits), testing mode (t=y), and revoked keys (empty p=).

Inputs: domain (required), selectors.

email_check_dmarcA

Check DMARC (Domain-based Message Authentication, Reporting & Conformance) record for a domain. Parses policy (p=), subdomain policy (sp=), percentage (pct=), reporting URIs (rua/ruf), and alignment modes (aspf/adkim). Flags p=none, missing reporting, and relaxed alignment.

Inputs: domain (required).

email_check_mta_stsA

Check MTA-STS (Mail Transfer Agent Strict Transport Security) for a domain. Queries the _mta-sts TXT record for the policy ID, then fetches the HTTPS policy file. Parses mode (enforce/testing/none), MX patterns, and max_age. Flags testing mode, short max_age, and missing policy files.

Inputs: domain (required).

email_check_ptrA

Check PTR (reverse DNS) and FCrDNS (Forward-Confirmed reverse DNS) for a domain's MX hosts. Resolves MX -> IP -> PTR -> forward A record and verifies the IP matches. Flags missing PTR records and FCrDNS mismatches that can cause mail delivery failures.

Inputs: domain (required).

email_check_spfA

Check SPF (Sender Policy Framework) record for a domain. Parses mechanisms, qualifiers, follows include chains, counts DNS lookups (RFC 7208 max 10), and flags misconfigurations like ~all, +all, ptr, and excessive lookups.

Inputs: domain (required).

email_full_auditA

Run a comprehensive email security audit for a domain. Checks SPF, DKIM, DMARC, BIMI, MTA-STS, DANE/TLSA, PTR/FCrDNS, and calculates spoofability score. Aggregates all findings into a single report grouped by severity (critical/high/medium/low/info).

Inputs: domain (required).

email_spf_enumerateA

Recursively walk the entire SPF include chain for a domain and extract all authorized IP addresses and CIDR ranges. Reveals mail infrastructure: cloud providers, hosting ranges, third-party senders. Useful for attack surface mapping and infrastructure reconnaissance.

Inputs: domain (required), max_depth.

email_spoofability_scoreA

Calculate an email spoofability score (0-100) for a domain based on SPF, DKIM, and DMARC configuration. Returns a score, verdict (easily spoofable / moderately protected / well protected), and per-check breakdown.

Inputs: domain (required).

hijack_bgp_impactA

Assess BGP-level impact of domain hijacking by querying Team Cymru's DNS interface for ASN, prefix, and AS owner information. Reports on the network infrastructure behind a domain and notes about RPKI/ROA protection.

Inputs: domain (required).

hijack_change_monitorA

Monitor DNS record changes by comparing current records against a stored baseline. On first run (no baseline), returns the current state as a JSON baseline. On subsequent runs, diffs against the provided baseline to detect added, removed, or changed records.

Inputs: domain (required), baseline.

hijack_dangling_cnameA

Detect dangling CNAME records that could allow subdomain takeover. Resolves CNAME for each subdomain, checks if target returns NXDOMAIN/SERVFAIL, and matches against known service fingerprints with HTTP confirmation.

Inputs: domain (required), subdomains.

hijack_dangling_mxA

Detect dangling MX records that could allow email hijacking. If an MX hostname resolves to NXDOMAIN, an attacker can register it to intercept all email for the domain.

Inputs: domain (required).

hijack_dangling_nsA

Detect dangling NS records that could allow full domain takeover. If an NS hostname resolves to NXDOMAIN, an attacker can register that domain and serve arbitrary DNS responses for the target zone — a critical vulnerability.

Inputs: domain (required).

hijack_dns_rebindingA

Detect DNS rebinding candidates by resolving a domain multiple times and checking for IP changes combined with very low TTL values. DNS rebinding attacks exploit short TTLs to switch from a public IP to a private/internal IP after initial browser security checks.

Inputs: domain (required), samples, delay_ms.

hijack_ns_delegationA

Walk the DNS delegation chain and verify consistency. Checks for lame delegation (NS doesn't have zone data), missing glue records, and NS mismatch between parent and child zones.

Inputs: domain (required).

hijack_registrar_securityA

Check domain registrar security posture via RDAP. Verifies transfer locks, delete locks, registration expiry, and other EPP status codes that protect against unauthorized domain hijacking.

Inputs: domain (required).

hijack_subdomain_takeoverA

Full subdomain takeover scan. Optionally discovers subdomains via Certificate Transparency (crt.sh), then checks each for dangling CNAMEs, matches against known vulnerable service fingerprints, and reports takeover risk with HTTP confirmation.

Inputs: domain (required), use_ct.

infra_amplificationA

Measure DNS amplification factor of a nameserver. Sends a small query (ANY for root) and measures the response size ratio. Amplification factor > 10x indicates significant DDoS risk.

Inputs: nameserver (required).

infra_axfr_protectionA

Test if a DNS nameserver allows unauthorized AXFR (zone transfer) for a domain. Successful zone transfer is a critical misconfiguration that exposes all DNS records to attackers.

Inputs: domain (required), nameserver (required).

infra_edns_complianceA

Test EDNS0 compliance of a DNS nameserver. Checks EDNS version, UDP buffer size, DO (DNSSEC OK) flag, and NSID option. Flags issues like missing EDNS, small buffer size, or no DNSSEC support.

Inputs: nameserver (required).

infra_ns_diversityA

Analyze nameserver diversity for a domain. Checks if NS records resolve to IPs in different ASNs, different /24 subnets, and different providers. Single point of failure = high risk if one provider goes down.

Inputs: domain (required).

infra_open_resolverA

Test if a DNS nameserver is an open resolver (accepts recursive queries from any source). Open resolvers can be abused for DDoS amplification attacks. Also checks EDNS0 buffer size from OPT record.

Inputs: nameserver (required).

infra_rate_limitingA

Test if a DNS nameserver has Response Rate Limiting (RRL) enabled. Sends a burst of identical queries and checks for REFUSED responses or dropped packets, indicating active rate limiting.

Inputs: nameserver (required), queries.

infra_software_cveA

Fingerprint DNS server software via CHAOS class version.bind TXT query and map to known CVEs. Identifies BIND, PowerDNS, Unbound, NSD, and Knot DNS versions.

Inputs: nameserver (required).

infra_tcp_fallbackA

Test if a DNS nameserver supports TCP fallback for large responses. Checks the TC (truncated) flag on UDP responses and verifies TCP port 53 connectivity. DNS over TCP is required by RFC 7766.

Inputs: nameserver (required).

privacy_doh_testA

Test DNS-over-HTTPS (DoH) endpoint connectivity and response. Sends a JSON API query and checks response format, status, and DNSSEC (AD bit) support. Supports Cloudflare, Google, Quad9 and custom servers.

Inputs: server (required).

privacy_doq_testA

Test DNS-over-QUIC (DoQ) support on a server. Since Node.js QUIC support is experimental, performs a connectivity probe by sending a DNS query to port 853/UDP and checking for any response. Reports availability status.

Inputs: server (required).

privacy_dot_testA

Test DNS-over-TLS (DoT) endpoint connectivity and security. Reports TLS version, cipher suite, certificate validity, and DNS response. Validates that encrypted DNS transport is properly configured.

Inputs: server (required), port.

privacy_ecs_leakA

Test EDNS Client Subnet (ECS) leak on a DNS resolver. Sends a query with an ECS option containing a /24 subnet to check if the resolver forwards client subnet information to authoritative servers, potentially exposing client location.

Inputs: resolver (required), test_domain.

privacy_leak_testA

DNS leak test: determines which resolver(s) your system is actually using by querying services that reveal resolver IP addresses. Compares observed resolver IPs against an expected resolver to detect leaks or misconfigurations.

Inputs: expected_resolver.

privacy_resolver_auditA

Comprehensive privacy audit of a DNS resolver. Tests DoH support, DoT support, DNSSEC validation, and DNS Cookie support. Returns a privacy score from 0-100 based on the combined results.

Inputs: resolver (required).

report_best_practiceA

CIS DNS Benchmark-style best practice checks: DNSSEC signed, email auth (SPF+DKIM+DMARC), NS diversity (>1 NS, different /24), zone transfer restricted, version.bind hidden, recursive disabled on authoritative. Returns pass/fail per check and overall score 0-100.

Inputs: domain (required).

report_compareA

Runs a current DNS security audit and compares it against a baseline (JSON string from a previous run). Returns new findings, resolved findings, and unchanged findings. Useful for tracking DNS security posture over time.

Inputs: domain (required), baseline (required).

report_full_auditA

Runs a comprehensive DNS security audit across all categories: DNS resolution, DNSSEC validation, email security (SPF/DKIM/DMARC), subdomain hijack (dangling CNAME/NS), Certificate Transparency, blocklist checks, and infrastructure analysis. Returns executive summary and per-category findings.

Inputs: domain (required).

report_generateB

Runs a full DNS security audit and outputs in the specified format: json (raw findings), markdown (formatted report with severity headers), or sarif (SARIF 2.1.0 structure for integration with code analysis tools). Default format is json.

Inputs: domain (required), format.

report_rfc_complianceA

Tests domain DNS compliance with key RFCs: RFC 1035 (valid labels, length), RFC 4034 (DNSSEC — DS/DNSKEY), RFC 6891 (EDNS — NS responds to EDNS), RFC 7208 (SPF — TXT has SPF), RFC 7489 (DMARC — _dmarc TXT). Returns per-RFC pass/fail status.

Inputs: domain (required).

threat_actor_infraA

Maps domain infrastructure fingerprint: NS, MX, IP, ASN (via Team Cymru), registrar (RDAP). Cross-references shared infrastructure to discover related domains via shared nameservers, mail servers, and IPs.

Inputs: domain (required).

threat_c2_detectA

Analyzes a batch of domains for Command & Control (C2) indicators: DGA score (entropy, consonant ratio), fast-flux detection (multiple resolves), very low TTL, and DNSBL listings. Returns per-domain C2 probability score (0-100).

Inputs: domains (required).

threat_cohostingA

Analyzes domain co-hosting by resolving the domain to its IP, performing reverse DNS (PTR) lookups, and searching CT logs for other domains on the same IP. Flags hosting with suspicious co-hosted domains.

Inputs: domain (required).

threat_ip_to_domainsA

Resolves an IP address to all known domains and subdomains via reverse DNS (PTR records) and Certificate Transparency log searches. Returns all domains/subdomains hosted on the given IP.

Inputs: ip (required).

threat_malicious_feedA

Checks a domain against free threat intelligence feeds: DNS-based blocklists (Spamhaus DBL, SURBL) via DNS lookups, and HTTP-based feeds (URLhaus abuse.ch). Returns feed hits and threat categories.

Inputs: domain (required).

threat_passive_dnsA

Query passive DNS data for a domain. Uses SecurityTrails API if SECURITYTRAILS_API_KEY is set, otherwise falls back to Certificate Transparency logs (crt.sh) for historical cert data plus current multi-resolver comparison. Returns historical IPs, first/last seen timestamps.

Inputs: domain (required).

threat_sinkhole_checkA

Resolves a domain and checks if its IP belongs to known sinkhole operators (Microsoft, Shadowserver, abuse.ch, FBI, Palo Alto, Kaspersky, CrowdStrike, etc.). Returns whether the domain is sinkholed and by which operator.

Inputs: domain (required).

tunnel_covert_channelA

Detects covert DNS channels through timing analysis (beaconing detection when timestamps are provided) and label pattern analysis (incrementing counters, session IDs, sequential encoding).

Inputs: queries (required), timestamps.

tunnel_entropy_analysisA

Calculates Shannon entropy per subdomain label to detect DNS tunneling. Normal DNS labels have entropy ~3.0-3.5, while encoded/encrypted data used in tunneling has entropy >4.0.

Inputs: queries (required).

tunnel_full_scanA

Comprehensive DNS tunneling detection that runs all 6 individual tunnel checks (entropy, length, TXT payload, record anomaly, tool signatures, covert channel), aggregates findings, and returns an overall tunnel probability score (0-100).

Inputs: queries (required), timestamps.

tunnel_query_lengthA

Measures subdomain label lengths and total query length to detect DNS tunneling. Normal browsing rarely exceeds 3 labels or 60 total characters. Tunneling often uses labels >40 chars and totals >200 chars.

Inputs: queries (required).

tunnel_record_anomalyA

Analyzes DNS queries for record type abuse patterns commonly used in tunneling. Detects indicators of NULL, TXT, CNAME, and MX record abuse, plus anomalous query patterns consistent with data exfiltration.

Inputs: queries (required).

tunnel_tool_signaturesA

Matches DNS query patterns against known tunneling tool signatures (iodine, dns2tcp, dnscat2, Cobalt Strike, Sliver C2, DNSStager, etc.). Returns matched tools with descriptions and indicators.

Inputs: queries (required).

tunnel_txt_payloadA

Resolves TXT records for a domain and optional subdomains, then detects encoded payloads commonly used in DNS tunneling: base64, hex-encoded data, binary markers, and high-entropy content.

Inputs: domain (required), subdomains.

typo_bitsquatA

Generate all single-bit-flip variants of each character in the domain name. Filters to valid domain characters [a-z0-9-] and checks DNS registration.

Inputs: domain (required).

typo_combosquatA

Generate brand+keyword combination domains (e.g. domain-login, domain-secure, my-domain). Uses default or custom keywords. Checks DNS registration.

Inputs: domain (required), keywords.

typo_full_scanA

Run all 7 typosquatting detection techniques (homoglyph, bitsquat, TLD variation, combosquat, soundsquat, IDN homograph, keyboard proximity). Deduplicates across techniques. Optionally resolves each variant to report only registered domains.

Inputs: domain (required), check_registered.

typo_homoglyphA

Generate visually similar (homoglyph) domain variants using confusable characters like o/0, l/1, rn/m, cl/d, vv/w plus Cyrillic lookalikes. Checks DNS registration for each variant.

Inputs: domain (required).

typo_idn_homographA

Generate IDN homograph attack variants using Cyrillic, Greek, and Armenian characters that look identical to Latin. Reports visual rendering, punycode form, and DNS registration status.

Inputs: domain (required).

typo_keyboard_proximityA

Generate QWERTY keyboard proximity typosquat variants: adjacent key substitution, character omission, character doubling, and adjacent character swap. Checks DNS registration.

Inputs: domain (required).

typo_soundsquatA

Generate phonetically similar domain variants using sound substitutions (e.g. ph/f, ck/k, ee/ea, oo/u). Checks DNS registration.

Inputs: domain (required).

typo_tld_variationA

Test common TLD confusions for a domain (e.g. .com to .co, .cm, .om, .net, .org, .io, etc.). Resolves each and reports registered ones with IPs.

Inputs: domain (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.5/5.0

    Scored across 104 tools

    Disambiguation2/5

    Several tools have nearly identical purposes, such as dns_server_fingerprint vs infra_software_cve, dns_zone_transfer vs infra_axfr_protection, and infra_open_resolver vs dns_recursive_check. Additional overlap exists between homoglyph and IDN homograph tools and multiple reputation/risk scoring tools, making selection genuinely ambiguous despite helpful descriptions.

    Naming Consistency4/5

    Names follow a reasonably consistent category-prefix snake_case pattern (tunnel_, ct_, dnssec_, email_, hijack_, etc.), making the tool surface navigable. However, action words are mixed—check, detect, audit, scan, validate—and aggregators alternate between full_scan and full_audit, so the pattern is not perfectly uniform.

    Tool Count1/5

    With 104 tools, this server is far beyond what an agent can efficiently consider during tool selection. The count is more than double the 50+ threshold for extreme mismatch, and many tools could be consolidated into parameterized or higher-level aggregate tools.

    Completeness5/5

    The tool set provides remarkably broad coverage of DNS security: tunneling, DNSSEC, email authentication, typosquatting, blocklists, certificate transparency, hijack detection, privacy, infrastructure, and reporting. There are no obvious missing capabilities for a DNS security assessment server.

    Maintenance

    ActivityNo data
    ResponsivenessSyncing

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      C
      maintenance
      Provides AI agents with 37 OSINT tools and 12 data sources to perform unified reconnaissance, domain analysis, and attack surface mapping. It enables agents to query, correlate, and reason across platforms like Shodan, VirusTotal, and Censys in parallel.
      37
      364 npm
      60
      MIT
    • A
      license
      A
      quality
      A
      maintenance
      Security intelligence API for AI models. CVE lookup with EPSS/KEV, domain recon (DNS, WHOIS, SSL, subdomains, WAF), and code security checks (secrets, injection, headers). 16 tools, no API key required.
      55
      36
      MIT
    • A
      license
      A
      quality
      B
      maintenance
      Domain security reconnaissance for AI agents — 13 tools (DNS+DNSSEC, SSL/TLS, HTTP security headers, SPF/DKIM/DMARC email auth, port scan, ASN, RDAP/WHOIS) plus a one-shot security_scan returning a 0–100 Health Score (A–F). Free, no API key.
      33
      687 npm
      1
      MIT