8000 GitHub - patrickdappollonio/mcp-domaintools: An MCP server via STDIO to query DNS and WHOIS information.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

patrickdappollonio/mcp-domaintools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

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)

About

An MCP server via STDIO to query DNS and WHOIS information.

Resources

License

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors 2

  •  
  •  
0