Free, open-source, platform-agnostic MCP server that lets any AI agent audit ANY website for SEO / GEO / AEO and speed problems and report how-it-should-be recommendations. Read-only — it never modifies your site.
Five tools with complete input schemas and descriptions. Naming follows verb_noun pattern (audit_site, audit_page, get_recommendations, propose_fixes, preview_fix). Descriptions are substantive (100-200 chars), explaining WHAT and WHEN. However, output schemas are not documented in the source, LLMs cannot see what fields to expect from responses. Parameters are well-described with types and constraints (e.g., max_pages capped at 500, include_speed_heuristics boolean with default). Error handling is minimal, no recovery guidance or actionable error messages visible. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite all tools being read-only. Missing: per-tool output schema documentation, error classification, and recovery patterns.
Audit a single page for SEO, GEO/AEO and speed problems. Fetches the page, parses it, and reports issues with how-it-should-be recommendations.
Audit a website for SEO, GEO/AEO and speed problems. Discovers pages via sitemap/robots.txt, crawls them, and reports issues with how-it-should-be recommendations.
Get how-it-should-be recommendations for one or more issue codes. Returns the WHY, TARGET STATE, and imperative guidance for each code.
Dry-run a fix proposal against fresh HTML to prove the change is localized and safe before applying. Returns before/after snippets and a regression gate status.
Build concrete, minimal fix proposals for a page's audit issues. Returns declarative edits (meta-inject, content-replace, etc.) that can be previewed or applied.
Output schemas not documented. LLMs cannot see what fields audit_site, audit_page, propose_fixes, and preview_fix return. This forces agents to guess at response structure and risks failed downstream reasoning.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). All five tools are read-only and idempotent, but this is not declared in the tool definitions. Agents cannot infer safety properties without explicit hints.
Error handling lacks recovery guidance. No visible error classification (retryable vs user-fixable vs fatal) or actionable error messages. E.g., if a site is unreachable, the agent receives no guidance on what to try next.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 61 | 2026-07-28+ | v2 |
propose_fixes and preview_fix accept complex nested objects (Issue array, FixProposal object) without clear documentation of their internal structure. LLMs cannot construct these objects without seeing the schema.
No pagination or result limits documented for audit_site. If a large sitemap exists, crawling could return hundreds of pages without a cap or offset mechanism. Baseline: tools returning lists should accept limit and offset.