Skip to main content
Glama

drwho.me

hikmahtech/drwhome MCP server

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

RESEND_API_KEY

contact + waitlist email delivery

CONTACT_TO_EMAIL

inbox that receives contact + waitlist messages

NEXT_PUBLIC_SITE_URL

canonical site origin, e.g. https://drwho.me

IPINFO_TOKEN

ipinfo.io API token

KV_REST_API_URL

Vercel KV REST endpoint (auto-set when KV is attached)

KV_REST_API_TOKEN

Vercel KV REST auth token (auto-set when KV is attached)

NEXT_PUBLIC_ADS_ENABLED

"true" to load real AdSense (Plan 5)

ADSENSE_CLIENT_ID

AdSense client id (Plan 5)

NEXT_PUBLIC_GA_MEASUREMENT_ID

GA4 measurement ID, G-XXXXXXXXXX. Unset → no analytics

GA_API_SECRET

GA4 Measurement Protocol API secret (server-side MCP events)

UPSTASH_REDIS_REST_URL

Upstash Redis REST endpoint (dossier rate limits)

UPSTASH_REDIS_REST_TOKEN

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=1 to 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 from lib/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.

Related MCP Connectors

  • Remote MCP server: 19 domain-hygiene and email-auth tools (DNS, SPF, DMARC, DKIM, TLS).

  • 238+ dev tools via MCP: JSON, QR, PDF, DNS, hash, UUID, code review, JWT, SSL, WHOIS, and more

  • 49 developer tools via MCP: DNS, WHOIS, IP lookup, JWT, hashing, QR, and more.

  • 65+ free in-browser developer tools (JSON, Base64, JWT, hash, regex…) callable over MCP.

View all MCP Connectors

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