drwhome
The drwhome server provides network diagnostics, domain health checks, and developer utilities.
Domain & DNS
dns_lookup — Resolve a specific DNS record type (A, AAAA, MX, TXT, NS, CNAME) via Cloudflare DoH
dossier_dns — Fetch a full DNS profile (A, AAAA, NS, SOA, CAA, TXT) in parallel
dossier_mx — Look up and rank MX records by priority
dossier_spf — Retrieve and parse SPF records (mechanisms, lookup count)
dossier_dmarc — Retrieve and parse DMARC policy and tags
dossier_dkim — Probe DKIM public keys by selector
dossier_tls — Inspect TLS certificate (expiry, issuer, SANs, fingerprint)
dossier_redirects — Trace the full HTTP redirect chain
dossier_headers — Audit HTTP response headers (CSP, HSTS, etc.)
dossier_cors — Send a CORS preflight OPTIONS request and inspect access-control headers
dossier_web_surface — Snapshot robots.txt, sitemap.xml, and page metadata (title, OG/Twitter tags)
dossier_full — Run all 10 domain checks simultaneously in a single call
Network
ip_lookup — Geolocate an IPv4/IPv6 address (city, country, ASN, org, timezone)
Developer Utilities
user_agent_parse — Parse a User-Agent string into browser, OS, device, and engine
json_format — Validate and pretty-print JSON
base64_encode / base64_decode — Encode/decode Base64 and Base64url strings
url_encode / url_decode — Percent-encode/decode URL components
jwt_decode — Decode a JWT into header, payload, and signature (no verification)
uuid_generate — Generate a UUID v4 (random) or v7 (time-ordered)
drwho.me
Minimal, fast network and developer tools at drwho.me.
Operated by Hikmah Technologies.
Stack
Next.js 15 · TypeScript (strict) · Tailwind v4 · Biome · Vitest · Playwright · Vercel.
Dev
pnpm install
pnpm dev # http://localhost:3000
pnpm test # unit
pnpm test:e2e # e2e
pnpm lint # biome
pnpm typecheck
pnpm build
pnpm lh # Lighthouse CI (perf/seo ≥ 95)Env vars
Set in Vercel dashboard (do not commit):
Name | Purpose |
| contact + waitlist email delivery |
| inbox that receives contact + waitlist messages |
| canonical site origin, e.g. |
| ipinfo.io API token |
| Vercel KV REST endpoint (auto-set when KV is attached) |
| Vercel KV REST auth token (auto-set when KV is attached) |
|
|
| AdSense client id (Plan 5) |
| GA4 measurement ID, |
| GA4 Measurement Protocol API secret (server-side MCP events) |
| Upstash Redis REST endpoint (dossier rate limits) |
| Upstash Redis REST token |
MCP
A remote MCP endpoint lives at /mcp/mcp (Streamable HTTP). The handshake and tool listing are open; tools/call is paywalled (HTTP 402, JSON-RPC error -32001) until the paid tier opens. See /mcp on the site for config snippets and the waitlist.
Dossier
/d/<domain>streams 10 independent checks (DNS, MX, SPF, DMARC, DKIM, TLS, redirects, headers, CORS, web-surface) as a single dossier.Append
?refresh=1to bypass caches and revalidate that dossier load.Rate limits (per client IP): 30
/d/<domain>loads per hour, plus a separate 60/hour shared bucket across the standalone dossier tool pages (/tools/dns-records-lookup,/tools/mx-lookup,/tools/spf-checker, etc.). Unset Upstash env vars disable rate limiting (dev default).Abuse-prone targets are rejected at the route + MCP layer via a committed denylist in
lib/dossier/denylist.ts.
Layout
app/— routes.app/tools/[slug]is the single dynamic route for every tool.components/— UI.components/tools/*wraps pure logic fromlib/tools/*.content/tools.ts— tool registry, single source of truth.lib/tools/*.ts— pure-function tool logic (reused by web + MCP in Plan 4).docs/superpowers/— specs + plans.
Deploy
Push to main → Vercel auto-deploys. PRs → preview deploys. Set the env vars above in Vercel before first deploy (except the Plan-deferred ones).
Credits
Favicon: owl icon by Lorc via game-icons.net, licensed under CC BY 3.0.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/hikmahtech/drwhome'
If you have feedback or need assistance with the MCP directory API, please join our Discord server