Best AI Search Agency AEO Report
Server Details
Free AEO visibility report MCP — run AI search audits for any domain.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-03-26
- URL
- ChatGPT
- –
- Claude
- aeoengine.ai
TDQS
Scored across 2 tools
The two tools have clearly distinct roles: run_aeo_report initiates a report job, while get_aeo_report_status polls an existing job. There is no overlapping purpose or risk of misselection.
Both names follow a consistent verb_noun pattern (run_aeo_report, get_aeo_report_status) and share the same domain prefix. The naming is predictable and easy to map to actions.
Two tools are slightly thin by typical MCP standards, but they perfectly match the asynchronous submit-and-poll workflow. Each tool earns its place, with no unnecessary surface area.
The surface covers the full lifecycle for an asynchronous report job: starting a report and polling until terminal status, with structured results and markdown summary returned. No obvious missing operation for the stated purpose.
Available Tools
2 toolsget_aeo_report_statusARead-onlyInspect
Poll a previously submitted AEO report job once. status is queued, preparing, needs_review or running (keep polling) or complete, partial or failed (terminal); state carries the phase and reason. When complete or partial, returns the structured report (per-engine breakdown with provenance, recommendations, coverage, methodology, the measured questions, competitor evidence, named share of voice), the shareable report_url, and a markdown_summary to read to the user.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | job_id from run_aeo_report |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint and openWorldHint; the description adds the real behavioral payload: the full status enum split into in-progress vs terminal, and what each terminal branch returns. Missing only operational details like rate limits or poll cadence.
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?
Front-loaded with the action, then statuses, then return shape — a logical order with no filler. The return-value sentence is long and dashes-heavy but every clause carries information.
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 exists, and the description compensates by naming the report structure, report_url, and markdown_summary so the agent knows what it receives. A single-param poll tool has few remaining gaps beyond poll timing.
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% and the schema already says job_id comes from run_aeo_report; the description adds no new parameter detail beyond reiterating the job identity implicitly. Baseline 3 applies.
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?
States a specific verb+resource+scope: 'Poll a previously submitted AEO report job once'. This clearly distinguishes it from the sibling run_aeo_report (which submits the job) without requiring the schema to be opened.
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?
'Poll ... once' plus the status taxonomy tells the agent exactly when to call again ('keep polling') versus stop ('terminal'). It doesn't name an alternative or state a polling interval/backoff, which keeps it from a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_aeo_reportAInspect
Run the free AI-visibility report for a website (ChatGPT, Perplexity, Gemini, Claude coverage, competitor gaps, prioritized fixes). Requires the user's real email — the finished report is emailed there and a shareable report URL is returned. Takes up to ~10 minutes; set wait_seconds up to 50 to wait inline, or poll later with get_aeo_report_status. Never fill the company field.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | The user's real work email (MX-validated; disposable domains rejected). The report is emailed here. | ||
| fresh | No | Force a fresh run instead of a cached report. | |
| domain | Yes | Registrable domain or full URL to audit, e.g. example.com | |
| market | No | Optional market the report is measured in, as a city and region, e.g. 'Austin, TX'. Same as context.location. | |
| context | No | Optional context that scopes the report. A string is the vertical hint. A value that cannot be used is rejected with invalid_context and a reason, never silently dropped: 422 on the public path, 400 with an agency key (including a blank string or a hint over 256 characters). | |
| competitor | No | Optional pinned competitor domain to compare. | |
| competitors | No | Optional competitor domains to compare (max 5). The public report pins exactly one; send more only with an agency key. | |
| wait_seconds | No | Seconds to wait inline for completion (0-50). Default 0: returns the job to poll. | |
| report_profile | No | Report profile / engine cohort. | |
| customQuestions | No | Optional 5–20 exact questions, in order, replacing generated questions. Text and order are preserved verbatim; supplied questions are already approved. Omit, null, a blank string or [] to generate questions as before. | |
| idempotency_key | No | 16-128 printable chars. Required for a trusted (agency-key) create so retries map to one job. May be sent as the Idempotency-Key HTTP header instead. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (non-readonly, open-world, non-destructive), and the description adds meaningful operational context: the run can take ~10 minutes, the report is delivered by email, and a shareable report URL is returned. It does not mention the idempotency-key requirement for agency-path retries, which is a notable omission for a job-creating call.
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 tight, front-loaded sentences that lead with what the report is and then the operational constraints. The trailing 'Never fill the company field' is slightly confusing since no company parameter exists in this schema, costing a bit of signal.
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 an 11-parameter job-creating tool with no output schema, the description covers the key unknowns: latency, delivery mechanism, the returned URL, and the polling alternative. It leaves the agency-key/idempotency behavior and the exact job-payload response shape to be inferred.
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 every parameter is already documented in the schema; the description mostly restates the email requirement and the wait_seconds tradeoff without adding format or constraint detail beyond it.
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?
States a concrete verb+resource ('Run the free AI-visibility report for a website') and enumerates what the report covers (ChatGPT, Perplexity, Gemini, Claude, competitor gaps, fixes), which lets an agent tell it apart from get_aeo_report_status immediately.
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 gives the two execution paths: set wait_seconds up to 50 to wait inline, or poll later with get_aeo_report_status. It also states the prerequisite (a real email is required) and an exclusion ('Never fill the company field'), so the when/how decision is fully specified.
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.
2 tool updates
- First observed
get_aeo_report_status - First observed
run_aeo_report
Related MCP Connectors
Free AI-visibility and competitive Exposure Audit for any domain. No account, no API key.
Free MCP tools for AI-search visibility: crawler checks, page audits, and llms.txt generation.
Open-source AI SEO over MCP: audits, ranks, keywords, backlinks + AI visibility (GEO).
Free AI visibility and GEO audit: see what AI reads on your site and whether its answers cite you.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to perform live Google SERP searches, run on-page and full-site SEO audits with prioritized fixes, and check brand visibility in AI answer engines via four MCP tools.MIT
- AlicenseAqualityDmaintenanceEnables users to scan any website for AI search visibility, producing AEO, GEO, agent readiness, and mention-readiness scores along with AI identity and business profile insights. Paid tools extend this to competitive comparisons, detailed audits, and generated fixes.41MIT
- AlicenseAqualityDmaintenanceAudit your brand's visibility across ChatGPT, Perplexity, Claude, and Google AI - get citation rates, AEO health scores, content gap analysis, and a 9-page content suite to rank in AI-generated answers.5130 npmMIT
- AlicenseAqualityDmaintenanceProvides four free tools to assess AI visibility: crawler access, entity recognition, off-page gaps, and shopping agent compatibility, without requiring an API key.463 npm1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.