Can AI engines cite your site, and do they? Free 0–100 readiness score on an open GEO rubric, plus ask and weekly citation tracking via OpenAI, Perplexity, Gemini, Anthropic and OpenRouter with your own keys. Zero dependencies; CLI, GitHub Action and MCP server.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add geo-score --env OPENAI_API_KEY='<OPENAI_API_KEY>' --env PERPLEXITY_API_KEY='<PERPLEXITY_API_KEY>' --env GEMINI_API_KEY='<GEMINI_API_KEY>' --env ANTHROPIC_API_KEY='<ANTHROPIC_API_KEY>' --env OPENROUTER_API_KEY='<OPENROUTER_API_KEY>' -- uvx geo-score~/.codex/config.toml
[mcp_servers.geo-score]
command = "uvx"
args = ["geo-score"]
env = { OPENAI_API_KEY = "<OPENAI_API_KEY>", PERPLEXITY_API_KEY = "<PERPLEXITY_API_KEY>", GEMINI_API_KEY = "<GEMINI_API_KEY>", ANTHROPIC_API_KEY = "<ANTHROPIC_API_KEY>", OPENROUTER_API_KEY = "<OPENROUTER_API_KEY>" }
# codex mcp add geo-score --env OPENAI_API_KEY='<OPENAI_API_KEY>' --env PERPLEXITY_API_KEY='<PERPLEXITY_API_KEY>' --env GEMINI_API_KEY='<GEMINI_API_KEY>' --env ANTHROPIC_API_KEY='<ANTHROPIC_API_KEY>' --env OPENROUTER_API_KEY='<OPENROUTER_API_KEY>' -- uvx geo-score~/.cursor/mcp.json
{
"mcpServers": {
"geo-score": {
"command": "uvx",
"args": [
"geo-score"
],
"env": {
"OPENAI_API_KEY": "<OPENAI_API_KEY>",
"PERPLEXITY_API_KEY": "<PERPLEXITY_API_KEY>",
"GEMINI_API_KEY": "<GEMINI_API_KEY>",
"ANTHROPIC_API_KEY": "<ANTHROPIC_API_KEY>",
"OPENROUTER_API_KEY": "<OPENROUTER_API_KEY>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"geo-score": {
"type": "stdio",
"command": "uvx",
"args": [
"geo-score"
],
"env": {
"OPENAI_API_KEY": "<OPENAI_API_KEY>",
"PERPLEXITY_API_KEY": "<PERPLEXITY_API_KEY>",
"GEMINI_API_KEY": "<GEMINI_API_KEY>",
"ANTHROPIC_API_KEY": "<ANTHROPIC_API_KEY>",
"OPENROUTER_API_KEY": "<OPENROUTER_API_KEY>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"geo-score": {
"command": "uvx",
"args": [
"geo-score"
],
"env": {
"OPENAI_API_KEY": "<OPENAI_API_KEY>",
"PERPLEXITY_API_KEY": "<PERPLEXITY_API_KEY>",
"GEMINI_API_KEY": "<GEMINI_API_KEY>",
"ANTHROPIC_API_KEY": "<ANTHROPIC_API_KEY>",
"OPENROUTER_API_KEY": "<OPENROUTER_API_KEY>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"geo-score": {
"command": "uvx",
"args": [
"geo-score"
],
"env": {
"OPENAI_API_KEY": "<OPENAI_API_KEY>",
"PERPLEXITY_API_KEY": "<PERPLEXITY_API_KEY>",
"GEMINI_API_KEY": "<GEMINI_API_KEY>",
"ANTHROPIC_API_KEY": "<ANTHROPIC_API_KEY>",
"OPENROUTER_API_KEY": "<OPENROUTER_API_KEY>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"geo-score": {
"command": "uvx",
"args": [
"geo-score"
],
"env": {
"OPENAI_API_KEY": "<OPENAI_API_KEY>",
"PERPLEXITY_API_KEY": "<PERPLEXITY_API_KEY>",
"GEMINI_API_KEY": "<GEMINI_API_KEY>",
"ANTHROPIC_API_KEY": "<ANTHROPIC_API_KEY>",
"OPENROUTER_API_KEY": "<OPENROUTER_API_KEY>"
}
}
}
}Environment variables
OPENAI_API_KEYPERPLEXITY_API_KEYGEMINI_API_KEYANTHROPIC_API_KEYOPENROUTER_API_KEY
Replace the placeholders with your own credentials and keep them out of version control.