ShieldDNS MCP server
OfficialClick on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ShieldDNS MCP server is paypal-secure-login.com safe to open?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ShieldDNS MCP server
Let AI agents check a link before opening it.
shielddns-mcp is a small, open-source Model Context Protocol server that gives AI assistants and agents (Claude, Cursor, any MCP client) safe DNS tools backed by ShieldDNS, a free European public resolver with malware / phishing / tracking protection, DNSSEC validation and a zero-log policy.
Italiano più sotto.
Tools
Tool | What it does |
| Is this domain or link safe to open? Returns a verdict ( |
| Resolve a name through ShieldDNS (DNS-over-HTTPS): records, rcode, DNSSEC validation, whether ShieldDNS blocked it, Extended DNS Errors (RFC 8914). Types: A, AAAA, CNAME, MX, TXT, NS, SOA, CAA, HTTPS, SVCB, TLSA, DS, DNSKEY, PTR, SRV. |
| Public status of the two ShieldDNS nodes (each node checks the other every 5 minutes). |
The server also gives the agent short instructions: check unfamiliar domains before visiting them and follow the advice field.
What the risk score looks at (v0.1)
ShieldDNS blocklist: about 955,000 domains from 8 threat-intelligence, ads and tracking sources. ShieldDNS marks blocked answers with Extended DNS Error 15 "Blocked"; on nodes without EDE the server recognises the block from the answer itself (NXDOMAIN without SOA).
DNSSEC: validated, unsigned, or invalid signature (possible tampering, EDE 6-12).
Name-only signals, computed locally:
look-alikes of frequently impersonated brands (
paypa1.com,arnazon.com,paypal-secure-login.com,paypal.com.verify-account.net);mixed scripts and IDN tricks (
аpple.comwith a Cyrillic "а");random-looking names typical of malware domain generation algorithms (DGA);
very long or heavily hyphenated names.
does_not_existis reported separately: for an agent it often means a mistyped or hallucinated link.
Example:
{
"domain": "paypal-secure-login.com",
"verdict": "resolves",
"risk_score": 40,
"risk_level": "medium",
"advice": "caution",
"reasons": [
{"code": "brand_with_lure_words", "weight": 40,
"detail": "the name evokes the brand \"paypal\" but is not one of its official domains (paypal.com, paypal.me)"}
],
"dnssec": "not validated (unsigned or unavailable)"
}Related MCP server: CyberMCP
Privacy
The server runs on your machine. It sends only DNS queries, only to ShieldDNS, over HTTPS (
secure2.shielddns.eu, fallbacksecure.shielddns.eu).service_statusadditionally downloads the public status files fromshielddns.eu.ShieldDNS does not log queries or client IP addresses.
No telemetry, no accounts, no API keys.
Install
Requires uv (brew install uv on macOS, or curl -LsSf https://astral.sh/uv/install.sh | sh).
From GitHub:
uvx --from git+https://github.com/shielddns/shielddns-mcp shielddns-mcpFrom a local copy:
uvx --from /path/to/shielddns-mcp shielddns-mcpThe server speaks MCP over stdio: run it from an MCP client, not by hand.
Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"shielddns": {
"command": "uvx",
"args": ["--from", "git+https://github.com/shielddns/shielddns-mcp", "shielddns-mcp"]
}
}
}Claude Code
claude mcp add shielddns -- uvx --from git+https://github.com/shielddns/shielddns-mcp shielddns-mcpCursor and other clients
Use the same command / args as above in the client's MCP configuration.
Test without an MCP client
cd shielddns-mcp
uv run --with . python examples/smoke_test.py
uv run --with . python examples/smoke_test.py some-domain.example --jsonOr with the MCP Inspector: npx @modelcontextprotocol/inspector uvx --from . shielddns-mcp
Configuration (optional)
Variable | Default | Meaning |
|
| DoH endpoints, tried in order |
|
| seconds per query |
Limits
The score is a decision aid, not a guarantee. A clean result does not mean a site is trustworthy; a
cautionresult can be a false positive (e.g. a legitimate site that mentions a brand).The brand list is small and curated (
signals.py); contributions welcome.Coming next: a server-side ShieldDNS risk API (domain age, threat source categories, more brands), used automatically by this server when available.
Development
uv run --with '.[test]' pytestLicense: MIT.
Italiano
ShieldDNS MCP server permette agli assistenti e agli agenti AI di controllare un link prima di aprirlo, usando ShieldDNS, il resolver pubblico europeo gratuito con protezione da malware, phishing e tracciamento, validazione DNSSEC e politica zero-log.
check_domain: dice se un dominio o un URL è sicuro, con un verdetto, un punteggio di rischio da 0 a 100 con le motivazioni e un consiglio:ok_to_open,cautionodo_not_open.resolve: risolve un nome tramite ShieldDNS (DNS-over-HTTPS, DNSSEC, blocco delle minacce).service_status: stato pubblico dei due nodi.
Il punteggio considera: la blocklist di ShieldDNS (circa 955.000 domini, segnalati con l'errore DNS esteso 15 "Blocked"), la validità della firma DNSSEC, le imitazioni di marchi noti, i nomi con alfabeti mescolati e i nomi generati a caso dal malware. "Il dominio non esiste" viene segnalato a parte: per un agente spesso significa un link sbagliato o inventato.
Privacy: il server gira sul tuo computer e invia solo query DNS a ShieldDNS, via HTTPS. ShieldDNS non registra le query né gli indirizzi IP. Nessuna telemetria, nessun account, nessuna chiave.
Installazione: vedi sopra (Claude Desktop, Claude Code, Cursor). Serve uv.
Available Tools
3 toolscheck_domainCheck a domain or linkARead-onlyIdempotent
Check whether a domain or URL is safe to open, using the ShieldDNS protective resolver. Returns a verdict (blocked, dnssec_invalid, does_not_exist, resolves...), a 0-100 risk score with human-readable reasons (blocklist match, DNSSEC, look-alike of known brands, mixed scripts, random-looking names) and an advice field (ok_to_open, caution, do_not_open). Accepts a bare domain or a full URL.
Inputs: domain_or_url (required).
resolveResolve a DNS name through ShieldDNSARead-onlyIdempotent
Resolve a DNS name through ShieldDNS (DNS-over-HTTPS, DNSSEC validation, threat blocking). record_type is one of: A, AAAA, CNAME, MX, TXT, NS, SOA, CAA, HTTPS, SVCB, TLSA, DS, DNSKEY, PTR, SRV. Returns records, rcode, whether the answer was DNSSEC-validated, whether ShieldDNS blocked the name, and any Extended DNS Errors (RFC 8914).
Inputs: name (required), record_type.
service_statusShieldDNS service statusBRead-onlyIdempotent
Public status of the two ShieldDNS nodes (each node checks the other every 5 minutes).
Inputs: no named parameters.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 3 tools
check_domain and resolve are mostly distinct: one gives a safety verdict and advice, the other returns DNS records and resolution metadata. There is some overlap because resolve also reports threat blocking and DNSSEC status, so an agent may occasionally hesitate between them.
The names mix conventions: check_domain is verb_noun, resolve is a bare verb, and service_status is noun_noun. They remain readable and understandable, but the set does not follow a predictable pattern.
Three tools fit the server's focused scope of domain safety checking, DNS resolution, and node status. The surface is small but each tool has a clear role, though it sits at the lower bound of a comfortable set.
The core lifecycle is covered: safety verdicts, raw DNS resolution with DNSSEC and blocking info, and node status. Minor gaps exist, such as no bulk domain check or blocklist/configuration inspection, but the main workflows are supported.
Maintenance
Related MCP Connectors
Threat-intelligence verdicts on a URL, domain or IP before a coding agent connects to it.
Threat-intelligence verdicts on a URL, domain or IP before a coding agent connects to it.
Free, no-API-key network lookups for AI agents — IP geolocation, DNS, WHOIS, HTTP and SSL/TLS certificate checks, and full domain health reports.
Vet a domain (WHOIS age, DNS, SPF/DMARC, TLS) or read a web page as Markdown. Run by an AI agent.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables AI agents to check URL safety before fetching content, using Google Web Risk, URLhaus, PhishTank, and AI analysis to return SAFE/SUSPICIOUS/DANGEROUS verdicts.169 npm1MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to perform cybersecurity analysis including RDAP lookup, DNS analysis, SSL inspection, security header detection, and more, returning structured security reports.-
- AlicenseNot gradedqualityCmaintenanceProvides AI agents with zero-cost, zero-dependency trust evaluation for domains, URLs, wallets, APIs, and IPs, returning a 0-100 score with SSL, DNS, WHOIS, security header, and content sub-scores, plus batch comparison to rank multiple targets.MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents and apps to check URLs, domains, IP addresses, phone numbers, emails, crypto wallets, IBANs, mobile apps, and payment handles for scam, phishing, and fraud risk, returning verdicts, probabilities, facts, and reason codes.MIT