WolfTech DNS MCP Server
# WolfTech DNS MCP Server
An MCP (Model Context Protocol) server that provides DNS lookup and email authentication diagnostic tools. Built for use with Claude Desktop, Claude Code, and any MCP-compatible client.
## Tools
| Tool | Description |
|------|-------------|
| `dns_lookup` | Look up any DNS record type (A, AAAA, MX, TXT, CNAME, NS, SOA, PTR, SRV, CAA) |
| `spf_check` | Retrieve and validate SPF records with recursive DNS lookup counting (10-lookup limit) |
| `mx_check` | List MX records with priority ordering and resolved IP addresses |
| `dmarc_check` | Parse DMARC records (policy, alignment, reporting addresses) |
| `dkim_check` | Look up DKIM records by selector (handles CNAME delegation) |
| `reverse_dns` | PTR lookup with forward/reverse consistency verification |
| `domain_health` | Comprehensive email DNS audit with health score (A, AAAA, NS, MX, SPF, DMARC) |
All tools accept an optional `dns_server` parameter (default `8.8.8.8`) for querying specific resolvers or checking propagation.
## Requirements
- Python 3.13+
- [uv](https://docs.astral.sh/uv/)
## Installation
### Claude Code
Add to `.claude/.mcp.json`:
```json
{
"mcpServers": {
"wolftech-dns": {
"command": "uv",
"args": [
"run",
"--project",
"/path/to/wolftech-dns-mcp",
"--with", "fastmcp",
"--with", "dnspython",
"fastmcp", "run",
"/path/to/wolftech-dns-mcp/server.py"
]
}
}
}
```
### Claude Desktop
Add to `claude_desktop_config.json`:
```json
{
"mcpServers": {
"wolftech-dns": {
"command": "uv",
"args": [
"run",
"--project",
"/path/to/wolftech-dns-mcp",
"--with", "fastmcp",
"--with", "dnspython",
"fastmcp", "run",
"/path/to/wolftech-dns-mcp/server.py"
]
}
}
}
```
Replace `/path/to/wolftech-dns-mcp` with the actual path to the cloned repository.
## Usage Examples
Once configured, the tools are available to Claude as MCP tools:
- **"Look up the A records for example.com"** - uses `dns_lookup`
- **"Check the SPF record for mydomain.com"** - uses `spf_check`
- **"Run a full email DNS health check on mydomain.com"** - uses `domain_health`
- **"Check if selector1 DKIM is set up for mydomain.com"** - uses `dkim_check`
- **"Do a reverse DNS lookup on 74.140.194.162"** - uses `reverse_dns`
- **"Check MX records for mydomain.com using Cloudflare DNS"** - uses `mx_check` with `dns_server: "1.1.1.1"`
## Stack
- [FastMCP](https://github.com/jlowin/fastmcp) - MCP server framework
- [dnspython](https://www.dnspython.org/) - DNS toolkit for Python
- Transport: stdio
TDQS
Scored across 7 tools
Each tool targets a distinct DNS resource or check: generic lookup, SPF, MX, DMARC, DKIM, reverse DNS, and aggregate health. No two tools overlap in purpose.
All names are lowercase snake_case and readable, but they mix patterns: 'dns_lookup' and 'reverse_dns' use different structures than the '_check' suffix used by most email validation tools. Minor inconsistency, still predictable.
Seven tools is well-scoped for a DNS/email diagnostic server. Each tool addresses a specific need, and the count feels appropriately focused without bloat or thinness.
The set covers generic DNS lookups, core email authentication records (SPF, MX, DMARC, DKIM), reverse DNS, and an aggregate health check. It provides a complete read-only diagnostic workflow with no obvious gaps.