Domain Tools MCP Server: WHOIS and DNS Health
Analyze domains with our MCP server to run WHOIS lookups, inspect DNS records, and perform DNS health checks for fast, accurate domain diagnostics.
npx -y @deshabhishek007/domain-tools-mcp-serverOverview
Domain Tools MCP Server provides a lightweight Model Context Protocol (MCP) endpoint for performing domain analysis: WHOIS lookups, DNS record inspection, and DNS health checks. It wraps common domain diagnostics into an API-friendly service so other tools, agents, or models can query authoritative domain metadata and runtime DNS health information programmatically.
This server is useful for developers building automation around domain onboarding, incident response, reputation checks, or monitoring pipelines. By exposing WHOIS and DNS checks as a consistent API, you can integrate domain diagnostics into CI jobs, observability dashboards, or conversational agents that require real-time domain context.
Features
- Perform authoritative WHOIS lookups for a domain
- Query DNS records (A, AAAA, MX, TXT, NS, CNAME, SOA, etc.)
- Run DNS health checks (resolver behavior, propagation, TTL analysis)
- Simple HTTP API compatible with MCP-style integrations
- Local development and Docker deployment examples
- Configurable timeouts and resolver lists
Installation / Configuration
Prerequisites:
- Node.js (>= 14) and npm, or Docker
Clone and install:
Environment configuration Create a .env file or export variables. Typical settings:
PORT=3000
WHOIS_TIMEOUT_MS=10000
DNS_TIMEOUT_MS=5000
DNS_RESOLVERS=8.8.8.8,1.1.1.1
LOG_LEVEL=info
Start locally:
# or for development with live reload (if available)
Run with Docker:
# Example Dockerfile (if not included in repo)
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
ENV PORT=3000
EXPOSE 3000
CMD ["node", "index.js"]
Build and run:
Available Resources
The server exposes HTTP endpoints that are designed to be used by other services or MCP-compatible clients. Typical endpoints and parameters:
| Endpoint | Method | Description | Query / Body |
|---|---|---|---|
| /whois | GET | Perform WHOIS lookup for a domain | domain=example.com |
| /dns | GET | Fetch DNS records of a given type | domain=example.com&type=A |
| /dns/health | GET | Run DNS health checks and resolver comparisons | domain=example.com |
| /health | GET | Server health/status | — |
Example: WHOIS request
Example JSON response (illustrative)
Example: DNS record query
Example JSON response (illustrative)
Example: DNS health check
Example JSON response (illustrative)
Use Cases
- Automated onboarding: Verify domain WHOIS details and DNS records as part of a provisioning pipeline. Example: run /whois and /dns checks before accepting a customer domain for hosting.
- Monitoring and alerting: Schedule periodic /dns/health checks to detect propagation issues or inconsistent responses across resolvers and trigger alerts if inconsistency is detected.
- Incident response: Quickly fetch authoritative WHOIS data and recent DNS record state to investigate domain hijacking, expired registrations, or misconfigured DNS entries.
- Chatbots and ML agents: Provide condensed domain context to models or assistants. The MCP-style API lets agents request domain metadata in real time and make informed recommendations or actions.
- CI/CD validations: Validate that newly published DNS records (TXT, CNAME) have propagated and meet expected TTLs before completing a release.
Notes and Best Practices
- WHOIS data availability and format vary by TLD and registrar; treat raw WHOIS text as authoritative but parse carefully.
- Rate limits: If the server will perform large numbers of lookups, consider caching results and respecting registrar and resolver rate limits.
- Security: Avoid exposing WHOIS/diagnostic tools to the public if they will be used for internal diagnostics; secure with API keys or network controls as needed.
- Customization: Configure resolver lists to target regional DNS servers or internal resolvers for accurate environment-specific health checks.
For source code and issue tracking, see the project repository on GitHub: https://github.com/deshabhishek007/domain-tools-mcp-server