# GEO SEO Records

> Gets a website ready for AI assistants: robots.txt fixed, llms.txt drafted, citable gaps listed.

- name: com.seorecords/geo-seo-records
- version: 1.0.0
- connection class: R0 (autonomous)
- trust: 83/100 flags: no-repository
- quality: 87/100 (new)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.seorecords%2Fgeo-seo-records
- tools: https://api.protogrid.dev/v1/servers/com.seorecords%2Fgeo-seo-records/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "geo-seo-records": {
      "type": "http",
      "url": "https://api.seorecords.com/mcp/geo"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 100
- freshness: 100
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-100% +updated-4d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 87/100 (new)

### protocol: 88 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- warn `protocol.list_ttl`: tools/list declares ttlMs 0, so clients re-fetch it on every use

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 86 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 4 of 4 tools declare readOnlyHint or destructiveHint
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: open_robots_txt_to_ai (destructiveHint); draft_llms_txt (destructiveHint); get_geo_offer (destructiveHint); …
- pass `tools.token_cost`: about 787 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: n/a (weight 15)

- n/a `stability.changes`, `stability.rug_pull`: tool history recorded for 4 of the 7 days needed

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 4, about 787 tokens to load them all
- tool set hash: a066422c57ed4c71cbf2c36906a2fb0e
- badge: [![protogrid quality](https://protogrid.dev/badge/com.seorecords/geo-seo-records.svg)](https://protogrid.dev/servers/com.seorecords/geo-seo-records)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Remotes

- https://api.seorecords.com/mcp/geo (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (4)

- `check_ai_readiness`: 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
- `draft_llms_txt`: 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
- `get_geo_offer`: 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
- `open_robots_txt_to_ai`: 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
