whois: WHOIS and RDAP service with an MCP endpoint

whois

A self-hosted Go service that runs WHOIS and RDAP lookups for domains, IPs, CIDRs and ASNs and exposes them to agents at /mcp

  • 66 ★ on the repository
  • Last commit
MCP server

Extended access

Why this level

  • The service calls external registries and counts agent queries toward its limits and logs
  • An open MCP endpoint without keys answers anyone who can reach the port
All reasons and checks

kincaidyang/whois

Install

Manual install

docker run -d --name whois -p 8043:8043 --link redis:redis jinzeyang/whois

The image from the README, preceded by a redis container. For small loads you can skip Redis and run a binary release instead.

Access and checks

How we review

Extended accessThe tool runs code or makes network calls and only reads external data.

  • The service calls external registries and counts agent queries toward its limits and logs
  • An open MCP endpoint without keys answers anyone who can reach the port

This is third-party code. Review the repository files before installing.

What it does

The Go program answers questions about domain registration, IPv4 and IPv6 addresses, CIDR prefixes and autonomous system numbers. For domains it queries registries over RDAP, and for country zones without RDAP it parses plain WHOIS and converts it to JSON. Only some fields reach the response, in line with ICANN and GDPR rules for personal data. The agent connects to it as an MCP server over Streamable HTTP at an address like http://host:8043/mcp. The main tool, whois_lookup, takes a domain, an address or an ASN. The batch tool whois_batch_lookup takes a list of queries but works only after batch.enabled is switched on in config.yaml. Besides MCP the service exposes a REST API, an OpenAPI 3.1 spec, Prometheus metrics and health endpoints. The cache lives in memory by default, and Redis can back it for several instances. Access can be closed with API keys, each with its own request rate limit.

Who it is for. Admins, domain managers and developers who need their own WHOIS gateway with metrics and want an agent to ask about domains and networks.

Good fit when

  • The agent checks whether a domain is free and when its registration expires
  • During incident analysis you need to learn who owns an IP address or an autonomous system
  • An audit report needs a summary of dozens of domains in a single call
  • A team wants an internal WHOIS and RDAP gateway with a cache and limits instead of hitting registries directly

Not a fit when

  • You need the domain owner contact details: the service returns a limited set of fields because of GDPR
  • You want a ready cloud MCP without deployment: here you run your own service first
  • You need the ownership history of a domain: the service returns the current registration record

Example request

Find out when the registration of example.com expires and which registry holds it, then show the network owner of 8.8.8.8.

MCP

Transport
http
Authentication
not required

Limitations

You have to deploy the service yourself: the repository has no ready cloud address for MCP, and the demo sites cover REST. Some country domain zones do not support RDAP, so parsing is limited to adapted suffixes and the rest return a minimal reply noting that the zone is unsupported. The batch query is off by default and meant to run together with API keys. Beyond localhost the MCP endpoint needs protection: enable keys and, for direct connections, DNS rebinding protection. The README is written in Chinese, and an English version lives in README_EN.md.

How to disable. Stop and remove the container with docker rm -f whois and delete the MCP server entry from the client config. Remove Redis and the config file separately if you set them up for the service.

FAQ

What does whois_lookup accept?

A domain, an IPv4 or IPv6 address, a CIDR prefix and an ASN like AS12345. The reply matches the REST API reply and follows the RDAP vocabulary.

Why are owner contacts missing from the reply?

The service follows the ICANN temporary specification for gTLD registration data and GDPR, so it returns only the necessary minimum. Registries themselves hide the full contacts.

Is Redis required?

No. The cache lives in process memory by default with limits on entry count and size. Redis helps with several instances and in production, and the cache.requireRedis option makes it mandatory.

How do I protect the MCP endpoint?

Add one or more keys to auth.keys. Every endpoint except /health and /ready then needs an Authorization Bearer or X-API-Key header. Keys can have a display name and a per-minute rate limit.

Can the service query WHOIS through a proxy?

Yes, config.yaml has a proxy section with address, username, password and a list of suffixes whose queries go through it. The value all routes every RDAP query through it, including IP and ASN.

Discussion

No questions or reviews yet.

Official

Keyless Domainstack MCP server: an agent checks registrar, DNS, hosting, certificate, headers and SEO of a domain

MCP serverExtended access294Repository stars
Official

mcpd starts MCP servers from one .mcpd.toml file and serves them to agents and scripts as a plain HTTP API on a local port

CLIExtended access194Repository stars

MCP Gateway Registry

mcp-gateway-registry

One registry and gateway for MCP servers, agents and skills: shared login, OAuth, audit, OpenTelemetry. Community project for Docker and cloud

MCP serverBroad access1KRepository stars

A Node.js manager for MCP servers: it starts local servers, connects remote ones and gives a client one address, with a REST API for control

MCP serverBroad access525Repository stars

A self-hosted gateway that merges several MCP servers into one endpoint with auth and tool selection

MCP serverBroad access2.8KRepository stars
Official

Remote Globalping MCP server: ping, traceroute, DNS, MTR and HTTP checks from thousands of probes worldwide, on request

MCP serverExtended access66Repository stars

Comparison with similar tools

Cards that share the main search query, and how they differ.

ToolOfficialAuthenticationRepository starsMain difference
whois: WHOIS and RDAP service with an MCP endpoint (this card)nonot required66
uptimepageyesOAuth55page availability monitoring, without WHOIS
SEO Audit Consolenokey is optional101site SEO auditing in one MCP, without domain registration data

README in short

The repository covers running through Docker, prebuilt binary releases and building from source, a detailed config.yaml, the endpoint list and the stability promises for version 1.x. A separate docs/mcp.md page explains client setup.

README badge

Report a problem