Skip to main content
Glama
houtini-ai

GEO Analysis for AI SEO

by houtini-ai

GEO Analyzer

npm version License: MIT

Анализ контента для видимости в ИИ-поиске. Измеряет то, что действительно важно для получения цитирований в ChatGPT, Claude, Perplexity и Google AI Overviews.

Быстрая навигация

Что это делает | Установка | Примеры использования | Результаты | Инструменты | Устранение неполадок | Научная база

Что это делает

GEO Analyzer проверяет контент на наличие сигналов, которые ИИ-системы используют при выборе источников для цитирования:

  • Плотность утверждений (Claim Density) — количество извлекаемых фактов на 100 слов

  • Информационная плотность — соотношение количества слов и прогнозируемого охвата ИИ

  • Фронтлоадинг ответов (Answer Frontloading) — как быстро появляется ключевая информация

  • Семантические триплеты — структурированные отношения (субъект, предикат, объект)

  • Распознавание сущностей — именованные сущности, на которые может ссылаться ИИ

  • Структура предложений — оптимальная длина для парсинга ИИ

Анализ выполняется локально с использованием Claude Sonnet 4.5 для семантического извлечения. Никаких внешних сервисов, данные не покидают ваш компьютер.

Related MCP server: agentaeo-mcp-server

Установка

Claude Desktop

Добавьте в ваш claude_desktop_config.json:

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

Расположение конфигурации:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Linux: ~/.config/Claude/claude_desktop_config.json

После сохранения перезапустите Claude Desktop.

Claude Code (CLI)

Claude Code использует другой механизм регистрации — он не читает claude_desktop_config.json. Используйте вместо этого claude mcp add:

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

Проверьте с помощью:

claude mcp get geo-analyzer

Вы должны увидеть Status: Connected.

Требования

Примеры использования

Анализ опубликованного URL

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

Контекст темы помогает оценить релевантность, но не является обязательным:

Analyse https://example.com/article

Прямой анализ текста

Вставьте контент для анализа (минимум 500 символов):

Analyse this content for "sim racing wheels":

[Your content here]

Режим сводки

Получите сжатый вывод без подробных рекомендаций:

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

Результаты

Оценки (0-10)

Оценка

Что измеряет

Общая

Взвешенное среднее всех факторов

Извлекаемость

Насколько легко ИИ может извлечь факты

Читаемость

Качество структуры для парсинга ИИ

Цитируемость

Насколько контент пригоден для цитирования

Ключевые метрики

Информационная плотность:

  • Количество слов с прогнозом охвата

  • Оптимальный диапазон: 800-1500 слов

  • Страницы менее 1 тыс. слов: ~61% охвата ИИ

  • Страницы более 3 тыс. слов: ~13% охвата ИИ

Фронтлоадинг ответов:

  • Утверждения и сущности в первых 100/300 словах

  • Позиция первого утверждения

  • Оценка, указывающая на немедленность ответа

Плотность утверждений:

  • Цель: 4+ утверждения на 100 слов

  • Извлекаемые факты, статистика, измерения

Длина предложений:

  • Цель: в среднем 15-20 слов

  • Соответствует извлечению фрагментов Google (~15,5 слов)

Рекомендации

Приоритетные предложения с:

  • Конкретными местами в контенте

  • Примерами «до/после»

  • Обоснованием, основанным на исследованиях

Инструменты

analyze_url

Загружает и анализирует опубликованные веб-страницы.

Параметр

Обязательный

Описание

url

Да

URL для анализа

query

Нет

Контекст темы для оценки релевантности

output_format

Нет

detailed (по умолчанию) или summary

analyze_text

Анализирует вставленный контент напрямую.

Параметр

Обязательный

Описание

content

Да

Текст для анализа (мин. 500 символов)

query

Нет

Контекст темы для оценки релевантности

output_format

Нет

detailed (по умолчанию) или summary

Устранение неполадок

"ANTHROPIC_API_KEY is required" Добавьте свой API-ключ в раздел env в конфигурации.

"Cannot find module" после изменения конфигурации Полностью перезапустите Claude Desktop.

"Content too short" Для значимого анализа требуется минимум 500 символов.

Платный контент возвращает ошибки Анализатор может получать доступ только к общедоступным страницам.

Производительность

  • Анализ URL: ~8-10 секунд

  • Анализ текста: ~5-7 секунд

  • Стоимость: ~$0.14 за анализ (Sonnet 4.5)

Миграция с v1.x

v2.0 удалила внешние зависимости. Обновите свою конфигурацию:

Старая (v1.x):

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

Новая (v2.x):

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

Разработка

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

Научная база

Методология анализа опирается на рецензируемые исследования и эмпирические данные:

Статья MIT GEO (2024)

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

Примененные ключевые выводы:

  • Целевая плотность утверждений 4+ на 100 слов

  • Оптимальная длина предложения 15-20 слов

  • Улучшение частоты цитирования ИИ на 40% при фокусе на извлекаемость

arxiv.org/abs/2311.09735

Исследование Dejan AI Grounding (2025)

Эмпирический анализ 7060 запросов и 2275 страниц

Примененные ключевые выводы:

  • ~2000 слов — общий бюджет обоснования (grounding) на запрос

  • Источник №1 получает 531 слово (28% бюджета)

  • Источник №5 получает 266 слов (13% бюджета)

  • Средний фрагмент извлечения: 15,5 слов

  • Страницы <1 тыс. слов: 61% охвата

  • Страницы 3 тыс.+ слов: 13% охвата

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


Лицензия MIT - 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
contentYesThe text content to analyze (markdown, plain text, or HTML)
queryNoOptional context string describing the content topic (e.g., "sim racing equipment", "SEO guide"). Used for relevance scoring only. Defaults to "general content analysis".
output_formatNoOutput verbosity: "detailed" (default) includes all suggestions and recommendations; "summary" provides condensed resultsdetailed

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden for behavioral disclosure. While it mentions the analysis dimensions and output format options, it lacks critical behavioral details: no information about rate limits, authentication requirements, processing time, error conditions, or what constitutes 'comprehensive' analysis. The description doesn't contradict annotations (none exist), but fails to provide sufficient behavioral context for a tool with no annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately concise with two sentences that efficiently convey the tool's purpose and scope. The first sentence states the core function, and the second elaborates on analysis dimensions. No redundant or unnecessary information is included. However, it could be slightly more front-loaded by mentioning the key parameters or output options earlier.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 3 parameters with 100% schema coverage but no annotations and no output schema, the description is moderately complete. It covers the tool's purpose and analysis dimensions adequately but lacks important contextual information about behavioral characteristics (rate limits, auth needs, processing behavior) and doesn't describe the output format or structure. For a text analysis tool with no output schema, more detail about return values would be helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all three parameters thoroughly. The description adds minimal parameter semantics beyond the schema - it mentions 'pasted text content' which aligns with the 'content' parameter, and 'AI search optimization' context which relates to the 'query' parameter's purpose. However, it doesn't provide additional meaning or usage examples beyond what's already in the schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Analyze pasted text content for AI search optimization' with specific analysis dimensions listed (AI slop detection, writing quality, E-E-A-T signals, etc.). It distinguishes from the sibling tool 'analyze_url' by specifying 'pasted text content' rather than URL analysis. However, it doesn't explicitly contrast with the sibling tool's functionality.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context through 'pasted text content' and 'AI search optimization,' suggesting when this tool is appropriate. It mentions the sibling tool 'analyze_url' exists but provides no explicit guidance on when to use this tool versus that alternative. No exclusion criteria or prerequisites are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe URL to analyze
queryNoOptional context string describing the content topic (e.g., "sim racing wheels", "content optimization"). Used for relevance scoring only. Defaults to "general content analysis".
output_formatNoOutput verbosity: "detailed" (default) includes all suggestions and recommendations; "summary" provides condensed resultsdetailed

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions 'comprehensive content quality analysis' but doesn't describe what the analysis returns, potential limitations (e.g., rate limits, authentication needs, or what 'AI slop detection' entails), or side effects. For a tool with no annotations and no output schema, this leaves significant gaps in understanding how the tool behaves.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is highly concise and front-loaded: a single sentence that efficiently states the tool's purpose and key analysis components without unnecessary words. Every phrase ('AI search optimization', 'comprehensive content quality analysis', specific detection types) adds value, making it zero waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (analyzing URLs for multiple quality signals) and lack of annotations and output schema, the description is incomplete. It doesn't explain what the analysis returns, potential errors, or behavioral traits like rate limits or permissions. The agent is left guessing about the output format and operational constraints, which is inadequate for a tool with no structured output information.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description adds no additional parameter semantics beyond what's in the schema (e.g., it doesn't explain how 'query' affects 'relevance scoring' in more detail or what 'output_format' choices imply beyond the schema's enum). Baseline 3 is appropriate when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Analyze a published URL for AI search optimization' with specific components like 'content quality analysis', 'AI slop detection', 'writing quality', 'E-E-A-T signals', and 'actionability'. It distinguishes from the sibling 'analyze_text' by specifying URL analysis rather than text analysis. However, it doesn't explicitly contrast with the sibling tool in the description text itself.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. While it implies usage for URL analysis (versus text analysis for the sibling), there's no explicit mention of the sibling tool, prerequisites, or scenarios where this tool is preferred over others. The agent must infer usage context from the purpose alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 2 tool updatesv3.0.3
    • First observedanalyze_text
    • First observedanalyze_url

TDQS

B3.1/5.0
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

ActivityMaintained
ResponsivenessUnresponsive

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    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
    227
    12
    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
    84
    MIT
  • A
    license
    A
    quality
    C
    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.
    36
    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.
    -

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/houtini-ai/geo-analyzer'

If you have feedback or need assistance with the MCP directory API, please join our Discord server