Skip to main content
Glama
GEO Analysis for AI SEO

GEO Analysis for AI SEO

by houtini-ai
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.


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.

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.

Related MCP server: agentaeo-mcp-server

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)

Score

Measures

Overall

Weighted average of all factors

Extractability

How easily AI can extract facts

Readability

Structure quality for AI parsing

Citability

How 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.

Parameter

Required

Description

url

Yes

URL to analyse

query

No

Topic context for relevance scoring

output_format

No

detailed (default) or summary

analyze_text

Analyses pasted content directly.

Parameter

Required

Description

content

Yes

Text to analyse (min 500 chars)

query

No

Topic context for relevance scoring

output_format

No

detailed (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

Available Tools

2 tools
analyze_textB

Analyze pasted text content for AI search optimization. Performs comprehensive content quality analysis including AI slop detection, writing quality, E-E-A-T signals, data points, originality, and actionability.

Inputs: content (required), query, output_format.

analyze_urlC

Analyze a published URL for AI search optimization. Performs comprehensive content quality analysis including AI slop detection, writing quality, E-E-A-T signals, and actionability.

Inputs: url (required), query, output_format.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.1/5.0

    Scored across 2 tools

    Disambiguation4/5

    The two tools have clearly distinct purposes: analyze_text for pasted text content and analyze_url for published URLs. While their analysis components overlap significantly (both include AI slop detection, writing quality, E-E-A-T signals, and actionability), the input type distinction prevents confusion. The only minor ambiguity is that analyze_text mentions additional features like data points and originality not listed for analyze_url.

    Naming Consistency5/5

    Both tools follow a perfect verb_noun pattern with consistent snake_case naming: analyze_text and analyze_url. The naming is completely predictable and readable, with no deviations in style or convention across the tool set.

    Tool Count2/5

    With only 2 tools for a server named 'GEO Analysis for AI SEO' that suggests geographical and SEO analysis capabilities, the tool count feels too thin. The server's name implies broader functionality (potentially geographical data analysis, keyword research, competitor analysis, etc.), but the tools only cover content analysis of text and URLs, leaving significant gaps in the apparent domain scope.

    Completeness2/5

    The tool set is severely incomplete for the server's stated purpose of 'GEO Analysis for AI SEO'. While the two tools provide content quality analysis, there are obvious gaps: no geographical analysis tools (e.g., location-based SEO, regional keyword analysis), no SEO-specific tools (e.g., keyword research, backlink analysis, ranking tracking), and no AI SEO optimization beyond content assessment. This will likely cause agent failures when trying to perform comprehensive GEO or SEO tasks.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      B
      quality
      C
      maintenance
      Advanced content gap analysis using Query Decomposition and Keyword Fan-Out (Google's patented methodology). Tells you exactly what user queries your content covers - and what it misses. Built on academic research because I needed to understand how AI search engines actually evaluate content.
      1
      134 npm
      14
      Apache 2.0
    • A
      license
      A
      quality
      D
      maintenance
      Audit your brand's visibility across ChatGPT, Perplexity, Claude, and Google AI - get citation rates, AEO health scores, content gap analysis, and a 9-page content suite to rank in AI-generated answers.
      5
      130 npm
      MIT
    • A
      license
      B
      quality
      B
      maintenance
      Unifies traditional SEO and Generative Engine Optimization (GEO) for Google, Bing, Yandex, and major LLMs, providing tools for search performance analysis, citation tracking, on-page audits, and internal link graph analysis.
      47
      28 PyPI
      3
      MIT
    • -
      license
      Not graded
      quality
      C
      maintenance
      Enables AI assistants to perform comprehensive SEO and GEO measurements, including site audits, keyword research, ranking tracking, and brand visibility analysis across search engines and generative AI platforms.
      -