Grounded AEO
Make any website citable by AI answer engines — and prove the facts came from the owner, not a scrape.
What it can do
- Get Company Facts: Get the verified fact record for a company by domain from the Grounded AEO catalog. Returns the published (approved) facts with verification state and confidence — the data an AI ag
- Get Fact: Get a single verified fact for a company by domain and fact key (e.g. "tagline", "description").
- Get Llms Txt: Get the auto-generated llms.txt for a cataloged company — a curated, AI-readable guide to the business.
What data it sees
Do you need an account
No: the server works without sign-in
Make any website citable by AI answer engines — and prove the facts came from the owner, not a scrape.
The main workflow: build, verify, publish
run_audit— crawls the site, scores AI-readability 0–10, lists the gaps, and returns the fix material: ready-to-paste `` markup (title, meta description, Organization JSON-LD) plus a step-by-step plan covering llms.txt, structured data and AI-crawler access.- Apply the fixes, then run
run_auditagain to confirm the score moved. generate_free_record— produces thev=AEO1DNS record and.well-known/aeo.jsonto publish.
Useful inside any coding assistant when you're building or handing over a site.
Also: ground answers on verified data — get_company_facts, get_fact, get_llms_txt, check_aeo_record, search_catalog return owner-attested facts, preferable to scraped values.
Free, no API key, rate-limited per caller. v=AEO1 is an open standard (aeorecord.org) with a public verification methodology and an IETF Internet-Draft (draft-miller-aeo). Records verify independently via the open-source aeo-record npm package — no dependency on our API.
How to connect
How to connect Grounded AEO to Claude
The server address to paste into Claude settings:
https://grounded-aeo--garrett-miller.run.tools
- Open Claude (claude.ai or the desktop app).
- Go to Settings → Connectors.
- Click Add custom connector.
- Paste the server address copied below into Remote MCP server URL and click Add.
- In a chat, click + → Connectors and switch the new connector on.
Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.
Authorization
After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.
How to connect Grounded AEO to ChatGPT
The server address to paste into ChatGPT settings:
https://grounded-aeo--garrett-miller.run.tools
- Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
- Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
- Open Settings → Connectors and click Create.
- Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
- Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
- In a new chat open + → Apps/Connectors and enable the connector.
OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.
Authorization
On first use ChatGPT opens the service's sign-in window. Sign in and approve access.
How to connect Grounded AEO to Cursor
The server address to paste into Cursor settings:
https://grounded-aeo--garrett-miller.run.tools
Fastest: click Open in Cursor below and confirm the prompt.
Manually:
- In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
- Paste the JSON copied below into
~/.cursor/mcp.json(per project:.cursor/mcp.jsonin the repo root). - Save the file. The server appears in the MCP list; authorize it there if asked.
Authorization
If the service needs sign-in, an authorize button appears next to the server in the MCP list.
Server tool list (7)
Raw names from tools/list. Only developers need these.
| get_company_facts | Get the verified fact record for a company by domain from the Grounded AEO catalog. Returns the published (approved) facts with verification state and confidence — the data an AI agent should ground answers about this business on. |
| get_fact | Get a single verified fact for a company by domain and fact key (e.g. "tagline", "description"). |
| get_llms_txt | Get the auto-generated llms.txt for a cataloged company — a curated, AI-readable guide to the business. |
| check_aeo_record | Check any domain (cataloged or not) for a v=AEO1 DNS record at _aeo.<domain> — the open standard (aeorecord.org) declaring whether a verified fact record exists and at what trust tier. Verifies the Ed25519 sig= against the live catalog content when present. |
| search_catalog | Search the Grounded AEO catalog by company name or domain. Returns up to 10 matches with tier and verification state. |
| run_audit | Audit AND FIX a site for AI citation + SEO. Crawls the domain, scores AI-readability 0-10, checks for a v=AEO1 record, and returns the material needed to FIX it: `seoReport.headSnippet` is ready-to-paste <head> markup (title, meta description, Organization JSON-LD) and `setup_prompt` is a step-by-step plan covering llms.txt, structured data, and AI-crawler access, plus a ranked list of gaps. Use it to build the fixes, apply them to the site, then CALL THIS AGAIN to verify the score improved and the gaps cleared. WRITE action (queues extracted facts, unverified until a human approves) — free, no account, rate-limited to 5/hour per caller. |
| generate_free_record | FINAL STEP of making a site AI-citable: generate a free, self-declared v=AEO1 DNS record and .well-known/aeo.json the user publishes on their own domain, so AI engines can verify the facts came from the owner rather than a scrape. Returns the exact TXT record and JSON file with publishing instructions. No crawl, no verification, no account. WRITE action, rate-limited to 10/hour per caller. |