Run geoaeo as a Model Context Protocol server. The agent calls geoaeo without leaving the chat. One version feeds the library, the CLI, and the MCP server at parity.
geoaeo and geoaeo-mcpaudit, init, gen, humanize, mcp — no other commands existnpx geoaeo-mcp over stdioaudit, gen, humanize# one-off
npx geoaeo audit ./ --json
# or add to the project
npm install geoaeo
npx geoaeo --help
# verify the MCP binary
npx geoaeo-mcp --helpYou do not run geoaeo-mcp by hand when the harness manages it. The harness starts it over stdio.
stdio only. No SSE or HTTP transport exists. The server reads from stdin and writes to stdout. The harness spawns it with command: npx and args: ["-y", "geoaeo-mcp"].
| Tool | Input | Description |
|---|---|---|
| audit | target: string | Score a URL or local dir 0–100 and list gaps |
| gen | artifact, type? | Generate one artifact from geoaeo.config.ts |
| humanize | glob, write? | Find or fix AI-writing tells in prose files |
audit{ "target": "./" }
{ "target": "https://example.com" }Returns JSON: score, checks[], topFixes[], pages[]. Use topFixes to choose the next gen call.
gen{ "artifact": "llms" }
{ "artifact": "llms-full" }
{ "artifact": "sitemap" }
{ "artifact": "robots" }
{ "artifact": "webmcp" }
{ "artifact": "jsonld", "type": "software" }artifact enum: llms, llms-full, jsonld, webmcp, sitemap, robots. For jsonld, type may be software, product, faq, or breadcrumb. Reads geoaeo.config.ts in the current directory.
humanize{ "glob": "content/**/*.md", "write": false }
{ "glob": "src/**/*.tsx", "write": true }npx geoaeo mcp
# equivalent
npx geoaeo-mcpThe process waits on stdin. You only run this for manual testing. Harnesses spawn it for you.
Minimal MCP config. The harness starts the server for you:
{
"mcpServers": {
"geoaeo": {
"command": "npx",
"args": ["-y", "geoaeo-mcp"]
}
}
}The exact file path depends on the harness. See the harness guides:
.mcp.json.cursor/mcp.json~/.codex/config.toml~/.codeium/windsurf/mcp_config.json~/.gemini/settings.json.vscode/mcp.json~/.continue/config.yamlServer shows as disconnected. Run npx -y geoaeo-mcp in a terminal. It should wait on stdin. Press Ctrl+C. If npx fails, check Node 20+ and npm registry access.
Config not picked up. Validate JSON with cat .mcp.json | jq .. Restart the harness after any config change.
gen returns Cannot find config. Run npx geoaeo init ./ to scaffold geoaeo.config.ts.
npx geoaeo audit ./ --json and { "target": "./" } hit the same audit code. See the CLI reference for flags.