SEO/AEO Audit MCP
Uses Google Chrome UX Report (CrUX) API to fetch Core Web Vitals data for technical SEO assessment.
Provides AI visibility analysis by querying OpenAI to check how often a brand surfaces in AI answer-engine results.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@SEO/AEO Audit MCPaudit https://example.com"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
SEO / AEO Audit MCP
An MCP server + skill that produces a 5-section landscape PDF audit for any website:
Executive Summary — health score, key metrics, top gaps, priority plan
Search Demand + Content Performance — Ahrefs keywords/pages, what's working / limiting growth
Technical SEO + AEO Readiness — crawl findings, Core Web Vitals (CrUX), structured-data gaps
Authority + Roadmap — backlink profile (with spam flags), 90-day roadmap
AI Visibility — how often the brand surfaces in AI answer-engine results, vs. competitors
It exposes three tools — fetch_audit_data (crawl + Ahrefs + Core Web Vitals), fetch_ai_visibility (grounded OpenAI brand-visibility), and render_audit_pdf — and a skill that orchestrates them into one audit <url> command.
Setup
Have an AI assistant (Claude Code, etc.)? Tell it: "Set up this tool by following AGENT_SETUP.md." → AGENT_SETUP.md
Doing it yourself? → SETUP.md
Related MCP server: geo-audit
Requirements
Node.js 18+
AHREFS_API_KEY(paid) — required (the core SEO data)OPENAI_API_KEY(paid) — optional; enables the AI Visibility section (omitted/"not measured" without it)CRUX_API_KEY(free, Google Chrome UX Report API) — optional; adds Core Web Vitals
The audit runs with only the Ahrefs key; the other two just add sections.
Keys go in a local .env (copy .env.example); never commit it.
Use
After setup, in your assistant: audit https://example.com → PDF saved to your Desktop.
Each audit makes ~10 OpenAI calls plus Ahrefs API usage — small but metered cost per run.
Available Tools
3 toolsfetch_ai_visibilityA
Measure how often a brand appears in AI/answer-engine results for unbiased, category-level buyer queries. Generates prompts (brand-name excluded), runs grounded web-search rankings, and returns brand visibility %, average position, per-topic breakdown, and competitor brands. Pass brand and industry from fetch_audit_data when available. Requires OPENAI_API_KEY.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Full URL to audit | |
| brand | No | Brand name (from fetch_audit_data.brand_name) | |
| industry | No | Industry/context hint (from fetch_audit_data.industry) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses the tool generates prompts, runs rankings, and returns specific metrics. It also notes the requirement for OPENAI_API_KEY. No contradictions, and the read-only nature is implied.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is three sentences with clear structure: first states purpose, second outlines process, third gives usage tip. No unnecessary words, all sentences earn their place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema and simple parameters, the description adequately explains the return values, dependencies, and prerequisites. Could mention potential errors or expected environment variable, but overall sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, providing baseline of 3. Description adds value by linking brand and industry parameters to fetch_audit_data output, enhancing semantic understanding beyond schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's verb ('Measure') and resource ('brand visibility in AI/answer-engine results'), with specific details about the process and outputs. It distinguishes itself from siblings by focusing on AI visibility rather than general auditing or PDF rendering.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance to pass brand and industry from fetch_audit_data when available, implying a typical workflow. Does not explicitly state when not to use or mention alternatives, but the context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetch_audit_dataA
Crawl a website and fetch its Ahrefs SEO metrics. Returns a JSON object with: crawl (pages, issues, schema summary), ahrefs (DR, keywords, traffic, backlinks, top pages, referring domains), brand_name (inferred from schema/title), and industry (inferred from page content). Call this first when auditing a site.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Full URL to audit, e.g. https://www.example.com |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Describes that it returns a JSON object and infers brand_name/industry from content, which adds behavioral context. No annotations provided, so description carries burden. Lacks details on rate limits, authentication, or destructive potential, but crawl is typically non-destructive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with action and return type, no superfluous words. Each sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one parameter and no output schema, description thoroughly covers return object fields and inference logic. Could mention potential prerequisites like robots.txt restrictions, but overall sufficient for agent understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with one parameter 'url' already described as 'Full URL to audit'. Description adds example format but no new meaning beyond schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool crawls a website and fetches Ahrefs SEO metrics. It lists the specific return fields (crawl, ahrefs, brand_name, industry) and distinguishes from sibling tools by being the primary audit data fetcher.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states 'Call this first when auditing a site,' providing clear usage context. Does not explicitly mention when not to use or alternatives, but sibling names imply different purposes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
render_audit_pdfA
Render the completed SEO/AEO audit report as a PDF file. Pass the ahrefs and crawl objects exactly as returned by fetch_audit_data (pass through unchanged), plus the ai_visibility data you gathered via web search and the narratives you wrote based on the data.
| Name | Required | Description | Default |
|---|---|---|---|
| crux | No | The crux object from fetch_audit_data (pass through; optional) | |
| crawl | No | The crawl object exactly as returned by fetch_audit_data | |
| ahrefs | No | The ahrefs object exactly as returned by fetch_audit_data | |
| narratives | Yes | ||
| output_path | No | Absolute path for PDF output. Defaults to ~/Desktop/<domain>-seo-audit.pdf | |
| ai_visibility | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the burden. It states it renders a PDF but does not disclose whether it is a pure read operation (no side effects), what happens on conflict (overwrite?), or any rate limits. The phrase 'pass through unchanged' is helpful but insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: first sentence states the purpose, second provides essential input guidance. No wasted words. Perfectly front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description explains the output (PDF file) and default path. It does not mention error handling or prerequisites, but for a simple render tool with clear inputs, it is reasonably complete. Could be improved by noting that all required inputs must be present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 67% coverage (descriptions for 4 of 6 parameters). The description adds value by indicating that ahrefs/crawl should be passed exactly as returned, that ai_visibility comes from web search, and that narratives are user-written. This clarifies data provenance beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Render the completed SEO/AEO audit report as a PDF file.' It specifies the exact resources (ahrefs, crawl, ai_visibility, narratives) and their required form, effectively distinguishing it from sibling fetch tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells the agent to pass through ahrefs/crawl from fetch_audit_data, ai_visibility from web search, and narratives written by the agent. It implies usage after data collection, though it could be clearer about what to do if data is missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a clearly distinct purpose: fetch_audit_data crawls websites, fetch_ai_visibility measures AI visibility, and render_audit_pdf generates reports. There is no overlap or ambiguity.
All tools follow a consistent verb_noun pattern (fetch_audit_data, fetch_ai_visibility, render_audit_pdf), making it easy for an agent to infer functionality from names.
With only 3 tools, the server is tightly scoped to its domain. Each tool is necessary and well-justified, avoiding bloat or insufficiency.
The tool set covers the full audit workflow: data collection (fetch_audit_data), AI visibility analysis (fetch_ai_visibility), and report generation (render_audit_pdf). No obvious gaps exist for the stated purpose.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
AEO audit: score any website 0-100 for AI visibility. Checks schema, meta, content, AI crawlers.
AI website audit: security, SEO, performance, UX and accessibility checks with actionable fixes.
AI website growth audits: SEO, performance, AI readiness (GEO), conversion, a11y, security.
Free SEO, GEO, and AEO audits: analyze any page or domain, AI-crawler access, agent readiness.
Related MCP Servers
- FlicenseNot gradedqualityNot gradedmaintenanceProvides comprehensive website auditing for SEO, performance, accessibility, and security using AI-powered analysis. It enables users to generate detailed audit reports and actionable improvement suggestions for any given URL.
- AlicenseNot gradedqualityCmaintenanceEvaluates any website's AI visibility with 15 checks across crawlability, structure, content, and connectivity, and provides actionable fixes.10MIT

@metricspot/mcp-serverofficial
AlicenseNot gradedqualityFmaintenanceExposes SEO and AI-readability audit tools to AI agents, enabling one-shot anonymous audits or full authenticated audits with PDF reports and organic traffic data.73MIT- AlicenseNot gradedqualityDmaintenanceEnables web audits for performance, security, SEO, and DNS, returning structured improvement prompts for AI assistants.17MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/qckdatabase/seo-aeo-audit-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server