Skip to main content
Glama
README.md
# DNSDumpster - MCP Server

A Model Context Protocol (MCP) server for interacting with the DNSDumpster API, enabling AI assistants to perform detailed DNS reconnaissance through natural language requests.

## Features

- Query domain DNS records through AI assistants
- Retrieve detailed information about:
  - A records (with associated IP and ASN information)
  - CNAME records
  - MX records
  - TXT records
  - NS records
  - Banner information where available
- Support for pagination (Plus accounts)
- Rate limiting and caching

[![PyPI version](https://badge.fury.io/py/mcp-dnsdumpster.svg)](https://pypi.org/project/mcp-dnsdumpster/)

## Installation

```bash
# Install from PyPI
uv pip install mcp-dnsdumpster

# Or from source
git clone https://github.com/yourusername/mcp-dnsdumpster.git
cd mcp-dnsdumpster
uv pip install -e .
```

## Claude Desktop Configuration

Add to your Claude Desktop config (`~/Library/Application Support/Claude/claude_desktop_config.json` on macOS or `%AppData%\Claude\claude_desktop_config.json` on Windows):

```json
{
  "mcpServers": {
    "dnsdumpster": {
      "command": "uvx",
      "args": ["mcp-dnsdumpster"],
      "env": {
        "DNSDUMPSTER_API_KEY": "your_api_key_here"
      }
    }
  }
}
```

## Usage

1. Set your API key:
```bash
export DNSDUMPSTER_API_KEY=your_api_key_here
```

2. Run the server:
```bash
# Using uvx (recommended)
uvx mcp-dnsdumpster

# Or if installed from source
uv run server.py
```

### Example Prompts

- "Show me all subdomains for example.com"
- "What are the mail servers for microsoft.com?"
- "Tell me about the DNS infrastructure for twitter.com"

## Development

- Python 3.10+
- Uses `uv` for dependency management
- Built with MCP SDK 1.4+

## License

MIT

TDQS

A3.6/5.0

Scored across 7 tools

Disambiguation5/5

Each tool targets a specific and distinct DNS record type or operation (individual records, combined query, subdomain search). No overlap or ambiguity.

Naming Consistency4/5

Most tools follow the 'get_*_records' pattern, but 'query_domain' and 'search_subdomains' break the pattern. Still, all names are descriptive and predictable.

Tool Count5/5

7 tools is an ideal size for a DNS lookup server—covers essential record types and common operations without being overwhelming.

Completeness4/5

Covers core DNS records (A, CNAME, MX, NS, TXT) plus subdomains, but lacks some common types like AAAA, SOA, or SRV. Minor gap but main functionality is complete.

Maintenance

ActivityInactive
ResponsivenessNo issues