Multi-URL comparative content analysis with topical gap detection
io.github.houtini-ai/fanout (Fan-Out MCP)
The Fan-Out MCP server performs multi-URL comparative content analysis with topical gap detection. It is associated with the npm package @houtini/fanout-mcp and is listed as MCP-compatible (Model Context Protocol). Project metadata provided includes topics: ai, aisearch, generative-ai, and semantic-search, and a license of Apache 2.0.
๐ ๏ธ Key Features
Multi-URL comparative content analysis
Topical gap detection
MCP-compatible server
๐ Use Cases
Compare content across multiple URLs
Identify missing or under-covered topics (topical gaps)
Focused for semantic search and AI-assisted content analysis (per topics)
โ ๏ธ Limitations
Server behavior is described only at a high level in the provided excerpt; specific tools and capabilities are not included in the available source data.
The problem: Traditional SEO focused on keywords and backlinks. AI search engines (ChatGPT, Perplexity, Gemini) don't work that way. They evaluate whether your content can answer user queries - across dozens of query variations you've probably never considered.
The solution: This MCP uses research-backed techniques from Google and academic papers to:
Decompose complex topics into the actual questions users ask
Generate query variations using Google's patented fan-out methodology
Assess whether your content can answer each query (with evidence)
Identify specific gaps and provide actionable recommendations
The result: Content optimized for Generative Engine Optimization (GEO) - answering the queries AI search engines need to cite your work.
What It Does
Three Analysis Modes
1. Content-Only Analysis (Default)
Analyzes what questions your content naturally answers based on structure and topics.
code
Analyze https://your-site.com/article with standard depth
2. Hybrid Analysis (Content + Keyword Targeting)
Combines content analysis with keyword-specific query variants. This is the power mode.
code
Analyze https://your-site.com/article with target_keyword "direct drive racing wheels"
Generates 15-25 query variants by default across 5 types:
Equivalent - "sim racing wheels", "racing simulator wheels"
Specification - "Fanatec DD Pro review", "8Nm direct drive wheel"
Follow-Up - "how to calibrate racing wheel", "mounting options"
Comparison - "Fanatec vs Thrustmaster", "belt drive vs direct drive"
Clarification - "what is direct drive technology", "how does FFB work"
This tool implements techniques from cutting-edge Information Retrieval research:
Query Fan-Out - Based on Google's patented methodology (US 11663201 B2) and research paper Training Query Fan-Out Models with Generative Neural Networks. Generates query variants across 8 types to discover how users actually search for information.
Self-RAG - Self-Reflective Retrieval-Augmented Generation validates coverage with evidence. No hallucinations - every "covered" claim includes exact quotes from your content.
Query Decomposition - Least-to-Most prompting breaks complex topics into prerequisite, core, and follow-up queries.
Want to understand the research? ๐ Read our accessible explainer:
Generates: "how does X work", "X comparison guide", "X vs Y detailed analysis"
Coverage Assessment with Evidence
Every query assessment includes:
COVERED (90-100% confidence) - Exact evidence found
code
Query: "best PS5 racing wheels under ยฃ300"
Evidence: "For most PlayStation owners getting into sim racing, I'd recommend
starting with the Logitech G29. It's proven kit, widely available, and you
can sell it easily if sim racing doesn't stick. Current Amazon pricing sits
at ยฃ200..."
Location: Entry Level: The ยฃ200-300 Sweet Spot
PARTIAL (40-89% confidence) - Topic mentioned but incomplete
code
Query: "how to calibrate PS5 racing wheel"
Evidence: "Whatever you do, always write down your force feedback settings
for each car in Gran Turismo 7."
Gap: Only mentions saving settings but provides no actual calibration steps
Recommendation: Add detailed calibration guide with step-by-step instructions
GAP (0-39% confidence) - No coverage found
code
Query: "wireless PS5 racing wheel options"
Gap: No wireless racing wheel options discussed
Recommendation: Add section on wireless PS5 racing wheel options if any exist
Performance & Scaling
Based on testing with a 6,491-word article:
Mode
Queries
Time
Speed
Content-Only
14
90s
Baseline
Keyword-Only
19
86s
50% faster than hybrid
Hybrid (5 types)
35
174s
Comprehensive
Hybrid (complex keyword)
36
217s
Handles 11-word keywords
Key insight: ~4-5 seconds per query assessed. More queries = more time, but quality stays consistent.
Optimization tips:
Use quick depth for fast scans (5 queries, ~25s)
Use keyword-only mode when you only need variant coverage
Use fewer variant types for faster results
Assessment time dominates (75-85%), generation is fast
Quality Metrics (Validated via Testing)
All metrics validated through comprehensive testing:
MCP SDK - Model Context Protocol for tool integration
Anthropic SDK - Claude Sonnet 4.5 for analysis
cheerio - HTML parsing and content extraction
turndown - HTML to Markdown conversion
TypeScript - Type-safe implementation
React (via Claude artifacts) - Interactive visualization
Design System
Artifacts use components inspired by the Claude Visual Style Guide for consistent, accessible rendering:
Components:
Button (default, outline variants)
Card / CardHeader / CardTitle / CardContent
Badge (success, warning, error)
Progress (animated)
Collapsible sections
Important: Artifacts must use inline SVG icons - window.lucide is not reliably available in Claude's sandboxed environment.
All styling uses Tailwind CSS utility classes with semantic tokens for dark mode compatibility.
Contributing
Contributions welcome! Areas of interest:
Multi-language support
Performance optimization
Additional variant types
Integration with SEO tools
Please open an issue to discuss before submitting PRs.
License
Apache License 2.0
Copyright 2024 Houtini Ltd
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
code
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.