MCP server for checking domain availability and finding available TLDs via WHOIS
Two tools with basic descriptions and input schemas present, but significant gaps in parameter documentation, output schema clarity, and error handling guidance. Tool names lack clear action verbs (DomainAvailable, AvailableDomainTLDFinder are noun-heavy). Descriptions are minimal (10-30 chars) and lack WHEN/WHY context. Input parameters are described but output schemas are not documented in tool definitions. Error handling returns structured errors but lacks recovery guidance. Naming conventions are awkward, DomainAvailable could be check_domain_availability; AvailableDomainTLDFinder could be find_available_tlds. Parameter descriptions exist but are verbose and lack constraints (enums, ranges, patterns).
Given a string without a TLD, find all available TLDs for a potential domain
Check if a domain is available
Tool names lack action verbs; DomainAvailable is a noun, not verb_noun pattern. Should be check_domain_availability or similar. AvailableDomainTLDFinder is awkward, should be find_available_tlds_for_domain or list_available_tlds.
Tool descriptions are extremely brief (10-30 chars). 'Check if a domain is available' and 'Given a string without a TLD, find all available TLDs' lack context on WHEN to use each tool and what distinguishes them. Should be 50-200 chars with use-case guidance.
Output schemas for both tools are not documented in the tool definitions visible in source. SingleDomainAvailableOutput and AvailableDomainTLDOutput structs exist in code but are not mapped to CallToolResult in the registered tool definitions. LLMs cannot infer what fields to expect.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 41 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 41 | - | v1 |
Parameter descriptions for 'domain' in both tools are verbose and lack machine-parseable constraints (regex patterns, length limits, enums). No validation constraints declared. E.g., 'The domain to check availability for. Can start with http:// or https://', should state format constraints formally.
No pagination support documented. If WHOIS lookups return many results, there is no limit parameter or next_cursor. Large result sets could exceed context windows without explicit capping and pagination guidance.
Error handling returns structured errors with messages (e.g., 'domain must not contain a TLD') but does not include recovery guidance. Errors like ErrNotFoundDomain are caught but not mapped to actionable suggestions (e.g., 'Try using DomainAvailable with a TLD').
Both tools are READ_ONLY but lack explicit idempotentHint annotations in the tool definition. While the Risk field is set correctly, tool annotations should be present for clarity to agents.