p

patrickdappollonio

@patrickdappollonio/mcp-domaintools
0 Stars 310 次浏览 patrickdappollonio 更新于 2026-08-23
该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

DNS 和 WHOIS 查询 MCP 服务器 mcp-domaintools

mcp-domaintools 是一个 Model Context Protocol (MCP) 服务器,为 AI 助手提供 DNS 和 WHOIS 查询功能。它使 AI 模型能够通过本地 DNS 解析器和远程 DNS-over-HTTPS 服务执行 DNS 查找。

对于本地 DNS 查询,它使用系统配置的 DNS 服务器。对于远程 DNS 查询,它使用 Cloudflare 的 DNS-over-HTTPS 查询,并在必要时回退到 Google 的 DNS-over-HTTPS 服务。这足以满足大多数使用场景的需求。

对于自定义的 DNS-over-HTTPS 服务器,您可以使用 --remote-server-address 标志。服务器端点必须实现 RFC 8484 定义的 HTTP 响应格式。

对于自定义的 WHOIS 服务器,您可以使用 --custom-whois-server 标志。服务器端点必须实现 RFC 3912 定义的 HTTP 响应格式,尽管也支持纯文本响应。

功能

  • 本地 DNS 查询:使用操作系统配置的 DNS 服务器执行 DNS 查找
  • 远程 DNS-over-HTTPS:通过 Cloudflare 和 Google 的 DNS-over-HTTPS 服务执行安全的 DNS 查询
  • WHOIS 查询:执行 WHOIS 查询以获取域名注册信息
  • 多种记录类型:支持 A、AAAA、CNAME、MX、NS、PTR、SOA、SRV 和 TXT 记录类型
  • 回退机制:自动尝试多个 DNS 服务器以获得可靠的结果
  • SSE 支持:作为具有 Server-Sent Events (SSE) 的 HTTP 服务器运行,以便于基于 Web 的集成

安装

编辑器配置

将以下配置添加到您的编辑器设置中以使用 mcp-domaintools

json5
{
"mcpServers": {
"dns": {
"command": "mcp-domaintools",
"args": [
// 根据需要取消注释并修改:
// "--remote-server-address=https://your-custom-doh-server.com/dns-query",
// "--custom-whois-server=whois.yourdomain.com",
// "--timeout=10s"
],
"env": {}
}
}
}

您可以直接从 $PATH 中使用 mcp-domaintools(如上所示),或者提供二进制文件的完整路径(例如 /path/to/mcp-domaintools)。

或者,您也可以直接使用 Docker 运行 mcp-domaintools 而无需安装二进制文件:

json5
{
"mcpServers": {
"dns": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/patrickdappollonio/mcp-domaintools:latest"
// 如有需要,添加自定义选项:
// "--remote-server-address=https://your-custom-doh-server.com/dns-query",
// "--custom-whois-server=whois.yourdomain.com",
// "--timeout=10s"
],
"env": {}
}
}
}

有关 mcp-domaintools 暴露的工具的信息,请参阅 "可用的 MCP 工具"

Homebrew (macOS 和 Linux)

bash
brew install patrickdappollonio/tap/mcp-domaintools

Docker

MCP 服务器作为一个 Docker 镜像提供,使用 stdio 进行通信:

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

对于 SSE 模式的 Docker,暴露 SSE 端口(默认为 3000):

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

请参考上述实现,了解如何在您的编辑器或工具中配置 MCP 服务器以作为容器运行。

GitHub 发布版

GitHub 发布页面下载适用于您平台的预构建二进制文件。

可用的 MCP 工具

共有 3 个工具可用:

  • local_dns_query:针对操作系统配置的本地 DNS 解析器执行 DNS 查询
  • remote_dns_query:针对远程 DNS-over-HTTPS 服务器执行 DNS 查询- whois_query: 执行 WHOIS 查询以获取域名注册信息

运行模式

标准(stdio)模式

默认情况下,mcp-domaintools 以 stdio 模式运行,这适用于通过标准输入/输出与编辑器和其他工具集成的情况。

bash
mcp-domaintools

服务器发送事件(SSE)模式

或者,你可以将 mcp-domaintools 作为支持 SSE 的 HTTP 服务器运行,以便进行基于 Web 的集成:

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

在 SSE 模式下,服务器将在指定端口(默认:3000)上监听,并使用服务器发送事件通过 HTTP 提供相同的 MCP 工具。这对于不适合使用 stdio 通信的 Web 应用程序或环境非常有用。

可用的 SSE 选项:

  • --sse: 启用 SSE 服务器模式
  • --sse-port=PORT: 指定要监听的端口(默认:3000)

本地 DNS 查询

使用本地操作系统定义的 DNS 服务器执行 DNS 查询。

参数:

  • domain (必需): 要查询的域名(例如,example.com)
  • record_type (必需): 要查询的 DNS 记录类型(A, AAAA, CNAME, MX, NS, PTR, SOA, SRV, TXT)

远程 DNS 查询

使用远程 DNS-over-HTTPS 服务器(Google 和 Cloudflare)执行 DNS 查询。

参数:

  • domain (必需): 要查询的域名(例如,example.com)
  • record_type (必需): 要查询的 DNS 记录类型(A, AAAA, CNAME, MX, NS, PTR, SOA, SRV, TXT)

WHOIS 查询

执行 WHOIS 查询以获取域名注册信息。

参数:

  • domain (必需): 要查询的域名(例如,example.com)

相关 MCP 服务