MCP ExplorerExplorer

Mcp Domaintools

@patrickdappollonioon 16 days ago
1 MIT
FreeCommunity
AI Systems
An MCP server via STDIO to query DNS and WHOIS information.

Overview

What is Mcp Domaintools

mcp-domaintools is an MCP server that provides DNS and WHOIS query capabilities for AI assistants, enabling them to perform DNS lookups via local DNS resolvers and remote DNS-over-HTTPS services.

Use cases

Use cases include domain registration checks, DNS troubleshooting, web application development requiring DNS lookups, and integration into AI assistants for enhanced functionality.

How to use

To use mcp-domaintools, configure your editor to include it as an MCP server, specifying command and arguments as needed. You can customize remote DNS and WHOIS servers using the respective flags.

Key features

Key features include local DNS queries, remote DNS-over-HTTPS support, WHOIS lookups, multiple record type support (A, AAAA, CNAME, MX, NS, PTR, SOA, SRV, TXT), a fallback mechanism for reliability, and SSE support for web integrations.

Where to use

mcp-domaintools can be used in various fields such as web development, cybersecurity, and network administration, where DNS and WHOIS information is crucial.

Content

DNS and WHOIS query MCP server mcp-domaintools

mcp-domaintools is a Model Context Protocol (MCP) server providing DNS and WHOIS query capabilities for AI assistants. It enables AI models to perform DNS lookups both via local DNS resolvers and remote DNS-over-HTTPS services.

For local DNS queries, it uses the system’s configured DNS servers. For remote DNS queries, it uses Cloudflare DNS-over-HTTPS queries with a fallback to Google DNS-over-HTTPS. This is more than enough for most use cases.

For custom DNS-over-HTTPS servers, you can use the --remote-server-address flag. The server endpoint must implement the HTTP reponse format as defined by RFC 8484.

For custom WHOIS servers, you can use the --custom-whois-server flag. The server endpoint must implement the HTTP reponse format as defined by RFC 3912, although plain text responses are also supported.

Features

  • Local DNS Queries: Perform DNS lookups using the OS-configured DNS servers
  • Remote DNS-over-HTTPS: Perform secure DNS queries via Cloudflare and Google DNS-over-HTTPS services
  • WHOIS Lookups: Perform WHOIS queries to get domain registration information
  • Multiple Record Types: Support for A, AAAA, CNAME, MX, NS, PTR, SOA, SRV, and TXT record types
  • Fallback Mechanism: Automatically tries multiple DNS servers for reliable results
  • SSE Support: Run as an HTTP server with Server-Sent Events (SSE) for web-based integrations

Installation

Editor Configuration

Add the following configuration to your editor’s settings to use mcp-domaintools:

{
  "mcpServers": {
    "dns": {
      "command": "mcp-domaintools",
      "args": [
        // Uncomment and modify as needed:
        // "--remote-server-address=https://your-custom-doh-server.com/dns-query",
        // "--custom-whois-server=whois.yourdomain.com",
        // "--timeout=10s"
      ],
      "env": {}
    }
  }
}

You can use mcp-domaintools directly from your $PATH as shown above, or provide the full path to the binary (e.g., /path/to/mcp-domaintools).

Alternatively, you can run mcp-domaintools directly with Docker without installing the binary:

{
  "mcpServers": {
    "dns": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/patrickdappollonio/mcp-domaintools:latest"
        // Add custom options if needed:
        // "--remote-server-address=https://your-custom-doh-server.com/dns-query",
        // "--custom-whois-server=whois.yourdomain.com",
        // "--timeout=10s"
      ],
      "env": {}
    }
  }
}

See “Available MCP Tools” for information on the tools exposed by mcp-domaintools.

Homebrew (macOS and Linux)

brew install patrickdappollonio/tap/mcp-domaintools

Docker

The MCP server is available as a Docker image using stdio to communicate:

docker pull ghcr.io/patrickdappollonio/mcp-domaintools:latest
docker run --rm ghcr.io/patrickdappollonio/mcp-domaintools:latest

For SSE mode with Docker, expose the SSE port (default 3000):

docker run --rm -p 3000:3000 ghcr.io/patrickdappollonio/mcp-domaintools:latest --sse --sse-port 3000

Check the implementation above on how to configure the MCP server to run as a container in your editor or tool.

Cursor

You can use one-click to install in Cursor (note this will use the Docker version of the MCP server since it doesn’t require a local binary installation):

Install MCP Server

GitHub Releases

Download the pre-built binaries for your platform from the GitHub Releases page.

Available MCP Tools

There are 3 tools available:

  • local_dns_query: Perform DNS queries against the local DNS resolver as configured by the OS
  • remote_dns_query: Perform DNS queries against a remote DNS-over-HTTPS server
  • whois_query: Perform WHOIS lookups to get domain registration information

Running Modes

Standard (stdio) Mode

By default, mcp-domaintools runs in stdio mode, which is suitable for integration with editors and other tools that communicate via standard input/output.

mcp-domaintools

Server-Sent Events (SSE) Mode

Alternatively, you can run mcp-domaintools as an HTTP server with SSE support for web-based integrations:

mcp-domaintools --sse --sse-port=3000

In SSE mode, the server will listen on the specified port (default: 3000) and provide the same MCP tools over HTTP using Server-Sent Events. This is useful for web applications or environments where stdio communication isn’t practical.

Available SSE Options:

  • --sse: Enable SSE server mode
  • --sse-port=PORT: Specify the port to listen on (default: 3000)

Local DNS Query

Performs DNS queries using local OS-defined DNS servers.

Arguments:

  • domain (required): The domain name to query (e.g., example.com)
  • record_type (required): Type of DNS record to query (A, AAAA, CNAME, MX, NS, PTR, SOA, SRV, TXT)

Remote DNS Query

Performs DNS queries using remote DNS-over-HTTPS servers (Google and Cloudflare).

Arguments:

  • domain (required): The domain name to query (e.g., example.com)
  • record_type (required): Type of DNS record to query (A, AAAA, CNAME, MX, NS, PTR, SOA, SRV, TXT)

WHOIS Query

Performs WHOIS lookups to get domain registration information.

Arguments:

  • domain (required): The domain name to query (e.g., example.com)

Tools

No tools

Comments