drwho.me 是一组面向域名、邮件和网页的免费开发者工具,同时也是免费 MCP 服务器的入口,可为 AI 智能体提供相同能力。使用这些工具不需要账号,也不需要 API 密钥。
主要能力
根据仓库资料,工具集包括:Base64 与 URL 编码、JWT 解码、DNS 查询、UUID 生成、JSON 格式化、User-Agent 解析和 IP 查询。此外还有邮件、TLS 相关检查,以及安全响应头、TLS 证书、重定向等必须读取其他站点响应的检查。每个工具只检查一件事;同一域名的结果还会链接到 Domain Posture 上的完整评分报告。
使用方式
- 站点:https://drwho.me
- MCP 端点:https://drwho.me/mcp/mcp(可流式 HTTP)
- 大多数工具在浏览器中运行。DNS 或邮件检查直接从浏览器发往 Cloudflare 的公共 DNS,因此查询的域名不会到达 drwho.me 服务器。必须读取其他站点响应的工具(安全响应头、TLS 证书、重定向)在服务端运行,服务器不存储检查内容。
- MCP 客户端接入方式:大多数客户端采用与仓库示例相同的形态,具体请查阅所用客户端的文档。
- 可通过 stdio 方式自行运行 MCP 服务器。
- 公平使用:每个地址每小时 60 次工具调用;列出工具不受限制。
- 所有工具均为只读。
技术实现
项目使用 Node 22 上的 TypeScript。Hono 在服务端以纯 HTML 渲染页面,没有前端框架;两个小型自定义元素(<dw-check>、<dw-live>)在页面内运行工具。检查逻辑是 MIT 许可的 @hikmahtech/dossier-checks 包,由浏览器、服务器和 MCP 服务器共享。docs/ADDING_A_TOOL.md 说明如何添加工具。
由于服务器会抓取访问者指定的站点,它对自身网络做了防护:检查运行前,域名必须只解析到公共地址;此外,无论由哪个库发起,每个出站连接都会在套接字层进行检查,因此重定向、DNS 应答变化或 WHOIS 转介都无法到达私有地址。内容安全策略不允许内联或求值脚本。
配置
配置位于 .env.example,全部为可选项:没有 IPINFO_TOKEN 时,两个 IP 工具会提示未配置;没有 GA_MEASUREMENT_ID 时不加载分析。MCP 工具调用计入由 GA_MCP_MEASUREMENT_ID 和 GA_MCP_API_SECRET 设置的独立 GA4 属性;两者都未设置时不会发送。每个事件携带客户端名称、版本和调用方 id:调用方地址的带密钥哈希,密钥每 UTC 日更换,因此 GA 可按日统计不同调用方,但永远看不到地址或被查询的域名。将 MCP_CALLER_SALT 设为长随机值,可在同一天内重启后保持 id 稳定。
glama.json 和 server.json 由代码通过 pnpm manifests 生成;测试会在它们过期时失败。Dockerfile.web 是网站和托管 MCP 端点,Dockerfile 是 stdio MCP 服务器,.paas/app.yaml 是 koyracloud 的清单文件。
未知路径会重定向到 domainposture.com 上的同一路径。drwho.me 曾是该产品的地址,当时发出的链接和签名文档必须继续可用。