agentaeo-mcp-server
The @agentaeo/mcp-server enables running Answer Engine Optimization (AEO) audits and generating AI-optimized content suites for websites, measuring and improving visibility across AI-powered search engines like ChatGPT, Perplexity, Claude, and Google AI.
Core capabilities:
Run AEO Audits (
run_aeo_audit): Start an async AEO audit for any URL, with a free tier (8 queries) or paid tier (40 queries), and an optional primary keyword.Check Audit Status (
check_aeo_audit_status): Poll a running audit byauditId— free tier audits stop at a preview, paid audits deliver a full report.Generate AEO Content Suite (
generate_aeo_content_suite): Kick off async generation of a full content bundle (HTML, JSON-LD structured data, andllms.txt) from a completed audit. Supports admin bypass mode for internal QA.Check Content Suite Status (
check_aeo_content_suite_status): Poll content suite generation progress byorderIduntil completed or failed (typically 5–25+ minutes).Download Content Suite ZIP (
download_aeo_content_suite_zip): Download the completed content suite as a ZIP file to a specified directory or the current working directory.
Allows running and monitoring Answer Engine Optimization (AEO) audits and generating optimized content suites to analyze and improve content visibility within Google AI.
Allows running and monitoring Answer Engine Optimization (AEO) audits and generating optimized content suites to analyze and improve content visibility within Perplexity's AI search results.
AgentAEO MCP Server
Ask Claude: "Why is [competitor] being cited instead of us for [category] queries?" Get the answer. Get the fix.
AgentAEO is a retrieval intelligence layer for AI agents. It tells Claude, Cursor, and any MCP-compatible agent which brands are winning AI citations and exactly why.
Install in 2 minutes
npx @agentaeo/mcp-server@latestThen in Claude Desktop, ask:
"Run an AI citation audit on [domain.com] for [category] queries. Tell me which competitors are being cited instead and why."
That is it. You now have live selection intelligence inside your AI workflow.
Related MCP server: Citesurf MCP
What this measures
AgentAEO runs real buyer queries across ChatGPT, Perplexity, Claude, and Google AI and returns:
Citation rates per engine per query
Which competitor wins each query
Revenue leakage estimate ($/month)
Exact structural reasons AI skips you
Copy-paste schema fixes
Why this exists
60% of brands investing in SEO are invisible in AI-generated answers despite strong Google rankings.
This is the Selection Gap: AI finds your brand but does not consistently choose it. Competitors enter the consideration set before you do.
AgentAEO measures this gap. Quantifies it in dollars. Generates the fix.
Also known as: Generative Engine Optimization (GEO), Answer Engine Optimization (AEO), AI SEO — AgentAEO measures the citation layer that determines whether AI recommends you or your competitor.
How AgentAEO differs from other AEO tools
Capability | AgentAEO | Conductor | Profound | AthenaHQ | seoClarity |
Live citation testing across 4 engines | ✅ | ❌ | ❌ | ❌ | ❌ |
Revenue-at-risk estimate | ✅ | ❌ | ❌ | ❌ | ❌ |
30-day fix blueprint | ✅ | ❌ | ❌ | ❌ | ❌ |
Deploy-ready JSON-LD schema | ✅ | ❌ | ❌ | Partial | ❌ |
llms.txt generation | ✅ | ❌ | ❌ | ❌ | ❌ |
Free tier | ✅ | ❌ | ❌ | ❌ | ❌ |
One-time diagnostic (no subscription) | ✅ | ❌ | ❌ | ❌ | ❌ |
MCP server on Anthropic registry | ✅ | ✅ | ✅ | ❌ | ✅ |
Three workflows to try now
1. Competitive intelligence
"Audit stripe.com for payment processing queries. Which fintech brands are being recommended instead of Stripe by ChatGPT and Perplexity?"
2. Own brand monitoring
"Run a citation health check on [your-domain.com] and give me the monthly revenue leakage estimate plus the top 3 fixes."
3. Agency research
"Audit these 5 domains: [list]. Rank them by Retrieval Marketing Score. Which has the biggest citation gap versus its competitors?"
Run a complete AEO audit and fix plan in 30 minutes
With AgentAEO MCP inside Claude Desktop or Claude Cowork, what used to take 30 days of manual AEO work runs in 30 minutes:
Ask Claude:
"Run a complete AEO audit on [domain.com]. Test buyer queries across all 4 engines, identify citation gaps, generate the 30-day fix blueprint, create the JSON-LD schema files, write the llms.txt, and give me a board-level summary of revenue at risk."
Output in one session:
Citation grade per engine per query
Revenue leakage estimate
Prioritised 30-day fix plan
Copy-paste JSON-LD (FAQPage, HowTo, Organization)
llms.txt file ready to publish
Executive summary for stakeholders
Built on the Retrieval Marketing Framework™
The only AEO platform with a working MCP server on the official Anthropic registry. AAA rated on Glama.
→ agentaeo.com
→ retrieval.marketing
→ @agentaeo/mcp-server on npm
Available Tools
5 toolscheck_aeo_audit_statusA
Check status of an AEO audit. Poll until free_preview_ready (free) or is_complete at full report (paid). If paid_pipeline_pending is true, keep polling.
| Name | Required | Description | Default |
|---|---|---|---|
| auditId | Yes | The audit ID returned from run_aeo_audit |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes the tool's polling behavior, including conditions for free vs. paid audits and handling of pending states. However, it doesn't mention error handling, timeout limits, or authentication requirements, leaving some behavioral aspects unspecified.
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?
The description is extremely concise and front-loaded, consisting of just two sentences that efficiently convey the tool's purpose and critical usage guidelines. Every word earns its place, with no redundant information or unnecessary elaboration.
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 the tool's polling complexity and lack of annotations/output schema, the description does well by explaining the polling logic and conditions. However, it doesn't describe what the status response looks like or potential error states, which would be helpful for an agent to interpret results. The completeness is good but not perfect for a polling tool.
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 schema description coverage is 100%, with the single parameter 'auditId' well-documented in the schema as 'The audit ID returned from run_aeo_audit'. The description doesn't add any additional parameter semantics beyond what the schema provides, so it meets the baseline of 3 for high schema coverage.
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 verb 'check' and resource 'status of an AEO audit', making the purpose specific. It distinguishes from siblings by focusing on audit status rather than content suite operations (like generate_aeo_content_suite) or running audits (run_aeo_audit).
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 provides usage guidance: 'Poll until free_preview_ready (free) or is_complete at full report (paid). If paid_pipeline_pending is true, keep polling.' This tells the agent when to use this tool (for polling audit status) and provides specific conditions for continuing polling, which is crucial for understanding its role versus alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_aeo_content_suite_statusA
Poll Content Suite generation. After generate_aeo_content_suite returns (HTTP 202), call every 15–30s until status is completed or failed. Same X-API-Key as generate.
| Name | Required | Description | Default |
|---|---|---|---|
| orderId | Yes | orderid returned from generate_aeo_content_suite |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses key behavioral traits: polling nature, timing interval (15-30s), continuation until terminal states (completed/failed), and authentication requirement (same X-API-Key as generate). However, it doesn't mention rate limits, error handling, or what 'completed' or 'failed' entail. Good but not exhaustive.
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, zero waste. First sentence states purpose and polling cadence. Second sentence adds auth detail. Front-loaded with essential info (polling, timing, termination). Every sentence earns its place by providing critical usage context.
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?
No output schema, so description should ideally cover return values, but it doesn't. However, given the tool's simplicity (1 param, no annotations), the description is largely complete: purpose, usage, auth, and parameter context are clear. Minor gap in not explaining status outcomes (what 'completed' or 'failed' mean), but overall sufficient for agent use.
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 description coverage is 100% (orderId documented), so baseline is 3. The description adds value by explaining orderId's origin ('returned from generate_aeo_content_suite'), providing context beyond schema. It doesn't detail format or constraints, but the linkage to generate is helpful. Scores above baseline for meaningful addition.
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: 'Poll Content Suite generation' - a specific verb (poll) and resource (Content Suite generation). It distinguishes from siblings by referencing generate_aeo_content_suite and contrasting with download_aeo_content_suite_zip (polling vs. downloading). The description goes beyond the name/title to explain what polling entails.
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?
Explicit guidance on when to use: 'After generate_aeo_content_suite returns (HTTP 202), call every 15–30s until status is completed or failed.' Clear timing, prerequisites, and termination conditions. It distinguishes from check_aeo_audit_status by focusing on Content Suite rather than audit, and from download_aeo_content_suite_zip by specifying polling precedes downloading.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
download_aeo_content_suite_zipA
Download the Content Suite ZIP after status is completed (same AGENTAEO_API_KEY as generate). Saves to cwd or AGENTAEO_MCP_DOWNLOAD_DIR.
| Name | Required | Description | Default |
|---|---|---|---|
| orderId | Yes | orderid UUID from generate_aeo_content_suite / check_aeo_content_suite_status | |
| outputFileName | No | Optional filename, e.g. content-stripe.zip (default: content-suite-<first8ofuuid>.zip) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that the tool saves files to specific directories (cwd or AGENTAEO_MCP_DOWNLOAD_DIR) and requires the same API key as 'generate', which adds useful context. However, it doesn't mention potential errors, file size limits, or authentication requirements beyond the API key reference.
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?
The description is appropriately concise with two sentences that each serve a clear purpose: first stating the action and prerequisites, second describing the output behavior. It could be slightly more structured but wastes no words.
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 download tool with no annotations and no output schema, the description provides adequate but minimal context. It covers the prerequisite state and output location, but doesn't explain what happens on failure, file format details, or return values. Given the tool's relative simplicity, this is minimally 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 description coverage is 100%, so the schema already fully documents both parameters. The description doesn't add any meaningful parameter semantics beyond what's in the schema descriptions, so it meets the baseline of 3.
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 action ('Download') and resource ('Content Suite ZIP'), and distinguishes it from siblings by referencing the 'generate' tool. However, it doesn't explicitly differentiate from 'check_aeo_content_suite_status' which is about status checking rather than downloading.
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 provides clear context for when to use this tool ('after status is **completed**') and references the prerequisite 'generate' tool. It doesn't explicitly state when NOT to use it or name alternatives, but the context is sufficiently clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_aeo_content_suiteA
Start Content Suite generation (HTML + JSON-LD + llms.txt) for a completed audit — async (returns in seconds with orderId). Poll check_aeo_content_suite_status every 15–30s until completed (often 5–25+ min). Uses AGENTAEO_API_KEY — no shell/curl. Admin QA without Cashfree: adminContentBypass=true + allowlisted key. Otherwise pass orderId after payment.
| Name | Required | Description | Default |
|---|---|---|---|
| auditId | Yes | Completed audit id (e.g. aud_xxx_timestamp) | |
| packageType | No | Content bundle type | full |
| orderId | No | UUID from aeo_content_orders after $499 payment. Required when adminContentBypass is false. | |
| adminContentBypass | No | If true: omit orderId; server creates aeo_content_orders (admin/allowlisted key + X-AgentAEO-Admin-Content). For internal QA only. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden and does well: it discloses the async behavior (returns in seconds with orderId), typical completion time (5-25+ min), polling interval (15-30s), authentication requirement (AGENTAEO_API_KEY), and admin bypass conditions. It doesn't mention error handling or rate limits, but covers key operational traits.
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?
The description is appropriately sized and front-loaded with the core purpose. Every sentence adds value: async behavior, polling instructions, authentication, and admin bypass details. It could be slightly more structured but avoids redundancy.
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 the complexity (async operation with polling) and no annotations/output schema, the description is mostly complete: it covers purpose, usage, behavior, and parameter context. It lacks details on error responses or output format, but provides enough for an agent to use the tool effectively with the schema.
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 description coverage is 100%, so the baseline is 3. The description adds some context: it clarifies that orderId comes from 'aeo_content_orders after $499 payment' and that adminContentBypass requires 'allowlisted key + X-AgentAEO-Admin-Content', but doesn't provide additional meaning beyond what's in the schema for auditId or packageType.
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: 'Start Content Suite generation (HTML + JSON-LD + llms.txt) for a completed audit.' It specifies the exact output format and the required input condition (completed audit), and distinguishes it from siblings by mentioning the async nature and the need to poll check_aeo_content_suite_status.
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 provides explicit guidance on when to use this tool vs alternatives: it mentions using adminContentBypass for admin QA without Cashfree, otherwise requiring orderId after payment. It also specifies the polling mechanism with check_aeo_content_suite_status and distinguishes from run_aeo_audit by focusing on content generation post-audit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_aeo_auditA
Start an AEO audit for a URL (async). Returns auditId immediately. Then call check_aeo_audit_status every 10–15s until is_complete or free_preview_ready (free tier stops at step 2).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The website URL to audit (e.g. https://example.com) | |
| keyword | No | Primary industry keyword; defaults from domain if omitted | |
| tier | No | Audit tier: free (8 queries) or paid (40 queries) | free |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes key traits: the operation is asynchronous ('async'), returns an auditId immediately, and has tier-based limitations (free tier stops at step 2). It also implies rate limits or polling intervals ('every 10–15s'). However, it doesn't detail error handling, timeouts, or authentication needs, leaving some gaps.
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?
The description is highly concise and well-structured: two sentences that front-load the core action and immediately follow with essential usage instructions. Every sentence earns its place by providing critical operational details without redundancy or fluff.
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 the tool's complexity (async operation with polling) and lack of annotations or output schema, the description is largely complete. It covers the async nature, return value (auditId), polling requirements, and tier limitations. However, it doesn't explain what 'step 2' entails or potential errors, leaving minor gaps for an agent to handle edge cases.
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 description coverage is 100%, so the schema already documents all parameters (url, keyword, tier) with descriptions and defaults. The description adds no additional parameter semantics beyond what's in the schema, such as explaining keyword selection impact or tier implications in more depth. Thus, it meets the baseline but doesn't enhance understanding.
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: 'Start an AEO audit for a URL (async).' It specifies the action ('Start'), resource ('AEO audit'), and scope ('for a URL'), distinguishing it from sibling tools like check_aeo_audit_status or generate_aeo_content_suite by focusing on initiating an audit rather than checking status or generating content.
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 provides explicit usage guidance: it instructs to 'call check_aeo_audit_status every 10–15s until is_complete or free_preview_ready' and notes that 'free tier stops at step 2.' This gives clear when-to-use context (start audit, then poll) and distinguishes from alternatives by implying this is the entry point for audits, with check_aeo_audit_status as the follow-up.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
5 tool updates
v0.1.7- First observed
check_aeo_audit_status - First observed
check_aeo_content_suite_status - First observed
download_aeo_content_suite_zip - First observed
generate_aeo_content_suite - First observed
run_aeo_audit
TDQS
Each tool has a distinct, non-overlapping purpose: run_aeo_audit initiates an audit, check_aeo_audit_status monitors it, generate_aeo_content_suite starts content generation, check_aeo_content_suite_status monitors that, and download_aeo_content_suite_zip retrieves the result. The descriptions clearly differentiate these workflows, leaving no ambiguity for an agent to misselect tools.
All tool names follow a consistent snake_case pattern with clear verb_noun structure (e.g., run_aeo_audit, check_aeo_audit_status, generate_aeo_content_suite). The naming is predictable and uniform across all five tools, making them easily readable and systematic.
With 5 tools, this server is well-scoped for managing AEO audits and content suites. Each tool serves a specific role in the workflow, from initiation to monitoring to download, and none appear redundant or unnecessary, fitting the domain appropriately without being too sparse or bloated.
The tool set provides complete coverage for the AEO audit and content suite lifecycle: it includes tools to start audits (run_aeo_audit), monitor their status (check_aeo_audit_status), generate content (generate_aeo_content_suite), monitor that generation (check_aeo_content_suite_status), and download results (download_aeo_content_suite_zip). There are no obvious gaps, enabling agents to handle the entire process from start to finish.
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
Audit your brand's visibility across ChatGPT, Gemini, Claude, Perplexity + 6 more engines.
Track your brand's visibility in AI search across Claude, ChatGPT, Perplexity, and Gemini.
Query your brand's AI visibility across ChatGPT, Claude, Perplexity, and Gemini.
AI-visibility monitoring for your brand across ChatGPT, Claude, Perplexity & Gemini.
Related MCP Servers
- AlicenseBqualityFmaintenanceGEO (Generative Engine Optimisation). This tool shows you exactly how AI search engines see your content - claim density, writing quality, E-E-A-T signals, extractability. Research-backed metrics that correlate with 40% higher AI citation rates.28221MIT
- AlicenseAqualityCmaintenanceEnables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.16291MIT
- AlicenseAqualityCmaintenanceTrack brand visibility across ChatGPT, Perplexity, Claude, and Gemini.6419MIT
- AlicenseNot gradedqualityDmaintenanceAI search intelligence + Ahrefs-class SEO suite as 59 MCP tools. Track your brand across ChatGPT, Google AI Overview, Gemini, Claude, and Perplexity with persona-anchored Brand Radar dispatches.MIT
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/agentaeo/agentaeo-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server