patrickdappollonio
服务介绍
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)