MIT license · Free

causabi-geo

An open-source CLI and Python library that checks how AI crawlers read your site and writes the fix files. No account needed.

Install
pip install causabi-geo
geo-optimizer analyze https://yourdomain.com
MIT
License
3.11+
Python
4
Core dependencies

MCP server: run it inside your editor

The same engine as an MCP server for Claude Code, OpenAI Codex CLI, Cursor, Windsurf and Claude Desktop. It 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 AI score for example.com”. One-off checks and fix generation on your own machine are free. Schedules, score history and monitoring of the answers from four AI engines live on causabi.com.

How it works

One command: crawl, score, generate fix files

1
Crawl
httpx fetches the page and reads the text, structured data, robots.txt, headers and links.
2
Score
Plain Python scoring across 6 categories. No LLM: the result is the same on every run.
3
FAQ questions (optional)
With --api-key, one Gemini call drafts FAQ questions from your page content.
4
Generate fix files
Writes the robots.txt patch, schema.json, faq-schema.json and llms.txt, plus HOW-TO-APPLY.md with the steps to publish them.

Modules

The parts of the package and what each one does

Scorer
geo_optimizer/core/scorer.py

Computes the 0–100 AI score across 6 categories. Plain logic, no LLM involved, so the same page always gets the same score.

robots.txt (20)Schema.org (25)FAQ schema (20)Content depth (15)Brand signals (10)Freshness (10)
robots.txt audit
geo_optimizer/core/robots.py

Checks which AI crawlers your robots.txt allows or blocks.

GPTBotClaudeBotanthropic-aiPerplexityBotGoogle-ExtendedCCBotBytespiderYouBotcohere-ai
robots.txt patch
geo_optimizer/generators/robots.py

Writes a patched robots.txt that lets the blocked AI crawlers in.

robots.txt
Schema generator
geo_optimizer/generators/schema.py

Builds Organization or SoftwareApplication JSON-LD from the data found on your page.

OrganizationSoftwareApplicationsameAsNAP
FAQ generator
geo_optimizer/generators/faq.py

Builds FAQPage JSON-LD. With --api-key it asks Gemini to write questions based on your actual content.

FAQPageschema.org/QuestionacceptedAnswer
llms.txt generator
geo_optimizer/generators/llms_txt.py

Creates an llms.txt file: a short, structured description of your site in the proposed llmstxt.org format. It is a proposal, not a standard, and it does not promise citations.

llmstxt.orgMarkdownContact info

How the score is built

The weights are our own engineering choice, listed below. The score measures how readable your page is for machines; it does not predict citations.

Schema.org25 pts

Organization, LocalBusiness or SoftwareApplication markup, and how many useful fields it fills in.

robots.txt20 pts

Each blocked AI crawler takes points off.

FAQ schema20 pts

FAQPage JSON-LD, so questions and answers are marked up as questions and answers.

Content depth15 pts

Amount of text on the page. Under 200 words scores very low, under 500 partially, 500 and up in full.

Brand signals10 pts

Business name, phone, address and links to your profiles (sameAs) that confirm who is behind the site.

Freshness10 pts

A dateModified or datePublished in the markup scores in full; a recent year in the text scores partly.

README badge

Add your site’s AI score to your README. Our server caches the badge for an hour, so the number can lag behind.

markdown
![AI score](https://ai.causabi.com/badge/yoursite.com.svg)
Renders as (example):AI score94/100

GitHub Action

Run the check in CI. The build fails if the score drops below the threshold you set.

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

Need the full check?

The CLI scores one page. causabi.com checks your whole site, and paid plans add weekly monitoring that shows whether ChatGPT, Gemini, Grok and Claude mention you.

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