aeo-toolkit
Open-source suite of ten AEO / technical-SEO / AI-visibility tools — a TypeScript monorepo (crawl→parse→score engine + MCP servers + content agents).
Install / Use
claude mcp add Advance-Labs -- npx -y github:Advance-Labs/aeo-toolkitIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
AI & Machine LearningSupported Platforms
Tags
Our assessment of aeo-toolkit
aeo-toolkit scores 83/100 on our quality scale, 664th of 946 AI & Machine Learning skills we index.
Its MCP Server is 14 KB long, well organised into 14 sections with 7 code examples: a thorough specification that gives an agent plenty to work with.
It has 3 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated today, so aeo-toolkit is actively maintained.
- It is released under the Apache-2.0 license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 92/100, with 1 caution from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
aeo-toolkit compared with similar skills
All 4 of these similar skills score higher than aeo-toolkit; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| aeo-toolkit (this skill)by Advance-Labs | 83 | 3 | today | MCP Server |
| claude-memby thedotmack | 100 | 108.5k | today | CLAUDE.md |
| Agent-Reachby Panniantong | 100 | 107.4k | today | CLAUDE.md |
| Understand-Anythingby Egonex-AI | 100 | 89.5k | 6d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 78.5k | today | CLAUDE.md |
Frequently asked questions
- How do I install aeo-toolkit?
- Run
claude mcp add Advance-Labs -- npx -y github:Advance-Labs/aeo-toolkit. The install tabs above show the steps for each supported agent. - Which AI agents does aeo-toolkit work with?
- It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
- Is aeo-toolkit safe to use?
- It is Apache-2.0-licensed and scores 92/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is aeo-toolkit still maintained?
- The repository was last updated today, so aeo-toolkit is actively maintained.
Skill content
View source on GitHubAEO Toolkit
The next big thing will be a lot of small things.
Open-source AI search optimization: 44 small checks that decide whether ChatGPT, Claude and Perplexity cite you.
<a href="https://advancelabs.dev/tools"><img src="docs/assets/banner.webp" alt="The AEO Toolkit homepage in pixel art: 'The next big thing will be a lot of small things' above a dithered figure pushing a faceted sphere up a slope" width="100%"></a>
</div>Open-source TypeScript packages for Answer Engine Optimization (AEO), Generative Engine Optimization (GEO), and AI citation visibility. Contributions welcome, see CONTRIBUTING.md.
Open core. This repo is the open-source half of the AEO Toolkit: the audit engine, crawler, parser, schema validator and the Chrome extension, all Apache-2.0 and published to npm. The hosted platform behind advancelabs.dev/tools and the three MCP servers (the console, OAuth, billing, the Google and Bing integrations) moved to a private repository on 2026-10-20. Code published here before that date stays Apache-2.0.
Try it without installing anything: the six browser tools run free in the browser at advancelabs.dev/tools, with no sign-up and no account. Point the auditor at a URL and it returns a weighted, per-rule report in about a minute. Want it done for you? Advance Labs runs a monthly AEO retainer.
The hosted side is six browser tools (technical audit, E-E-A-T scan, llms.txt generator,
GA4 + GSC chat, backlink graph, authority) and three MCP servers (ai-visibility, backlink,
search) exposing 32 tools to Claude or any MCP client. They are proprietary and run on
advancelabs.dev. This repo is the open core: the audit engine packages, the
Chrome extension and the skills. See
docs/reference/tools.md for the full map.
What it looks like
The hosted site is drawn in dithered pixel art: a figure pushing a faceted sphere up a slope under a dusk sky.
| | | |---|---| | <img src="docs/assets/step-audit.webp" alt="Step one, crawl and score: a pixel-art faceted sphere beside a dark audit panel"> | <img src="docs/assets/44-checks.webp" alt="The 44 small things: a category list beside a carousel of check cards, each with its fix"> | | Crawl and score. Up to 50 pages against every rule. | 44 small things. Pick a category and flip through the checks. The scoring engine is Apache-2.0. | | <img src="docs/assets/audit-tool.webp" alt="The LLM and Technical SEO Audit tool: a URL field and Run audit button on a dark panel"> | <img src="docs/assets/track.webp" alt="The Track page: the pixel figure pushing a dusk-coloured sphere beside the heading about who AI recommends"> | | The audit tool. Free, no sign-up. | Track. See who AI recommends. |
<img src="docs/assets/mcp.webp" alt="The MCP page: Connect the AEO Toolkit to your AI client" width="100%">What is AEO?
Answer Engine Optimization (AEO) is the practice of structuring your content so that AI assistants (ChatGPT, Perplexity, Claude, Gemini) cite your site when answering questions in your domain. Traditional SEO gets you ranked on the blue-link results page. AEO gets you quoted in the AI answer.
As AI-powered search becomes the default discovery layer, AEO is the new SEO.
The audit
The hosted technical audit runs 44 checks (31 technical SEO + 13 AEO) across crawlability, AI-bot access, structured data, metadata and answer readiness, scored out of 100, with a prioritised fix list and templates for any crawl-hint file you're missing. The E-E-A-T scan is a separate tool that scores 14 signals. The engine defines 58 in total (44 + 14), but the audit itself runs 44. Free, no account, and your data stays yours.
The Chrome extension
AEO/GEO Auditor puts the same engine on your toolbar. Open any page, click the icon, and get a 0 to 100 AI-readiness score with a letter grade and a list of what to fix. Export it as a PDF.
It runs auditRules from packages/scoring/src/audit.ts: 44 checks across 9 categories (31 technical-SEO + 13 AEO) from extension 0.3.0, built on scoring 0.3.x. The Chrome Web Store build before that (0.2.0) ran 40, so the listing changes when 0.3.0 is published. The 14 E-E-A-T signals are a separate scorer the extension does not run, 58 is the engine total (44 + 14), not what any one audit runs.
Everything happens in your browser. No account, no server, no analytics, no telemetry. The only network requests are to the audited site's own robots.txt, sitemap.xml, and llms.txt, which is what the host permission is for. Nothing is stored, because nothing is sent.
- Install: Chrome Web Store
- About: advancelabs.dev/tools/aeo-auditor
- Source:
apps/chrome-extension· publishing runbook
Build it yourself:
pnpm --filter @advance-labs/chrome-extension package
# → apps/chrome-extension/aeo-extension.zip, loadable via chrome://extensions (Developer mode → Load unpacked, on dist/)
Packages
| Package | Description |
|---------|-------------|
| @advance-labs/crawler | Multi-threaded web crawler with robots.txt compliance, sitemap parsing, and per-host rate limiting |
| @advance-labs/html-parser | Extracts meta tags, Open Graph, Twitter Cards, headings, images, links, and JSON-LD from HTML |
| @advance-labs/schema-validator | Validates Schema.org JSON-LD structured data against known types |
| @advance-labs/scoring | Scores pages on 44 technical SEO and AEO checks, plus a separate 14-signal E-E-A-T scorer, with per-rule explanations |
Plus @advance-labs/net-guard and @advance-labs/types. The one
application here is apps/chrome-extension; the hosted console is not open source.
Quick Start
Six packages are published to npm and usable on their own:
npm i @advance-labs/scoring # the 44-check audit engine
npm i @advance-labs/net-guard # SSRF-safe fetch: re-checks every redirect hop
npm i @advance-labs/crawler # polite crawler with robots.txt + rate limiting
npm i @advance-labs/html-parser
npm i @advance-labs/schema-validator
npm i @advance-labs/types # shared types, a dependency of the above
The hosted tools at advancelabs.dev/tools need no install at all.
git clone https://github.com/Advance-Labs/aeo-toolkit.git
cd aeo-toolkit
pnpm install
pnpm build # turbo builds every package
pnpm test # the full suite, no network
Read the full documentation at docs.advancelabs.dev/aeo-toolkit.
Once built, the packages compose like this:
import { crawl } from '@advance-labs/crawler'
import { parseHtml } from '@advance-labs/html-parser'
import { analyzeStructuredData } from '@advance-labs/schema-validator'
import { buildAuditReport } from '@advance-labs/scoring'
const result = await crawl('https://example.com/', { maxPages: 2 })
const html = result.pages.filter((p) => p.ok && p.body && p.contentType?.includes('html'))
const report = await buildAuditReport(
{
crawl: result,
pages: html.map((p) => parseHtml(p.body, p.finalUrl)),
structuredData: html.map((p) => analyzeStructuredData(p.body, p.finalUrl)),
mode: 'full-site',
},
{ durationMs: 0, version: '1.0.0' },
)
console.log(report.url, report.score.overall, report.score.grade)
console.log(report.topFixes.slice(0, 3).map((f) => f.title))
Connect the MCP servers
Listed in the official MCP Registry
as dev.advancelabs/aeo-search, dev.advancelabs/aeo-visibility and dev.advancelabs/aeo-backlink.
The three MCP servers are hosted, not installed. They are Streamable-HTTP endpoints, so there is
nothing to npm install and no local process to run. Point any MCP client at the URL.
Claude Code: one command per server:
claude mcp add --transport http --scope user aeo-visibility https://aeo.advancelabs.dev/api/mcp/ai-visibility/mcp
claude mcp add --transport http --scope user aeo-backlink https://aeo.advancelabs.dev/api/mcp/backlink/mcp
claude mcp add --transport http --scope user aeo-search https://aeo.advancelabs.dev/api/mcp/search/mcp
Drop --scope user to register them in the current project only. Check the result with
claude mcp list.
Claude.ai / Claude Desktop: Settings → Connectors → Add custom connector, then paste the URL.
Cursor (~/.cursor/mcp.json), Windsurf, or any client that takes a JSON block:
{
"mcpServers": {
"aeo-visibility": { "url": "https://aeo.advancelabs.dev/api/mcp/ai-visibility/mcp" },
"aeo-backlink": { "url": "https://aeo.advancelabs.dev/api/mcp/backlink/mcp" },
"aeo-search": { "url": "https://aeo.advancelabs.dev/api/mcp/search/mcp" }
}
}
| Server | Tools | Credentials |
|---|---|---|
| aeo-visibility | 5 | None to connect. Citation checks take a Perplexity key per request. |
| aeo-backlink | 7 | None. |
| aeo-search | 20 | Sign in with Google: the client opens a browser on first use (in Claude Code, /mcp → Authenticate). Or BYOK: a Google access token as Authorization: Bearer, plus an optional x-bing-api-key. |
Three things that trip people up:
- The trailing
/mcpis required. The bare/api/mcp/<slug>returns the adapter's own "Not found", which looks like a routing bug and is not. - Only
aeo-searchhas a login, and its discovery is path-scoped. It answers an anonymous request with a 401 pointing at/.well-known/oauth-protected-resource/api/mcp/search/mcp; its authorization server is/api/mcp/oauth. The ROOT/.well-known/oauth-*documents deliberately return 404, becauseaeo-visibilityandaeo-backlinkneed no login. - Every tool is read-only. None calls a write method on any upstream API.
/api/mcp/ga-gsc/mcp still works as a compatibility alias for aeo-search; new configs should use
/api/mcp/search/mcp.
Why AEO?
When a user asks ChatGPT "what is the best tool for X?", the answer comes from indexed content that AI models trust, not from ad-auction bidding. The trust signals for AI citation are:
- Structured data (JSON-LD
Organization,FAQPage,HowTo) - **`llms.txt
Truncated for display — read the full file on GitHub.
Related Skills
claude-mem
108.5kPersistent Context Across Sessions for Every Agent – Captures everything your agent does during sessions, compresses it with AI, and injects relevant context back into future sessions. Works with Claude Code, OpenClaw, Codex, Gemini, Hermes, Copilot, OpenCode + More
Agent-Reach
107.4kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
Understand-Anything
89.5kGraphs that teach > graphs that impress. Turn any code into an interactive knowledge graph you can explore, search, and ask questions about. Works with Claude Code, Codex, Cursor, Copilot, Gemini CLI, and more.
headroom
78.5kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
