Server defines 6 SEO analysis tools with complete input schemas and descriptions. All tools follow verb_noun naming (seo_*_analyze, seo_*_check, seo_*_parse). Descriptions are substantive (100-200 chars), explaining WHAT each tool does and WHEN to use it. However, output schemas are not documented, LLMs cannot predict response structure. Parameter descriptions are minimal (e.g., 'Full URL of the page to analyze' lacks format guidance). No error handling guidance visible in tool definitions. No tool annotations (readOnlyHint, idempotentHint) despite all tools being read-only. Missing pagination guidance for tools that may return large result sets (seo_link_check, seo_sitemap_parse).
Audit the heading hierarchy (H1-H6) of a page. Detects missing H1, skipped heading levels, duplicate headings, empty headings, and provides a visual hierarchy tree.
Analyze keyword density and distribution across a page. Returns top single words, two-word and three-word phrases with density percentages. Optionally checks placement of a target keyword in title, H1, meta description, and first paragraph.
Crawl a page and check all links for broken URLs, redirects, and missing anchor text. Tests up to 50 links by default with concurrent requests.
Analyze a page's meta tags, Open Graph tags, and Twitter Card tags. Returns an SEO score with actionable recommendations for title, description, social sharing tags, and other meta elements.
Measure basic page speed metrics including Time to First Byte, total load time, HTML size, and resource counts (scripts, stylesheets, images). Identifies render-blocking resources and missing optimizations.
Output schemas not documented. LLMs cannot predict response structure or plan downstream tool calls. All 6 tools return JSON via text content but no schema is declared.
No tool annotations despite all tools being read-only. Missing readOnlyHint would help LLMs understand these tools are safe to call without side effects.
seo_link_check and seo_sitemap_parse may return large result sets but lack pagination guidance. No limit parameter documented for seo_link_check results; seo_sitemap_parse could return thousands of URLs without pagination.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 66 | 2026-07-28+ | v2 |
Parse and analyze a website's sitemap.xml. Handles both sitemap indexes and URL sets. Reports URL counts, lastmod freshness, duplicate URLs, protocol consistency, and sitemap compliance issues. Automatically tries /sitemap.xml and falls back to robots.txt.
Parameter descriptions lack format constraints. 'Full URL of the page to analyze' does not specify URL format, protocol requirements, or timeout behavior. LLMs may pass invalid URLs.
Error handling not visible in tool definitions. Code shows generic error catch returning 'Error: {message}' but no guidance on recovery, retry eligibility, or actionable next steps for LLMs.