Domain registration, availability, DNS records, and IP/ASN resolution via RDAP and DNS-over-HTTPS.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Look up domain registration, check availability, fetch DNS records, and resolve IPs and ASNs via RDAP and DNS-over-HTTPS via MCP. STDIO or Streamable HTTP.
Six tools covering domain intelligence, DNS, and IP/ASN resolution:
| Tool | Description |
|---|---|
whois_lookup_domain | Full domain registration record β registrar, created/expiry dates, nameservers, EPP status, DNSSEC, registrant org |
whois_check_availability | Check whether a domain is registered or available for registration |
whois_get_dns | DNS records for any hostname via DNS-over-HTTPS (A, AAAA, MX, TXT, NS, CNAME, SOA, CAA, PTR) |
whois_lookup_ip | IP or CIDR netblock, org, country, abuse contact, and reverse DNS via RIR RDAP |
whois_lookup_asn | Resolve an ASN to its org name, country, and RIR source |
whois_get_dossier | One-call domain triage β registration + DNS in parallel, normalized into a single record with factual signals |
whois_lookup_domainLook up a domain's full RDAP registration record.
registrant_redacted: true explicitly when privacy redaction is in effect (standard post-GDPR for gTLDs)rdap_coverage: false for TLDs without RDAP coverage rather than silently failinglast_update_of_rdap_db event timestamp for data freshness transparencywhois_check_availabilityCheck whether a domain name is registered or available to register.
available: true) β exploits the RDAP spec's intended behavioravailable: false with registrar and expiry_date when registeredavailable: null with rdap_coverage: false for TLDs without RDAP β cannot determine availabilitywhois_get_dnsFetch DNS records via DNS-over-HTTPS.
cloudflare or nextdns)nxdomain: true in result (not an error) when the domain doesn't exist in DNSwhois_lookup_ipLook up an IP address or CIDR block via RIR RDAP.
ptr: null on failure, not an errorwhois_lookup_asnResolve an ASN to its org name, country, and RIR.
AS15169 or bare integer 15169 formatname, org, country, rir, start_autnum, end_autnumwhois_get_dossierOne-call domain triage aggregating registration and DNS data in parallel.
Promise.allSettledage_days, privacy_redacted, registrar, ns_provider (from NS records), mx_provider (from MX records)source_error on the failed leg)ServiceUnavailable; individual leg failures are data, not errorsBuilt on @cyanheads/mcp-ts-core:
none, jwt, oauthin-memory, filesystem, Supabase, Cloudflare KV/R2/D1Domain and network intelligence:
Agent-friendly output:
rdap_coverage: false tells the agent the TLD lacks RDAP rather than returning a confusing errorregistrant_redacted: true rather than silently absent contact datawhois_get_dossier marks individual legs with source_error and continues; only both-legs-fail escalates to an errorage_days, privacy_redacted, ns_provider, mx_provider are real data; agents chain into threat-intel or risk servers for enrichmentNo API keys or accounts required. Add the following to your MCP client configuration file.
Or with npx (no Bun required):
Or with Docker:
For Streamable HTTP, set the transport and start the server:
| Variable | Description | Default |
|---|---|---|
RDAP_TIMEOUT_MS | HTTP timeout for RDAP requests in milliseconds. | 5000 |
DOH_TIMEOUT_MS | HTTP timeout for DNS-over-HTTPS requests in milliseconds. | 3000 |
RDAP_MAX_RETRIES | Max retry attempts on transient RDAP failures. | 2 |
DOH_MAX_RETRIES | Max retry attempts on transient DoH failures. | 2 |
MCP_TRANSPORT_TYPE | Transport: stdio or http. | stdio |
MCP_HTTP_PORT | Port for HTTP server. | 3010 |
MCP_AUTH_MODE | Auth mode: none, jwt, or oauth. | none |
MCP_LOG_LEVEL | Log level (RFC 5424). | info |
OTEL_ENABLED | Enable OpenTelemetry instrumentation. | false |
See .env.example for the full list of optional overrides.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/whois-mcp-server)<a href="https://allmcps.com/mcp/whois-mcp-server"><img src="https://allmcps.com/api/badge/whois-mcp-server?style=directory" alt="Whois MCP Server on AllMCPs" /></a>