Skip to main content

GeoGen MCP Server

The GeoGen MCP (Model Context Protocol) server lets AI assistants like Claude, Cursor, Windsurf, GitHub Copilot, and OpenAI agents query your LLM visibility data, manage entities, and analyze trends via natural language.
With the MCP server, you can ask your AI assistant questions like “What’s my visibility trend over the last 30 days?” or “Which domains are citing my brand?” and get answers directly from your GeoGen data.

Prerequisites

  • A GeoGen API key — go to Settings → Workspaces → Your Workspace → API Keys to create one
  • Node.js v18 or higher — download from nodejs.org (required for Claude Desktop, Claude Code, Cursor, and Windsurf)
Not sure if you have Node.js? Open your terminal (Mac: Terminal app, Windows: Command Prompt) and type node -v. If you see a version number like v18.0.0 or higher, you’re good. If you get an error, download and install it first.

Setup

Choose your AI assistant below and follow the step-by-step instructions.
Claude Desktop stores its configuration in a JSON file. We need to find it, open it, and add the GeoGen MCP server config to it.

Step 1: Open the config file

The config file is in a hidden folder that doesn’t show up in Finder by default. To get there:
  1. Open Finder
  2. Press Cmd + Shift + G — this opens a “Go to Folder” dialog
  3. Paste this path and press Enter:
~/Library/Application Support/Claude
  1. Find and open claude_desktop_config.json in a text editor (right-click > Open With > TextEdit, or any code editor)
If the file doesn’t exist yet, create a new file called claude_desktop_config.json in that folder.

Step 2: Add the GeoGen config

If the file is empty or doesn’t exist yet, paste this entire block and replace your-api-key-here with your actual GeoGen API key:
{
  "mcpServers": {
    "geogen": {
      "command": "npx",
      "args": ["-y", "@geogenio/mcp-server"],
      "env": {
        "GEOGEN_API_KEY": "your-api-key-here",
        "GEOGEN_BASE_URL": "https://api.geogen.io"
      }
    }
  }
}
If the file already has content (which is common), you need to merge the GeoGen config into it. Your file probably looks something like this:
{
  "someExistingSetting": "someValue"
}
Add a comma after the last existing setting, then add the mcpServers block before the final closing brace:
{
  "someExistingSetting": "someValue",
  "mcpServers": {
    "geogen": {
      "command": "npx",
      "args": ["-y", "@geogenio/mcp-server"],
      "env": {
        "GEOGEN_API_KEY": "your-api-key-here",
        "GEOGEN_BASE_URL": "https://api.geogen.io"
      }
    }
  }
}
Don’t forget the comma! JSON requires a comma between each setting. Missing it is the most common cause of errors. Make sure there’s a comma after every item except the last one before a closing brace } or bracket ].
If you already have other MCP servers configured, add GeoGen inside the existing mcpServers block with a comma:
{
  "mcpServers": {
    "some-other-server": {
      "command": "..."
    },
    "geogen": {
      "command": "npx",
      "args": ["-y", "@geogenio/mcp-server"],
      "env": {
        "GEOGEN_API_KEY": "your-api-key-here",
        "GEOGEN_BASE_URL": "https://api.geogen.io"
      }
    }
  }
}

Step 3: Replace the API key

Replace your-api-key-here with your actual GeoGen API key (from Settings > API Keys in the GeoGen dashboard). Keep the quotes around it.

Step 4: Save and restart

  1. Save the file
  2. Fully quit Claude Desktop (not just close the window)
  3. Reopen Claude Desktop
  4. Look for the MCP plug icon (🔌) in the chat input area — click it to confirm GeoGen is listed and connected

Available Tools

Once configured, your AI assistant has access to the following tools:

Read Operations

ToolDescription
get_entitiesList all tracked websites/entities
get_workspaceWorkspace usage, limits, and credit balance
get_workspace_membersList team members
get_workspace_tagsList all tags
get_modelsAvailable LLM models
get_entity_promptsPrompts with visibility and sentiment stats
get_tracking_statusMention check status: last completed, next scheduled, processing state
get_responsesLLM responses with mention status
get_response_detailsDetailed response data including mentions, citations, and fanouts
get_citationsTop cited domains for an entity
get_citation_detailsDetailed URLs for a cited domain
get_competitorsCompetitor visibility leaderboard
get_citations_trendDaily citation trend for top cited domains
get_visibility_trendVisibility trend over time
get_sentiment_trendSentiment trend over time
get_query_fanoutsWeb search queries LLMs perform
get_entity_actionsAI-generated actionable recommendations and tasks

Write Operations

ToolDescription
create_entityCreate a new tracked entity (consumes credits)
add_promptsAdd single or bulk prompts to an entity
delete_promptDelete a prompt
dismiss_actionableDismiss an actionable recommendation
update_task_statusMove a task through the kanban workflow

Example Queries

Once connected, try asking your AI assistant:

Visibility Analysis

“What’s the visibility trend for my website over the last 30 days?”

Citation Insights

“Which domains are LLMs citing when they talk about my brand?”

Competitor Intel

“Show me the top competitors for my website”

Search Patterns

“What search queries are LLMs running about my entity?”

Action Items

“What actionable recommendations do I have for my website?”
More example prompts:
  • “List all my tracked entities”
  • “Add a new tracking prompt: ‘What is the best project management tool?’”
  • “Give me a full SEO report comparing my entity against competitors”
  • “What’s the sentiment trend for my brand this month?”

Environment Variables

VariableRequiredDescription
GEOGEN_API_KEYYesYour GeoGen workspace API key
GEOGEN_BASE_URLYesGeoGen API URL — always https://api.geogen.io
Keep your API key secure. Never commit it to version control or share it publicly.

Troubleshooting

On Mac, the Library folder is hidden by default in Finder. Use Cmd + Shift + G and paste the path to navigate directly. On Windows, %APPDATA% is similarly hidden — press Win + R and paste the path to open it.
The most common cause is a JSON formatting error — usually a missing or extra comma. JSON is strict about commas: every item needs a comma after it except the last item before a closing } or ]. Try pasting your config into jsonlint.com to check for syntax errors.
  • Make sure you saved the config file (not just edited it)
  • Fully restart your client — closing the window isn’t always enough (especially Claude Desktop)
  • Confirm Node.js v18+ is installed: open a terminal and run node -v
npx comes bundled with Node.js. Install or update Node.js from nodejs.org (v18 or higher). If you use a version manager like nvm or fnm, make sure the right version is active in your shell.
  • Verify your API key is correct — go to Settings → Workspaces → Your Workspace → API Keys in the GeoGen dashboard and copy it again
  • Make sure the key is inside quotes in the config file: "your-key-here" not your-key-here
  • Check that you didn’t accidentally include extra spaces around the key
Make sure you have at least one tracked entity in your GeoGen workspace. Most tools need an entity to return results.
Do not use export in your shell — the MCP server runs in its own separate process. Pass variables with the -e flag:
claude mcp add geogen \
  -e GEOGEN_API_KEY=your-api-key-here \
  -e GEOGEN_BASE_URL=https://api.geogen.io \
  -- npx -y @geogenio/mcp-server

Advanced: Connection Methods Explained