SEO mapping and enhancement CLI for any tech stack, exposed as an MCP server
Three tools with basic schemas and descriptions, but significant gaps in parameter documentation and output schema clarity. scan_site and scan_page have reasonable descriptions (60-80 chars), but lack detail on output structure, error cases, and parameter constraints. list_rules has minimal description (47 chars). No parameter descriptions visible for 'depth' beyond a brief note. Output schemas not documented, LLMs cannot plan downstream operations or extract specific fields. No error handling guidance. Tool names follow verb_noun pattern (good), but descriptions lack WHEN/WHY context and actionable recovery paths.
List all SEO rule IDs that seomapper checks, with descriptions.
Audit a single page and return its SEO issues and score.
Crawl a website and return SEO issues for all pages. Returns scores, issues by severity, and fix hints.
Output schemas not documented. LLMs cannot infer what fields scan_site/scan_page return (e.g., do they return per-page scores, issue arrays, fix hints separately?). Forces agents to guess structure and wastes tokens on parsing.
Parameter 'depth' lacks description beyond 'Max pages to crawl'. No guidance on valid range, performance implications, or when to use non-default values. LLMs cannot reason about appropriate depth for different site sizes.
list_rules description is 47 characters ('List all SEO rule IDs that seomapper checks, with descriptions.'). Lacks WHEN to call it, what structure it returns, and how to use results downstream. Below 50-char baseline for discovery tools.
No error handling guidance. Descriptions do not explain what happens on invalid URLs, network timeouts, or truncated pages. scan_site mentions 'page-truncated' warning in code but not in tool description, agents cannot plan recovery.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 50 | 2026-07-28+ | v2 |
scan_site and scan_page descriptions lack WHEN/WHY context. 'Crawl a website' vs 'Audit a single page' is clear, but no guidance on when to use scan_site vs scan_page, or what 'SEO issues' means (severity levels? categories?).