SEO·AEO·GEO
Server Details
Audit a page for Google and AI search (ChatGPT, Claude, Perplexity); get a fix pack to apply.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- aispiringcoder4302/seo-aeo-geo-mcp
- GitHub Stars
- 0
- Server Listing
- SEO·AEO·GEO MCP server
TDQS
Scored across 2 tools
audit_url performs a new audit while get_report retrieves a previously generated report by ID. Their purposes are clearly distinct and there is no overlap in function.
Both tools follow a consistent verb_noun snake_case pattern: audit_url and get_report. The naming is predictable and readable.
With only two tools, the surface is borderline thin even for a narrow auditing purpose. The second tool is largely a retrieval companion to the first, so the set feels minimal rather than well-scoped.
The core workflow of auditing a URL and retrieving its report is covered. Minor gaps exist, such as listing past reports or accessing reports older than 24 hours, but agents can work around these limitations.
Available Tools
2 toolsaudit_urlAudit a page for Google and AI searchARead-onlyInspect
Audit one public web page for visibility in Google, AI Overviews, ChatGPT, Claude and Perplexity. Fetches the page as the AI search crawlers (OAI-SearchBot, Claude-SearchBot, PerplexityBot) to catch robots.txt, CDN and firewall blocks, checks how much content exists without JavaScript, and scores extractability and trust signals. Returns the score, every check's result and a fix pack: the fixes in priority order with where each lives in a codebase and a command to verify it. Takes 10–30 seconds.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The page to audit, e.g. https://example.com/pricing |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnlyHint/openWorldHint annotations: it discloses the crawl identity used (OAI-SearchBot, Claude-SearchBot, PerplexityBot), what it detects (robots.txt, CDN and firewall blocks, no-JS content), how scoring works, expected runtime, and the shape of the returned fix pack. That is exactly the methodology/runtime disclosure an agent needs to decide whether to spend the latency.
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?
Dense but front-loaded: purpose, then mechanism, then return value, then runtime. Every clause carries information (crawler names, block types, fix pack contents) rather than filler.
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, so the description compensates by enumerating the return (score, each check's result, prioritized fix pack with codebase location and verification command). Combined with annotations covering the read-only/open-world profile and a single fully documented parameter, nothing material is missing.
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% for the single url parameter and the schema already supplies an example, so the baseline is 3. The description contributes a minor scope constraint ('one public web page'), implying private/authenticated URLs are out of scope, but no additional syntax or format detail.
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 (audit) and resource (one public web page) plus the exact target surfaces: Google, AI Overviews, ChatGPT, Claude and Perplexity. It is unambiguous what the tool does, but it never names or contrasts with the sibling get_report, so sibling differentiation is left to inference.
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?
Usage is implied by 'Audit one public web page for visibility' and the cost hint 'Takes 10–30 seconds,' which tells an agent this is a heavyweight single-page call. However, there is no explicit when-to-use/when-not framing and no mention of get_report as the alternative for retrieving existing results.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_reportGet an earlier auditARead-onlyInspect
Return the summary and fix pack of an audit run in the last 24 hours, by its report id.
| Name | Required | Description | Default |
|---|---|---|---|
| report_id | Yes | The id returned by audit_url |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so safety is covered. The description adds a meaningful operational constraint not in structured data: only audits from the last 24 hours are retrievable, which tells the agent when the call will fail. It also names the returned artifacts (summary and fix pack).
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?
A single front-loaded sentence that states the action, the returned content, the retrieval window, and the keying parameter with no wasted 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 one-parameter read tool with no output schema, the description covers the essentials: what is returned (summary and fix pack) and the 24-hour retention limit. It is nearly complete, missing only explicit routing to the audit_url sibling.
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?
Only one parameter with 100% schema coverage; the schema already documents report_id and its origin from audit_url. The description restates 'by its report id' without adding format or validation detail, so the 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 and resource ('Return the summary and fix pack of an audit run'), which is concrete and distinguishable from the sibling audit_url that produces the id. The scope qualifier ('in the last 24 hours') further narrows it, though it doesn't explicitly name audit_url as the counterpart tool.
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?
Usage is implied: retrieve an audit run's results by id, where the id comes from audit_url. However, there is no explicit when-to-use/when-not statement, and the relationship to the sibling is left to the schema's parameter note rather than stated in the description.
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
audit_url - First observed
get_report
Related MCP Connectors
Audit a page for search and AI answer engines; generate robots.txt, sitemap, head, llms.txt.
- seegeoOAuthcom.see-geo
Audit any website for AI visibility: graded report, findings with fixes, AI crawler access check.
Finds why Google and AI cannot read your site, gives the exact fix, applies it once you approve.
Audits AI-crawler access, structured data and llms.txt on a site, and drafts the fixes.
Related MCP Servers
- AlicenseAqualityCmaintenanceAudit a site for AI readiness: AI-crawler access, schema, FAQ and content structure. Generates the fixes.611 npmMIT
- AlicenseAqualityAmaintenanceCheck whether a website is visible to AI search engines (ChatGPT, Perplexity, Claude, Google AI Overviews). Returns a 0-100 readiness score, a grade, and a specific fix for each gap. Dependency-free, no API keys.21 npmMIT
- FlicenseNot gradedqualityDmaintenanceAudits any website for SEO issues, providing scored health checks, schema validation, and performance analysis through AI assistants.-

agentbuiltofficial
AlicenseNot gradedqualityCmaintenanceEnables AI agents to run a free AI-readiness audit of any URL, checking AI crawler rules, JavaScript-free page text, JSON-LD, llms.txt, sitemap, meta description, FAQ schema, and returning a score with findings and fixes. Also exposes the same capability via an A2A agent endpoint.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.