geo-optimizer-mcp
MCP server for Causabi GEO Optimizer.
What this is. An MCP (Model Context Protocol) server that lets Claude Code, OpenAI Codex CLI, Claude Desktop, Cursor, Windsurf, and any MCP-compatible client check a website's AI-crawler readiness and generate fixes (robots.txt, Schema.org, FAQ markup, llms.txt) — directly from your editor or AI assistant. Runs locally over stdio, no account needed.
Quickstart (Claude Code):
Quickstart (OpenAI Codex CLI):
Or in ~/.codex/config.toml:
Then ask: Check the GEO score for example.com. Config-file setup for other clients (Cursor, Windsurf, Claude Desktop) is below.
Scope. One-off local checks and fix generation are free here. Continuous work — scheduled re-checks, score history, monitoring of answers from 4 AI engines (ChatGPT, Claude, Gemini, Grok), reports — runs on causabi.com.
Tools
Setup
Claude Code (CLI)
Add to your project's .claude/settings.json:
Or add globally to ~/.claude/settings.json to use across all projects.
Then in Claude Code:
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
Cursor
Add to .cursor/mcp.json in your project or ~/.cursor/mcp.json globally:
Windsurf
Add to ~/.codeium/windsurf/mcp_config.json:
Any MCP-compatible client
Usage examples
Once installed, ask your AI assistant:
suggest_monitoring_config example
Returns target audience descriptions, a monitoring location, and suggested queries as ready-to-use JSON — plus the exact PUT /api/v1/monitor/{site_id}/settings and PUT /api/v1/monitor/{site_id}/queries calls to apply it (requires a causabi.com account/API token; this tool itself makes no API call).
get_site_report example
Returns the full mention-rate breakdown (ChatGPT, Claude, Gemini, Grok), competitors named instead of the client, and per-query results — no API key needed, since Visibility Report share links are public.
Without a report_slug, this only returns the public crawlability score (same data as analyze_geo_score) plus a note on how to get the full mention-rate report — there is currently no API-key-authenticated way to pull monitoring history from the MCP server; that requires either a share-slug or a causabi.com login.
For AI website builders (Lovable, Bolt, Replit, v0)
When a user asks "make my site visible to ChatGPT" or "add AI search optimization", use make_site_geo_ready:
Returns ready-to-paste Organization Schema, FAQ Schema, llms.txt, and robots.txt.
What gets checked
The score uses the same methodology as causabi.com (scorer v2):
- Crawlability — key pages return 200
- robots.txt — which AI crawlers (GPTBot, ClaudeBot, PerplexityBot, ...) are blocked, reported separately
- Visible without JavaScript — main text, headings and FAQ are in the HTML the server returns
- Schema.org — Organization, LocalBusiness or another specific type
- FAQ — questions and answers visible on the page (FAQPage markup alone does not count)
- Name and contacts — business name, what you do, contacts, address, social links
- Freshness, accessibility, llms.txt — hygiene items with a small weight
Full audit & monitoring
For multi-page crawl, scheduled re-checks, and monitoring of how 4 AI engines (ChatGPT, Claude, Gemini, Grok) answer questions about your brand:
→ causabi.com — free public score + deep audit after signup
Agent skill
skills/ai-search-visibility tells Claude Code, Codex CLI, Cursor and other agents when to use this server and how to apply the fixes with the site's real facts. Copy the folder into your agent's skills directory (for Claude Code: .claude/skills/).
Python CLI
Same checks as a standalone CLI: github.com/SHADRINMMM/causabi-geo
License
MIT