GEO SEO Records
Server Details
Gets a website ready for AI assistants: robots.txt fixed, llms.txt drafted, citable gaps listed.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 4 tools
The four tools split cleanly along diagnostic vs. remediation vs. commercial lines: check_ai_readiness audits, the two fix tools emit artifacts, and get_geo_offer sells. There is mild overlap because check_ai_readiness already inspects the 'door' (robots.txt) and 'map' (llms.txt) that open_robots_txt_to_ai and draft_llms_txt handle in depth, so an agent may wonder whether the audit alone suffices.
All names are snake_case with a leading verb (check_, draft_, get_, open_), which is a readable and mostly predictable pattern. The outlier is open_robots_txt_to_ai, whose 'open' verb describes a transformation rather than the read-and-correct action, making it the one name that doesn't parse as naturally as the others.
Four tools is a lean but reasonable scope for a narrow GEO-readiness domain, and three of them map to concrete agent actions. get_geo_offer is essentially a sales/pricing surface rather than a capability, which slightly dilutes an otherwise well-scoped set.
The audit covers six parts (door, map, answer, citable, publisher, structure), but remediation tooling exists for only two of them (robots.txt, llms.txt). There is no way to verify a fix landed or to re-score after publishing, so an agent can diagnose fully but can only partially act on the findings.
Available Tools
4 toolscheck_ai_readinessGEO check of a page for AI assistantsARead-onlyIdempotentInspect
Runs the GEO SEO Records engine on a public page and returns the gaps, weighted blocking / important / to decide, across six parts: the door (robots.txt rules for the robots that read for a person), the map (llms.txt present and verifiable), the answer (does the page answer under its title, declared questions), the citable (figures with a source or a date), the publisher identity, and the structure (blocks that stay true when quoted alone). Free. Docs: https://seorecords.com/assistants
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The page address, e.g. example.com or https://example.com/page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent and openWorld, so the safety profile is covered. The description adds genuinely useful context beyond that: cost ('Free'), a docs link, and the shape of the output (gaps weighted blocking/important/to decide across six named parts), which helps the agent interpret results.
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 leads with the action and the returned artifact, then enumerates dimensions. It is dense with product-specific labels ('the door', 'the map') which add length, but each clause earns its place by mapping to an audit area.
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?
There is no output schema, and the description compensates by describing the return value: prioritized gaps across six defined dimensions. Combined with the free/docs pointer, an agent has enough to call and interpret it, though no detail is given on error behavior for unreachable pages.
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% and the single url parameter is fully documented with an example format, so the schema carries the burden. The description adds no syntax or format detail beyond what the schema already provides, making the baseline 3 correct.
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: it runs the GEO SEO Records engine on a public page and returns prioritized gaps. It names the six audit dimensions, so an agent knows exactly what is analyzed. It does not name any sibling, so differentiation from draft_llms_txt or open_robots_txt_to_ai relies on 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?
Implicitly frames usage: it operates on a 'public page' and is 'Free', which tells the agent the prerequisite is a publicly reachable URL. There is no explicit statement of when to choose this over the sibling tools or when it should not be used.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
draft_llms_txtDraft the llms.txt of a websiteARead-onlyIdempotentInspect
Builds an llms.txt for a website from facts read on it — the site name and description from its home page, then pages from its sitemap with their titles and meta descriptions, grouped by section — and reviews the existing llms.txt if there is one (declared name, links, claims no machine can verify). The draft is ready to edit and publish at /llms.txt. Docs: https://seorecords.com/assistants
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The website address, e.g. example.com |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent and open-world, and the description adds substantive context beyond that: the exact data sources it fetches (home page, sitemap, existing llms.txt), what it critiques (declared name, links, unverifiable claims), and where the output belongs. It stops short of stating rate limits, fetch scope limits, or failure behavior when no sitemap exists.
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?
One dense, front-loaded sentence plus a short publishing note and docs link; the most important clause (what it builds and from what) comes first. It is slightly run-on with stacked em-dash and parenthetical asides, but no sentence is 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?
For a one-parameter, no-output-schema, read-only tool, the description covers input sources, review behavior, and the resulting artifact location well enough to call it correctly. Missing only edge-case behavior (sites without sitemaps, pre-existing conflicting llms.txt) and signal on how the draft is returned.
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 with a format example ('example.com'), so the schema already carries the semantics. The description never mentions the url argument or adds accepted-format nuance beyond it, leaving this at the baseline for a fully documented param.
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 (builds/drafts) and resource (llms.txt) and enumerates exactly what it draws on — home page name/description, sitemap pages with titles and meta descriptions. It is clearly distinct from siblings like check_ai_readiness or open_robots_txt_to_ai, which an agent can tell apart without reading schemas.
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 the artifact produced (a draft 'ready to edit and publish at /llms.txt'), but no when-to-use vs alternative guidance is given against the sibling tools. Nothing tells the agent whether to run this before or instead of check_ai_readiness.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_geo_offerGEO SEO Records: offer and payment linksBRead-onlyIdempotentInspect
Returns the GEO SEO Records module (WordPress, PrestaShop, network edge; from €490 for a year): what it applies (door, map, answer, publisher) and what it measures (assistant reads certified by IP range, demand read in the log, paying pages joined to revenue), with prices and secure Stripe payment links. Docs: https://seorecords.com/assistants
| Name | Required | Description | Default |
|---|---|---|---|
| language | No | Language of the product page (default en) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and openWorldHint=false, so the safety profile is covered. The description adds commercial context (pricing, Stripe payment links) but says nothing about response format, currency handling, or whether the offer is static. No contradiction with annotations.
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 sentence that is front-loaded with the verb and resource, which is good. However, a large portion is promotional jargon ('door, map, answer, publisher', 'assistant reads certified by IP range') that does little to help an agent decide to invoke the tool.
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?
The tool is simple (one optional param, no output schema), and the description does convey that the response includes module details, prices, and payment links. But with no output schema, the description could more precisely describe the returned structure rather than relying on marketing framing.
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% and the single 'language' parameter is fully documented in the schema with an enum. The description adds nothing about the language parameter, so the baseline 3 for high-coverage schemas 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 ('Returns the GEO SEO Records module') and clarifies the output ('with prices and secure Stripe payment links'). The topic is clearly distinct from siblings (readiness checks, llms.txt, robots.txt), though the description never names them explicitly and the marketing copy ('door, map, answer, publisher') muddies the core function.
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?
No guidance on when to call this versus the sibling tools. It gives no trigger condition, no exclusions, and no indication of when an agent should fetch the offer rather than run check_ai_readiness or draft_llms_txt.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
open_robots_txt_to_aiOpen robots.txt to AI assistantsARead-onlyIdempotentInspect
Reads the site's robots.txt and tells, robot by robot (GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, Claude-User, Claude-SearchBot, PerplexityBot, Perplexity-User, DuckAssistBot, Meta, Common Crawl, Google-Extended, Applebot-Extended), whether it may read the site, separating robots that read for a person (live) from robots that harvest for training. Returns the corrected robots.txt that lets the live readers in while keeping the site's existing rules, ready to paste. Docs: https://seorecords.com/assistants
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The website address, e.g. example.com |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly/openWorld/idempotent, so the bar is lower, and the description still adds real behavior: it discloses the analysis model (live readers vs training harvesters) and that the returned artifact preserves existing rules and is paste-ready. It omits any mention of fetch failures, rate limits, or what happens if robots.txt is missing.
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 core action and result, and every clause does work. The long enumeration of thirteen bot names is the one mildly costly element, though it usefully signals scope.
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 correctly takes on describing the return: per-robot verdicts plus a corrected, paste-ready robots.txt. Combined with annotations covering the read-only/network profile, an agent has what it needs, with only error and edge-case behavior left unaddressed.
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% and the single url parameter is fully documented in the schema, so the description is not required to carry parameter meaning. It adds no format or normalization details beyond the schema's example, so this is the baseline 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?
States a specific verb (reads robots.txt) plus two concrete outputs (per-robot verdicts split into live vs training, and a corrected robots.txt). The listed bot names and the live/training distinction make it clearly distinct from siblings like check_ai_readiness or draft_llms_txt.
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 the content (an agent wanting to open a site's robots.txt to AI readers), but the description never says when to prefer this over check_ai_readiness or draft_llms_txt, nor any prerequisites or exclusions. Minimum viable guidance only.
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.
4 tool updates
- First observed
check_ai_readiness - First observed
draft_llms_txt - First observed
get_geo_offer - First observed
open_robots_txt_to_ai
Related MCP Connectors
Generate 18 AI readiness files (llms.txt, ai.txt, RAG indexes, schema) for any website.
Audits AI-crawler access, structured data and llms.txt on a site, and drafts the fixes.
Checks llms.txt, AI crawler access in robots.txt, and sitemap - with a 0-100 AI readiness score.
Check website AI-readiness: Schema.org, llms.txt, E-E-A-T, robots.txt. Works in Cursor & Claude.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceGenerates a complete suite of AI readiness files (llms.txt, ai.txt, schema, RAG indexes) for any website to optimize representation in ChatGPT, Claude, Gemini, and Perplexity.2 npm3MIT
- AlicenseAqualityCmaintenanceAudit a site for AI readiness: AI-crawler access, schema, FAQ and content structure. Generates the fixes.611 npmMIT
- AlicenseAqualityCmaintenanceChecks a website's robots.txt and Cloudflare settings to identify AI crawler blocking. Also generates llms.txt content to improve visibility to AI answer engines.344 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables auditing any website for AI-answer readiness, returning a score and actionable fix list based on llms.txt, schema, sitemap, and related checks.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.