MIT License · Free forever

causabi-geo

Open-source CLI and Python library for GEO optimization. Audit, fix, and monitor your AI search visibility — no account needed.

Install
pip install causabi-geo
geo-optimizer analyze https://yourdomain.com
~3 200
Lines of code
40+ tests
Test coverage
4 core
External dependencies
MIT
License

MCP Server: Run It Inside Your Editor

The same engine as an MCP server: Claude Code, OpenAI Codex CLI, Cursor, Windsurf, Claude Desktop. Runs locally over stdio, no account needed.

Claude Code
claude mcp add geo-optimizer -- npx -y geo-optimizer-mcp
OpenAI Codex CLI
codex mcp add geo-optimizer -- npx -y geo-optimizer-mcp

Then just ask: "check the GEO score for example.com". One-off checks and fix generation are free; schedules, score history and monitoring of four engines' answers live on causabi.com.

How It Works

Single command → crawl → score → generate fixes

1
Crawl
httpx fetches the page. JS-heavy sites fall back to Playwright via crawl4ai. Extracts: text, structured data, robots.txt, headers, links.
2
Score
Pure Python scoring across 6 dimensions. No LLM needed — deterministic, reproducible, runs in under a second.
3
Profile (optional)
With --api-key: one Gemini call extracts business name, description, FAQ questions, target queries, and product features.
4
Generate fixes
Creates robots.txt patch, schema.json, faq-schema.json, and llms.txt — all ready to deploy. Includes HOW-TO-APPLY.md.

Module Breakdown

6 focused modules, each under 200 lines

Scorer~180 lines
geo_optimizer/core/scorer.py

Computes AI readiness score 0–100 across 6 dimensions. Pure logic — no LLM needed, runs in <1s.

robots.txt (20pt)Schema.org (25pt)FAQ Schema (20pt)Content depth (15pt)Brand signals (10pt)Freshness (10pt)
Robots Auditor~80 lines
geo_optimizer/core/robots.py

Checks which of 10+ AI crawlers your robots.txt allows or blocks. Generates a patched version.

GPTBotClaudeBotPerplexityBotApplebot-ExtendedBytespiderGooglebot-Extendedcohere-aianthropic-ai
Schema Generator~120 lines
geo_optimizer/fix/schema.py

Generates Organization or SoftwareApplication JSON-LD from crawled page data.

OrganizationSoftwareApplicationWebSiteLocalBusinesssameAs linksNAP data
FAQ Generator~90 lines
geo_optimizer/fix/faq.py

Builds FAQPage JSON-LD. With --api-key uses Gemini to generate questions from your actual content.

FAQPage JSON-LDGemini AI questionsschema.org/QuestionacceptedAnswer8-12 Q&A pairs
llms.txt Generator~70 lines
geo_optimizer/fix/llms_txt.py

Creates a llms.txt file — the robots.txt for AI agents. Claude, GPT-4, and Perplexity read it.

llmstxt.org standardMarkdown formatKey pages linkedBusiness descriptionContact info
Citation Monitor~300 lines
backend/app/monitor/

Checks if your domain appears in ChatGPT, Gemini, Grok, and Claude responses.

ChatGPT (Responses API)Gemini grounding chunksGrok (xAI API)Claude (Messages API)

Scoring Methodology

Weights based on Princeton GEO research and citation rate studies across ChatGPT, Gemini, Grok, and Claude.

Schema.org25 pts

Organization / SoftwareApplication / WebSite with rich attributes.

robots.txt20 pts

Checks 10+ AI crawlers: GPTBot, ClaudeBot, PerplexityBot, Applebot-Extended, Bytespider, cohere-ai, and more.

FAQ Schema20 pts

FAQPage JSON-LD. Research shows +41% citation rate vs. no FAQ schema.

Content depth15 pts

Word count, heading structure, internal links. Thin pages (<300 words) score near zero.

Brand signals10 pts

sameAs links (LinkedIn, GitHub, Wikipedia), phone, address. Higher brand authority = more AI citations.

Freshness10 pts

dateModified or Last-Modified header. Pages older than 12 months score 0; under 3 months score full 10.

README Badge

Add your site's live GEO score to your README — updates automatically every hour.

markdown
![GEO Score](https://ai.causabi.com/badge/yoursite.com.svg)
Renders as:GEO Score94/100

GitHub Action

Automatic GEO audit in CI. Fails the build if your score drops below a threshold.

.github/workflows/geo.yml
- name: GEO audit
  uses: SHADRINMMM/causabi-geo-optimizer-actions@v1
  with:
    url: https://yoursite.com
    min-score: 60

Want the full audit?

The CLI scores one page. causabi.com deep-crawls your whole site, monitors citations across ChatGPT, Gemini, Grok, and Claude weekly, and generates fixes with AI.

SEO MCP Server and llms.txt CLI — Open Source, for Claude Code and Cursor