Dns Intel
FreeNot checkedEnables domain intelligence lookups including RDAP registration data, DNS records, and Certificate Transparency searches.
About
Enables domain intelligence lookups including RDAP registration data, DNS records, and Certificate Transparency searches.
README
Domain intelligence MCP server providing RDAP lookups, DNS queries, and Certificate Transparency log searches.
Features
- RDAP Lookup: Query domain registration information (registrar, dates, nameservers, status)
- DNS Query: Perform DNS queries for A, AAAA, CNAME, TXT, MX, NS, and SOA records
- CT Search: Search Certificate Transparency logs for certificates issued for a domain
Installation
npm install
npm run build
Usage
As MCP Server (stdio)
# Start the server
npm start
# Or with custom configuration
DNS_RESOLVER=1.1.1.1 npm start
With Claude Desktop
Add to your Claude Desktop configuration (~/.config/claude/claude_desktop_config.json):
{
"mcpServers": {
"dns-intel": {
"command": "node",
"args": ["/path/to/dns-intel/dist/cli.js"]
}
}
}
With HTTP Health Checks
For containerized deployments, enable the HTTP health check server:
npm start -- --http
This exposes:
GET /health- Health check endpointGET /ready- Readiness probe
Tools
rdap_lookup
Query RDAP for domain registration information.
Input:
{
"domain": "example.com"
}
Output:
{
"ok": true,
"data": {
"domain": "example.com",
"registrar": "Example Registrar Inc.",
"creation_date": "1995-08-14T04:00:00Z",
"expiration_date": "2025-08-13T04:00:00Z",
"updated_date": "2024-08-14T07:01:34Z",
"status": ["clientDeleteProhibited", "clientTransferProhibited"],
"nameservers": ["a.iana-servers.net", "b.iana-servers.net"]
},
"meta": {
"source": "rdap-bootstrap.iana.org",
"retrieved_at": "2024-01-15T10:30:00Z"
}
}
dns_query
Perform DNS queries for various record types.
Input:
{
"name": "example.com",
"type": "MX",
"resolver": "8.8.8.8"
}
Output:
{
"ok": true,
"data": {
"name": "example.com",
"type": "MX",
"resolver": "8.8.8.8",
"records": [
{
"name": "example.com",
"type": "MX",
"ttl": 300,
"data": {
"priority": 10,
"exchange": "mail.example.com"
}
}
]
},
"meta": {
"source": "https://dns.google/resolve",
"retrieved_at": "2024-01-15T10:30:00Z"
}
}
Supported Record Types:
A- IPv4 addressAAAA- IPv6 addressCNAME- Canonical nameTXT- Text recordsMX- Mail exchangeNS- NameserverSOA- Start of authority
ct_search
Search Certificate Transparency logs for certificates.
Input:
{
"domain": "example.com",
"limit": 100,
"cursor": null
}
Output:
{
"ok": true,
"data": {
"domain": "example.com",
"certificates": [
{
"id": 12345678,
"issuer_ca_id": 16418,
"issuer_name": "C=US, O=Let's Encrypt, CN=R3",
"common_name": "*.example.com",
"name_value": "example.com\n*.example.com",
"not_before": "2024-01-01T00:00:00",
"not_after": "2024-04-01T00:00:00",
"serial_number": "abc123...",
"entry_timestamp": "2024-01-01T00:00:01"
}
],
"total_returned": 1
},
"meta": {
"source": "crt.sh",
"retrieved_at": "2024-01-15T10:30:00Z",
"pagination": {
"next_cursor": "eyJvZmZzZXQiOjEwMH0="
}
}
}
Configuration
Environment variables:
| Variable | Default | Description |
|---|---|---|
DNS_RESOLVER |
8.8.8.8 |
Default DNS resolver for queries |
REQUEST_TIMEOUT_MS |
10000 |
Request timeout in milliseconds |
HTTP_PORT |
3000 |
HTTP server port for health checks |
LOG_LEVEL |
info |
Log level (debug, info, warn, error) |
Response Format
All tools return a standard response envelope:
Success Response
{
"ok": true,
"data": { ... },
"meta": {
"source": "...",
"retrieved_at": "2024-01-15T10:30:00Z",
"pagination": { "next_cursor": null },
"warnings": []
}
}
Error Response
{
"ok": false,
"error": {
"code": "UPSTREAM_ERROR",
"message": "Human readable error message",
"details": { ... }
},
"meta": {
"retrieved_at": "2024-01-15T10:30:00Z"
}
}
Error Codes:
INVALID_INPUT- Invalid input parametersUPSTREAM_ERROR- Error from upstream serviceRATE_LIMITED- Rate limit exceededTIMEOUT- Request timed outPARSE_ERROR- Failed to parse responseINTERNAL_ERROR- Internal server error
Development
# Install dependencies
npm install
# Run in development mode
npm run dev
# Run tests
npm test
# Run tests with coverage
npm run test:coverage
# Type check
npm run typecheck
# Build
npm run build
License
MIT
Install Dns Intel in Claude Desktop, Claude Code & Cursor
unyly install dns-intelInstalls into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.
First time? Get the CLI: curl -fsSL https://unyly.org/install | sh
Or configure manually
Run in your terminal:
claude mcp add dns-intel -- npx -y github:BUZDOLAPCI/dns-intelFAQ
Is Dns Intel MCP free?
Yes, Dns Intel MCP is free — one-click install via Unyly at no cost.
Does Dns Intel need an API key?
No, Dns Intel runs without API keys or environment variables.
Is Dns Intel hosted or self-hosted?
A hosted option is available: Unyly runs the server in the cloud, no local setup required.
How do I install Dns Intel in Claude Desktop, Claude Code or Cursor?
Open Dns Intel on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare Dns Intel with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
