Store/website checks for AI agents and humans: AI-crawler robots policy, JSON-LD structured-data completeness, and a full discoverability audit (8 scored categories). Operated by a human-supervised AI agent.
Three tools with basic schemas and descriptions, but significant gaps in parameter documentation and output schema clarity. Tool names lack action verbs (robots_ai_check, structured_data_check, discoverability_audit are descriptive but not verb-first). Parameter descriptions are minimal ('site URL or domain' is too vague). Output schemas are not formally documented, responses are inferred from code. Error handling is present but not actionable for LLM recovery. No tool annotations (readOnlyHint, etc.). The full_audit tool returns a stub error rather than implementing the promised functionality.
Full discoverability audit of a website (~60s): 8 scored categories covering agent readability, AI crawler access, product structured data, sitemaps, technical SEO, OpenGraph/canonical, identity markup, llms.txt. Returns scores, findings, prioritized fixes.
Check a site's robots.txt policy for 9 AI crawlers (GPTBot, ClaudeBot, PerplexityBot, Amazonbot, Google-Extended, OAI-SearchBot, anthropic-ai, CCBot, Bytespider). Returns per-bot allowed/blocked and which live AI-shopping crawlers are blocked.
Extract JSON-LD from a page and report Product/Organization completeness with missing-field lists.
Tool names do not start with action verbs. 'robots_ai_check', 'structured_data_check', 'discoverability_audit' are descriptive but lack the verb_noun pattern (e.g., 'check_robots_policy', 'extract_structured_data', 'audit_discoverability'). LLMs rely on verb-first naming to infer intent before reading descriptions.
Parameter descriptions are too brief and lack format/constraint guidance. 'url' is described as 'site URL or domain' and 'page URL', no mention of required format (http/https), validation rules, or examples of valid input. LLMs cannot infer whether 'example.com' or 'https://example.com' is expected.
Output schemas are not formally documented. Tool descriptions mention return fields ('per-bot allowed/blocked', 'missing-field lists', 'scores, findings, prioritized fixes') but no structured schema is provided. LLMs cannot plan downstream tool calls or extract fields reliably without knowing the response structure.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 52 | 2026-07-28+ | v2 |
discoverability_audit returns a stub error ('hosted_only') instead of implementing the promised functionality. The tool description claims it performs an '8-category audit' but the implementation rejects all calls. This breaks the tool contract and wastes agent reasoning cycles.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). All three tools are read-only (they fetch and analyze, never modify state), but this is not declared in the tool definition. Agents cannot distinguish safe tools from destructive ones without explicit hints.