MCP server for AI-powered domain brainstorming, analysis, and availability checking via AgentDomainService.com - No CAPTCHAs, no API keys required
Server defines 6 tools with basic schemas and descriptions. All tools have input schemas with type definitions and parameter descriptions, meeting minimum requirements. However, descriptions are generic and lack LLM-optimized guidance on WHEN to use each tool or HOW they differ. Output schemas are defined in TypeScript interfaces but not exposed in tool registration, LLMs cannot see what fields to expect. No error handling guidance, no parameter constraints (enums, ranges), and no mention of idempotency or side effects. Tool naming follows verb_noun convention (check_domain, explore_name, brainstorm_domains, analyze_domain, search_domains, list_categories), which is good. Parameter naming is clear (domain, name, prompt, count, category, max_price, min_price, tlds, sort, limit). However, descriptions lack actionable detail: 'Check a single domain's availability' does not explain when to use check_domain vs explore_name vs search_domains, or what the response structure contains. No per-parameter constraints (e.g., count defaults to 10 but no min/max stated). search_domains has 6 optional parameters with no guidance on mutual exclusivity or filtering logic. Overall, definitions are functional but below production quality.
Analyze a domain name with AI scoring
Brainstorm domain names based on a description
Check a single domain's availability
Explore a name across multiple TLDs
List available categories
Search for available domains with filters
Output schemas not exposed to LLM. TypeScript interfaces (DomainCheckResult, ExploreResult, etc.) define response structure but are not included in tool registration. LLMs cannot see what fields to expect, forcing them to guess or make follow-up calls.
Descriptions lack LLM-optimized guidance. 'Check a single domain's availability' does not explain WHEN to use this tool vs explore_name (which checks multiple TLDs) or search_domains (which filters by category/price). LLMs cannot distinguish between similar tools without explicit differentiation.
No parameter constraints or validation guidance. brainstorm_domains accepts count with no min/max stated (default 10 but unbounded). search_domains has 6 optional filters with no guidance on mutual exclusivity, filtering logic, or valid sort values. LLMs may pass invalid combinations.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 53 | 2026-07-28+ | v2 |
No error handling guidance. All functions throw generic errors ('Failed to check domain: {statusText}'). LLMs receive no actionable recovery path, should suggest alternatives (e.g., 'Domain not found. Try explore_name() to check multiple TLDs') or clarify whether errors are retryable.
No idempotency or side-effect declarations. brainstorm_domains and analyze_domain call external AI services, are results cached? Deterministic? Can they be safely retried? Tool descriptions do not clarify, forcing LLMs to assume worst case.