GEO Analysis for AI SEO
GEO 분석기
AI 검색 가시성을 위한 콘텐츠 분석. ChatGPT, Claude, Perplexity 및 Google AI 개요(AI Overviews)에서 인용되기 위해 실제로 중요한 요소를 측정합니다.
빠른 탐색
주요 기능
GEO 분석기는 AI 시스템이 인용할 소스를 선택할 때 사용하는 신호를 검사합니다:
주장 밀도(Claim Density) - 100단어당 추출 가능한 사실 수
정보 밀도(Information Density) - 단어 수 대비 예상 AI 커버리지
답변 전면 배치(Answer Frontloading) - 핵심 정보가 얼마나 빨리 나타나는지
의미론적 삼중항(Semantic Triples) - 구조화된 (주어, 술어, 목적어) 관계
개체 인식(Entity Recognition) - AI가 참조할 수 있는 명명된 개체
문장 구조(Sentence Structure) - AI 파싱을 위한 최적의 길이
분석은 의미론적 추출을 위해 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.jsonmacOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonLinux:
~/.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-analyzerStatus: Connected가 표시되어야 합니다.
요구 사항
Node.js 20+
Anthropic API 키 (console.anthropic.com)
사용 예시
게시된 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)
점수 | 측정 항목 |
전체 | 모든 요소의 가중 평균 |
추출 가능성 | AI가 사실을 얼마나 쉽게 추출할 수 있는지 |
가독성 | AI 파싱을 위한 구조 품질 |
인용 가능성 | 얼마나 인용 및 귀속하기 좋은지 |
주요 지표
정보 밀도:
커버리지 예측을 포함한 단어 수
최적 범위: 800-1,500단어
1,000단어 미만 페이지: ~61% AI 커버리지
3,000단어 초과 페이지: ~13% AI 커버리지
답변 전면 배치:
처음 100/300단어 내의 주장 및 개체
첫 번째 주장 위치
답변 즉시성을 나타내는 점수
주장 밀도:
목표: 100단어당 4개 이상의 주장
추출 가능한 사실, 통계, 측정값
문장 길이:
목표: 평균 15-20단어
Google의 ~15.5단어 청크 추출과 일치
권장 사항
다음 내용을 포함한 우선순위 제안:
콘텐츠 내 특정 위치
전/후 예시
연구 기반의 근거
도구
analyze_url
게시된 웹 페이지를 가져와 분석합니다.
매개변수 | 필수 | 설명 |
| 예 | 분석할 URL |
| 아니오 | 관련성 점수 매기기를 위한 주제 맥락 |
| 아니오 |
|
analyze_text
붙여넣은 콘텐츠를 직접 분석합니다.
매개변수 | 필수 | 설명 |
| 예 | 분석할 텍스트 (최소 500자) |
| 아니오 | 관련성 점수 매기기를 위한 주제 맥락 |
| 아니오 |
|
문제 해결
"ANTHROPIC_API_KEY is required"
설정의 env 섹션에 API 키를 추가하세요.
설정 변경 후 "Cannot find module" 오류 Claude Desktop을 완전히 재시작하세요.
"Content too short" 의미 있는 분석을 위해 최소 500자가 필요합니다.
유료 콘텐츠(Paywalled) 오류 분석기는 공개적으로 사용 가능한 페이지만 액세스할 수 있습니다.
성능
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 외, "GEO: Generative Engine Optimization" - ACM SIGKDD
적용된 주요 결과:
100단어당 4개 이상의 주장 밀도 목표
15-20단어의 최적 문장 길이
추출 가능성에 집중하여 AI 인용률 40% 향상
Dejan AI Grounding 연구 (2025)
7,060개의 쿼리와 2,275개의 페이지에 대한 실증적 분석
적용된 주요 결과:
쿼리당 약 2,000단어의 총 그라운딩(Grounding) 예산
1위 소스는 531단어(예산의 28%)를 차지
5위 소스는 266단어(예산의 13%)를 차지
평균 추출 청크: 15.5단어
1,000단어 미만 페이지: 61% 커버리지
3,000단어 이상 페이지: 13% 커버리지
dejan.ai/blog/how-big-are-googles-grounding-chunks dejan.ai/blog/googles-ranking-signals
MIT 라이선스 - Houtini.ai
Available Tools
2 toolsanalyze_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.
| Name | Required | Description | Default |
|---|---|---|---|
| content | Yes | The text content to analyze (markdown, plain text, or HTML) | |
| query | No | Optional context string describing the content topic (e.g., "sim racing equipment", "SEO guide"). Used for relevance scoring only. Defaults to "general content analysis". | |
| output_format | No | Output verbosity: "detailed" (default) includes all suggestions and recommendations; "summary" provides condensed results | detailed |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The URL to analyze | |
| query | No | Optional context string describing the content topic (e.g., "sim racing wheels", "content optimization"). Used for relevance scoring only. Defaults to "general content analysis". | |
| output_format | No | Output verbosity: "detailed" (default) includes all suggestions and recommendations; "summary" provides condensed results | detailed |
TDQS
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.
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.
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.
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.
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.
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.
2 tool updates
v3.0.3- First observed
analyze_text - First observed
analyze_url
TDQS
Scored across 2 tools
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.
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.
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.
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
Related MCP Connectors
SEO, GEO & AI Visibility — research, write, optimize, publish & monitor content. 121 tools.
Track AI visibility (ChatGPT, Gemini, AI Overviews), research SEO keywords, write, publish, prove.
Free AI visibility (GEO/AEO) audit: can ChatGPT, Claude and Perplexity find and cite your website?
Measure how AI engines cite your brand. Cross-engine GEO visibility, as agent tools.
Related MCP Servers
- AlicenseBqualityDmaintenanceAdvanced 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.1221 npm12Apache 2.0
- AlicenseAqualityDmaintenanceAudit 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.598 npmMIT
- AlicenseAqualityCmaintenanceUnifies 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.363MIT
- -licenseNot gradedqualityCmaintenanceEnables 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.-