PluginBench
MCP Server
Active
MIT

io.github.houtini-ai/geo-analyzer MCP Server

io.github.houtini-ai/geo-analyzer

Scores content on signals that get it cited by ChatGPT, Perplexity, and AI Overviews.

What is the io.github.houtini-ai/geo-analyzer MCP server?

GEO Analyzer is a deprecated MCP server that analyzes content for AI search visibility by measuring signals that influence citation by ChatGPT, Claude, Perplexity, and Google AI Overviews. It evaluates claim density, information density, answer frontloading, semantic triples, entity recognition, and sentence structure using Claude Sonnet locally. The project has been consolidated into SEO Audit Console and is no longer maintained.

GEO Analyzer examines web pages and text content for factors that determine whether AI systems will cite them as sources. It scores extractability, readability, and citability based on research-backed metrics like claim density (4+ per 100 words), optimal sentence length (15-20 words), and information density. Analysis runs locally using Claude Sonnet with no external dependencies or data transmission.

How to install io.github.houtini-ai/geo-analyzer

Copy-paste configuration for popular MCP clients.

transport: stdio
Config generated by PluginBench — verify against the source before use.
Environment / auth
  • ANTHROPIC_API_KEY
    required
    secret

    Anthropic API key, used for the semantic analysis pass

~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "geo-analyzer": {
      "command": "npx",
      "args": [
        "-y",
        "@houtini/geo-analyzer"
      ],
      "env": {
        "ANTHROPIC_API_KEY": "<YOUR_ANTHROPIC_API_KEY>"
      }
    }
  }
}

Tools & capabilities

Tools this server exposes to the agent.

  • analyze_url — Fetches and analyzes published web pages for AI citation signals. Accepts URL, optional topic context for relevance scoring, and output format (detailed or summary).
  • analyze_text — Analyzes pasted content directly (minimum 500 characters) for AI citation signals. Accepts text content, optional topic context, and output format (detailed or summary).

Use cases

  • Optimize article content to improve chances of being cited by AI search systems like Google AI Overviews and Perplexity
  • Evaluate existing web pages for extractability and identify specific improvements to claim density and sentence structure
  • Analyze competitor content to understand what signals make their pages more citable by AI systems
  • Score content readability and citability metrics before publishing to maximize AI visibility
  • Compare text versions to see which structure and density improvements increase AI citation likelihood

io.github.houtini-ai/geo-analyzer MCP server FAQ

What is GEO Analyzer and is it still maintained?

GEO Analyzer analyzes content for signals that influence AI citation by systems like ChatGPT, Perplexity, and Google AI Overviews. However, it is deprecated and no longer maintained. Its functionality has been consolidated into SEO Audit Console (@houtini/seo-audit-console), which you should migrate to instead.

How do I install GEO Analyzer in Claude Desktop?

Add it to your claude_desktop_config.json with the command 'npx -y @houtini/geo-analyzer@latest' and set your ANTHROPIC_API_KEY environment variable. For Claude Code CLI, use 'claude mcp add' with the same command and API key.

What API key or authentication is required?

You need an Anthropic API key (from console.anthropic.com) set as the ANTHROPIC_API_KEY environment variable. The analysis runs locally using Claude Sonnet 4.5.

Is GEO Analyzer free to use?

The tool itself is free and open-source (MIT license), but each analysis costs approximately $0.14 in Anthropic API credits since it uses Claude Sonnet 4.5 for semantic extraction.

What content can I analyze?

You can analyze published URLs (must be publicly accessible, not paywalled) or paste text directly (minimum 500 characters). URL analysis takes 8-10 seconds; text analysis takes 5-7 seconds.

What should I use instead of GEO Analyzer?

Migrate to SEO Audit Console (npm i @houtini/seo-audit-console), which includes GEO Analyzer's AI-search content analysis plus full technical SEO auditing, passage relevance scoring, agent readiness, and content extractability in one MCP.

README (reference)

Source of truth, from the repository.

[!WARNING] Deprecated and no longer maintained. GEO Analyzer's AI-search content analysis has been consolidated into SEO Audit Console (npm i @houtini/seo-audit-console) — which scores AI-Overview citation, passage relevance, agent readiness and content extractability alongside a full technical SEO audit, all in one MCP. Please migrate there.


<div align="center"> <img src="https://raw.githubusercontent.com/houtini-ai/geo-analyzer/main/assets/logo.png" width="120" height="120" alt="GEO Analyzer" /> </div>

GEO Analyzer

npm version MCP Registry Known Vulnerabilities License: MIT

Content analysis for AI search visibility. Measures what actually matters for getting cited by ChatGPT, Claude, Perplexity, and Google AI Overviews.

<p align="center"> <a href="https://glama.ai/mcp/servers/@houtini-ai/geo-analyzer"> <img width="380" height="200" src="https://glama.ai/mcp/servers/@houtini-ai/geo-analyzer/badge" alt="GEO Analyzer MCP server" /> </a> </p>

Quick Navigation

What it does | Installation | Usage examples | Output | Tools | Troubleshooting | Research foundation

What It Does

GEO Analyzer examines content for the signals AI systems use when selecting sources to cite:

  • Claim Density - Extractable facts per 100 words
  • Information Density - Word count vs predicted AI coverage
  • Answer Frontloading - How quickly key information appears
  • Semantic Triples - Structured (subject, predicate, object) relationships
  • Entity Recognition - Named entities AI can reference
  • Sentence Structure - Optimal length for AI parsing

The analysis runs locally using Claude Sonnet 4.5 for semantic extraction. No external services, no data leaving your machine.

Installation

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "geo-analyzer": {
      "command": "npx",
      "args": ["-y", "@houtini/geo-analyzer@latest"],
      "env": {
        "ANTHROPIC_API_KEY": "sk-ant-..."
      }
    }
  }
}

Config locations:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

Restart Claude Desktop after saving.

Claude Code (CLI)

Claude Code uses a different registration mechanism -- it doesn't read claude_desktop_config.json. Use claude mcp add instead:

claude mcp add -e ANTHROPIC_API_KEY=sk-ant-... -s user geo-analyzer -- npx -y @houtini/geo-analyzer@latest

Verify with:

claude mcp get geo-analyzer

You should see Status: Connected.

Requirements

Usage Examples

Analyse a Published URL

Analyse https://example.com/article for "topic keywords"

The topic context helps score relevance but isn't required:

Analyse https://example.com/article

Analyse Text Directly

Paste content for analysis (minimum 500 characters):

Analyse this content for "sim racing wheels":

[Your content here]

Summary Mode

Get condensed output without detailed recommendations:

Analyse https://example.com/article with output_format=summary

Output

Scores (0-10)

ScoreMeasures
OverallWeighted average of all factors
ExtractabilityHow easily AI can extract facts
ReadabilityStructure quality for AI parsing
CitabilityHow quotable and attributable

Key Metrics

Information Density:

  • Word count with coverage prediction
  • Optimal range: 800-1,500 words
  • Pages under 1K words: ~61% AI coverage
  • Pages over 3K words: ~13% AI coverage

Answer Frontloading:

  • Claims and entities in first 100/300 words
  • First claim position
  • Score indicating answer immediacy

Claim Density:

  • Target: 4+ claims per 100 words
  • Extractable facts, statistics, measurements

Sentence Length:

  • Target: 15-20 words average
  • Matches Google's ~15.5 word chunk extraction

Recommendations

Prioritised suggestions with:

  • Specific locations in content
  • Before/after examples
  • Rationale based on research

Tools

analyze_url

Fetches and analyses published web pages.

ParameterRequiredDescription
urlYesURL to analyse
queryNoTopic context for relevance scoring
output_formatNodetailed (default) or summary

analyze_text

Analyses pasted content directly.

ParameterRequiredDescription
contentYesText to analyse (min 500 chars)
queryNoTopic context for relevance scoring
output_formatNodetailed (default) or summary

Troubleshooting

"ANTHROPIC_API_KEY is required" Add your API key to the env section in config.

"Cannot find module" after config change Restart Claude Desktop completely.

"Content too short" Minimum 500 characters required for meaningful analysis.

Paywalled content returns errors The analyser can only access publicly available pages.

Performance

  • URL analysis: ~8-10 seconds
  • Text analysis: ~5-7 seconds
  • Cost: ~$0.14 per analysis (Sonnet 4.5)

Migration from v1.x

v2.0 removed external dependencies. Update your config:

Old (v1.x):

{
  "env": {
    "GEO_WORKER_URL": "https://...",
    "JINA_API_KEY": "jina_..."
  }
}

New (v2.x):

{
  "env": {
    "ANTHROPIC_API_KEY": "sk-ant-..."
  }
}

Development

git clone https://github.com/houtini-ai/geo-analyzer.git
cd geo-analyzer
npm install
npm run build

Research Foundation

The analysis methodology draws from peer-reviewed research and empirical studies:

MIT GEO Paper (2024)

Aggarwal et al., "GEO: Generative Engine Optimization" - ACM SIGKDD

Key findings applied:

  • Claim density target of 4+ per 100 words
  • Optimal sentence length of 15-20 words
  • 40% improvement in AI citation rates with extractability focus

arxiv.org/abs/2311.09735

Dejan AI Grounding Research (2025)

Empirical analysis of 7,060 queries and 2,275 pages

Key findings applied:

  • ~2,000 word total grounding budget per query
  • Rank #1 source gets 531 words (28% of budget)
  • Rank #5 source gets 266 words (13% of budget)
  • Average extraction chunk: 15.5 words
  • Pages <1K words: 61% coverage
  • Pages 3K+ words: 13% coverage

dejan.ai/blog/how-big-are-googles-grounding-chunks
dejan.ai/blog/googles-ranking-signals


MIT License - Houtini.ai

Related MCP servers

Search Google's Knowledge Graph for structured entity data—people, places, organizations, concepts.

10
TypeScript
MIT
View repository →

Offload routine coding tasks from Claude to a local LLM, cutting token costs and API bills.

109
JavaScript
Apache-2.0
View repository →

Technical SEO in Claude: GSC + crawl + DataForSEO - audit, market sizing, content recon.

5
TypeScript
Apache-2.0
View repository →

Crawl websites for SEO errors and store results in SQLite (now superseded by SEO Audit Console).

16
TypeScript
Apache-2.0
View repository →

Use Grok as a peer code reviewer and second-opinion consultant inside Claude, Cursor, and Cline.

10
TypeScript
MIT
View repository →

MCP bridge for autonomous x402 payments in HPP USDC.e — discover and pay for services per call.

0
TypeScript
View repository →