
MCP for Domain Tools: The 2026-07-28 Spec and Production Patterns
MCP spec 2026-07-28 shipped July 28 with a stateless core, header routing, and Tasks for long lookups. Here is how domain check, WHOIS, and portfolio tools should expose tools—not chatbot guesses.
NewName Editorial
Editorial Team
On July 28, 2026, the Model Context Protocol published spec 2026-07-28—the largest revision since launch (MCP blog). For domain workflows, it matters because naming agents finally have a standard wire format for availability checks, RDAP lookups, and portfolio reads—without custom browser automation.
MCP does not replace registrars. It replaces copy-paste between chat and WHOIS tabs.
What MCP is (one paragraph, precise)
MCP is an open JSON-RPC protocol connecting AI hosts (Cursor, Claude Desktop, custom agents) to tools and resources on servers. Hosts call tools/call; servers return structured results the model must ground answers in.
Architecture: host = client, domain service = server. The LLM never "knows" if example.ai is free—it must call a tool and read the receipt.
2026-07-28 breaking changes that affect domain servers
| Change | Impact on domain tools |
| --- | --- |
| Stateless core | No Mcp-Session-Id; each request self-contained (migration guide) |
| Mcp-Method / Mcp-Name headers | Gateways route tools/call without parsing bodies |
| server/discover replaces initialize | Capability negotiation per request |
| tools/list ttlMs caching | Cache stable tool schemas (check_domain params) |
| Tasks extension | Bulk 500-name check returns task handle; poll tasks/get |
| JSON Schema 2020-12 | Stricter tool input validation |
| OAuth 2.1 + OIDC | Enterprise domain APIs need issuer validation |
Deprecated: Roots, Sampling, Logging as core features—domain servers should call RDAP/registrar APIs directly, not ask the host LLM to "sample" availability.
Reference domain MCP surfaces (shipping today)
| Server | Tools | Notes |
| --- | --- | --- |
| Instant Domain Search MCP | search_domains, check_domain_availability, generate_domain_variations | Zone-index privacy; bulk-capable |
| namemy.app MCP | Naming + availability for IDE agents | Cited in agent architecture guide |
| Custom (Vacant/RDAP wrapper) | rdap_lookup, bulk_check | Self-hosted; RDAP-first cascade |
NewName.ai exposes HTTP /api/check-domain and /api/check-domain/bulk (100 max)—not MCP natively yet; wrap with a thin MCP server in ~50 lines using @modelcontextprotocol/sdk.
Production tool design (receipt-first)
Tool 1: check_domain_availability
{
"name": "example.ai",
"tlds": ["ai", "com"],
"sources": ["rdap", "dns"]
}
Return (required fields):
{
"domain": "example.ai",
"available": false,
"source": "rdap",
"timestamp": "2026-07-28T14:02:00Z",
"registrar": "MarkMonitor Inc.",
"status": ["client transfer prohibited"]
}
Never return available: true from LLM inference alone.
Tool 2: bulk_check_domains
- Accept max 100–500 names per task (rate-limit aware)
- Use Tasks extension for >100—return
taskId, poll progress - Server-side concurrency pool (10–20), not client fan-out
Tool 3: get_comps (NameBio proxy)
- Input: SLD pattern + TLD + date range
- Output: median, count, top 5 comps with URLs
- Read-only; no write access to registrar carts
Tool 4: portfolio_list_expiring (optional write-none)
- Read registrar API with OAuth
- Return renewals <30 days
- No auto-renew or register without human
confirm_purchasetool
Security patterns (non-negotiable)
- Read-only default — WHOIS/RDAP/check only
- Human gate on spend — separate
draft_registrationtool requiring explicit user confirm - Spend caps — max registration price in tool params
- No registrar password in MCP — OAuth per registrar
- Audit log — store tool inputs/outputs (redact PII)
Gartner-style agent governance: shadow mode read tools 30 days before enabling write tools.
Example agent conversation (correct)
User: Check these 20 .ai names from my brainstorm
Agent: tools/call bulk_check_domains → 3 available (RDAP receipts attached)
User: Value the best one
Agent: tools/call get_comps → median $890 for 6-char .ai brandables
User: Register it
Agent: tools/call draft_registration → "Confirm $89/yr at Porkbun?" → waits
Anti-patterns
| Pattern | Failure |
| --- | --- |
| LLM guesses availability | False positives (startup.ai taken) |
| Client-side 500 WHOIS queries | IP ban |
| Single mega-tool "do everything" | Poor schema; model confusion |
| Auto-register on "looks good" | Typo domains, wrong TLD |
| Ignoring MCP 2026-07-28 headers | Gateway routing breaks at scale |
China deployment notes
- Separate MCP tool path for
.cnavailability via 阿里云/腾讯云 APIs - Do not log 实名 ID numbers in tool audit trails (PIPL)
- Trademark check tool: 企查查 API call before suggesting
.cnregistration
Migration checklist for MCP server authors
- [ ] Remove session store; use stateless handlers
- [ ] Add
Mcp-Methodrouting support - [ ] Publish
ttlMsontools/list - [ ] Validate schemas against JSON Schema 2020-12
- [ ] Implement Tasks for bulk >30s
- [ ] RDAP-first; WHOIS fallback only
- [ ] OAuth 2.1 for registrar write tools
Errors fixed from generic MCP posts
| Old claim | Fix | | --- | --- | | "MCP replaces APIs" | MCP wraps APIs with agent-friendly schemas | | "Any chatbot can safely register domains" | Human confirm + spend cap required | | Ignored July 2026 spec | 2026-07-28 stateless is production target | | "WHOIS is fine" | RDAP-first post-Jan 2025 gTLD policy | | No reference servers | IDS MCP, namemy.app exist now |
Bottom line
MCP turns domain research into auditable tool calls—availability with timestamps, comps with sources, renewals with registrar receipts.
Ship read tools first. Add write tools behind confirmation. Align with 2026-07-28 before building new servers on deprecated session models.
Related: Building Domain Research Agents · Bulk Search Tools 2026 · AI Domain Generation


