geoaeo
| Install | |
|---|---|
npm install geoaeo |
|
| Latest Version: | 0.8.5 |
| Vue: | 3 |
| License: | MIT |
| Last Updated: | Oct 26, 2026 |
| Links: | GitHub · npm |
geoaeo
geoaeo makes any app discoverable, quotable, and usable by AI answer engines and search —
SEO, GEO, and AEO in one tool. It audits a site, scores it 0–100, and generates the files
answer engines need. It ships a library, a CLI, and an MCP server, all at one version.
Install
npm install geoaeo
The package name is unscoped: geoaeo, geoaeo (CLI), and geoaeo-mcp (MCP server).
Create geoaeo.config.ts from geoaeo.config.example.ts.
The config holds the site facts used by every generator.
Quick start
Audit a live site:
npx geoaeo audit https://example.com
npx geoaeo audit https://example.com --json
Audit a local build or source directory:
npx geoaeo audit ./apps/website
Scaffold a Next.js App Router site:
npx geoaeo init ./apps/website
npx geoaeo init ./apps/website --force
The command detects the framework — Next.js, Astro, SvelteKit, Nuxt, or Remix — and writes
the routes that emit each artifact. Other directories receive static files. Existing files
stay unchanged unless you pass --force.
Generate artifacts
npx geoaeo gen llms
npx geoaeo gen llms-full --output public/llms-full.txt
npx geoaeo gen ai-txt --output public/ai.txt
npx geoaeo gen jsonld --type faq
npx geoaeo gen webmcp
npx geoaeo gen sitemap --output public/sitemap.xml
npx geoaeo gen robots
npx geoaeo gen ogimage --output public/og.svg
npx geoaeo gen rss --output public/feed.xml
npx geoaeo gen hreflang
npx geoaeo gen mdmirror
The generators use the same config as the generated framework routes.
The JSON-LD generator supports software, product, faq, breadcrumb, organization,
website, article, howto, person, and review kinds.
Gate a build on the score
Use --ci in a pipeline to fail when a site drops below a minimum score:
npx geoaeo audit https://example.com --ci --min-score 85
The command exits non-zero when the score is below the threshold.
Humanize copy
Run a report for Markdown and JSX files:
npx geoaeo humanize 'content/**/*.md' --check
Rewrite prose in place:
npx geoaeo humanize 'src/**/*.tsx' --write
The humanizer keeps YAML frontmatter, code fences, JSX tags, imports, class names, and expressions. It checks for em dashes, AI vocabulary, filler, hype, fake-depth tails, and title-case headings.
MCP setup
Use the stdio server in an MCP client such as Claude Code or Cursor:
{
"mcpServers": {
"geoaeo": {
"command": "npx",
"args": ["-y", "geoaeo", "mcp"]
}
}
}
The server exposes audit, gen, and humanize tools.
Set GEOAEO_ALLOWED_ROOTS when you start the CLI or the MCP server.
Separate directories with your platform path delimiter (: on macOS and Linux, ; on Windows).
audit, gen, and humanize then accept a local directory only when it resolves inside one of those directories.
For the CLI, that directory is the audit target, or the working directory of gen and humanize.
audit still accepts an absolute http or https URL.
When the variable is unset or empty, local paths stay unbounded.
A path outside the list returns an error that names the path you passed.
You can also run it through the CLI:
npx geoaeo mcp
Commands
| Command | Purpose |
|---|---|
audit <url-or-dir> |
Score the site and list missing artifacts. |
init [dir] |
Add Next.js routes or static artifacts. |
gen <artifact> |
Print one generated artifact or write it to a file. |
humanize <glob> |
Check or rewrite prose files. |
mcp |
Run the MCP server over stdio. |
Development
npm test
npm run typecheck
npm run build
Related Packages
Deterministic technical-SEO audit from your terminal. Crawls a site, measures re...
SEO and GEO audit tool for developers. Audits Next.js, Astro, SvelteKit, Nuxt, a...
CLI for Mentionwell — browser login, full API access (sites, posts, headlines, j...
Nuxt 4 SEO module: sitemap.xml, robots.txt, typed JSON-LD and a live SEO panel i...
Build-time llms.txt, llms-full.txt, A2A Agent Cards, JSON-LD, markdown mirrors,...
Version History
| Version | Released | License |
|---|---|---|
| 0.8.5 | MIT | |
| 0.8.4 | MIT | |
| 0.8.3 | MIT | |
| 0.8.2 | MIT | |
| 0.8.1 | MIT | |
| 0.8.0 | MIT | |
| 0.7.0 | MIT | |
| 0.6.0 | MIT | |
| 0.5.0 | MIT | |
| 0.4.0 | MIT | |
| 0.3.1 | MIT | |
| 0.3.0 | MIT | |
| 0.2.2 | MIT | |
| 0.2.1 | MIT | |
| 0.2.0 | MIT |
Pre-releases (97)
| Version | Released | License |
|---|---|---|
| 0.8.5-next.165 | MIT | |
| 0.8.4-next.163 | MIT | |
| 0.8.3-next.162 | MIT | |
| 0.8.3-next.160 | MIT | |
| 0.8.2-next.158 | MIT | |
| 0.8.1-next.157 | MIT | |
| 0.8.1-next.155 | MIT | |
| 0.8.0-next.154 | MIT | |
| 0.8.0-next.152 | MIT | |
| 0.7.0-next.151 | MIT | |
| 0.7.0-next.150 | MIT | |
| 0.7.0-next.149 | MIT | |
| 0.7.0-next.148 | MIT | |
| 0.7.0-next.147 | MIT | |
| 0.7.0-next.146 | MIT | |
| 0.7.0-next.144 | MIT | |
| 0.6.0-next.143 | MIT | |
| 0.6.0-next.142 | MIT | |
| 0.6.0-next.140 | MIT | |
| 0.6.0-next.141 | MIT | |
| 0.6.0-next.139 | MIT | |
| 0.6.0-next.138 | MIT | |
| 0.6.0-next.137 | MIT | |
| 0.6.0-next.136 | MIT | |
| 0.6.0-next.135 | MIT | |
| 0.6.0-next.134 | MIT | |
| 0.6.0-next.132 | MIT | |
| 0.5.0-next.131 | MIT | |
| 0.5.0-next.130 | MIT | |
| 0.5.0-next.129 | MIT |
Showing the latest 30 of 97. See every release on npm