@houtini/fanout-mcp 0.2.0 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -17
- package/dist/tools/analyze-content-gap.js +20 -6
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -73,29 +73,21 @@ Plus detailed markdown report with all data.
|
|
|
73
73
|
## Installation
|
|
74
74
|
|
|
75
75
|
### Prerequisites
|
|
76
|
-
- Node.js 18+
|
|
77
76
|
- Claude Desktop (or any MCP-compatible client)
|
|
78
77
|
- Anthropic API key
|
|
78
|
+
- Node.js 18+ (for local build only)
|
|
79
79
|
|
|
80
|
-
### Setup
|
|
80
|
+
### Quick Setup (Recommended)
|
|
81
81
|
|
|
82
|
-
|
|
83
|
-
```bash
|
|
84
|
-
git clone https://github.com/houtiniai/fanout-mcp.git
|
|
85
|
-
cd fanout-mcp
|
|
86
|
-
npm install
|
|
87
|
-
npm run build
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
2. **Configure Claude Desktop:**
|
|
82
|
+
**The fastest way to get started** - no cloning or building required:
|
|
91
83
|
|
|
92
|
-
Add to `claude_desktop_config.json
|
|
84
|
+
1. **Add to `claude_desktop_config.json`:**
|
|
93
85
|
```json
|
|
94
86
|
{
|
|
95
87
|
"mcpServers": {
|
|
96
88
|
"fanout": {
|
|
97
|
-
"command": "
|
|
98
|
-
"args": ["/
|
|
89
|
+
"command": "npx",
|
|
90
|
+
"args": ["-y", "@houtini/fanout-mcp@latest"],
|
|
99
91
|
"env": {
|
|
100
92
|
"ANTHROPIC_API_KEY": "sk-ant-api03-your-key-here"
|
|
101
93
|
}
|
|
@@ -197,7 +189,7 @@ This tool implements techniques from cutting-edge Information Retrieval research
|
|
|
197
189
|
**Query Decomposition** - Least-to-Most prompting breaks complex topics into prerequisite, core, and follow-up queries.
|
|
198
190
|
|
|
199
191
|
**Want to understand the research?** 📖 Read our accessible explainer:
|
|
200
|
-
### **[Understanding Keyword Fan-Out: The Research Explained](research/keyword-fanout-explained.md)**
|
|
192
|
+
### **[Understanding Keyword Fan-Out: The Research Explained](https://github.com/houtini-ai/fanout-mcp/blob/main/research/keyword-fanout-explained.md)**
|
|
201
193
|
|
|
202
194
|
This document explains:
|
|
203
195
|
- Why query fan-out matters for content optimization
|
|
@@ -206,7 +198,7 @@ This document explains:
|
|
|
206
198
|
- Real examples from testing
|
|
207
199
|
- When to use which variant types
|
|
208
200
|
|
|
209
|
-
For implementation details, see [`research/google-fanout-adaptation.md`](research/google-fanout-adaptation.md).
|
|
201
|
+
For implementation details, see [`research/google-fanout-adaptation.md`](https://github.com/houtini-ai/fanout-mcp/blob/main/research/google-fanout-adaptation.md).
|
|
210
202
|
|
|
211
203
|
---
|
|
212
204
|
|
|
@@ -615,7 +607,7 @@ For commercial licensing enquiries, please visit https://houtini.com
|
|
|
615
607
|
|
|
616
608
|
**Richard Baxter**
|
|
617
609
|
Houtini.ai
|
|
618
|
-
GitHub: https://github.com/
|
|
610
|
+
GitHub: https://github.com/houtini-ai
|
|
619
611
|
|
|
620
612
|
**Questions?** Open an issue on GitHub
|
|
621
613
|
**Commercial enquiries:** https://houtini.com
|
|
@@ -197,15 +197,20 @@ const Badge = ({ children, variant = 'default' }) => {
|
|
|
197
197
|
const Progress = ({ value }) => <div className="relative h-4 w-full rounded-full bg-secondary"><div className="h-full bg-primary" style={{ width: \`\${value}%\` }} /></div>;
|
|
198
198
|
\`\`\`
|
|
199
199
|
`;
|
|
200
|
-
const baseInstruction =
|
|
200
|
+
const baseInstruction = `═══════════════════════════════════════════════════════════════
|
|
201
|
+
CRITICAL INSTRUCTION - ARTIFACT REQUIRED
|
|
202
|
+
═══════════════════════════════════════════════════════════════
|
|
203
|
+
|
|
204
|
+
YOU MUST CREATE AN INTERACTIVE REACT ARTIFACT FOR THIS ANALYSIS.
|
|
205
|
+
DO NOT provide a text summary. DO NOT explain the data in prose.
|
|
206
|
+
IMMEDIATELY create the artifact using the specifications below.
|
|
201
207
|
|
|
202
208
|
${componentTemplates}
|
|
203
209
|
|
|
204
210
|
`;
|
|
205
211
|
if (isHybridMode) {
|
|
206
212
|
return (baseInstruction +
|
|
207
|
-
`
|
|
208
|
-
|
|
213
|
+
`
|
|
209
214
|
**HYBRID ANALYSIS MODE DETECTED**
|
|
210
215
|
|
|
211
216
|
This analysis combines content-based query inference with keyword fan-out variants.
|
|
@@ -224,14 +229,19 @@ STRUCTURE:
|
|
|
224
229
|
LAYOUT: min-h-screen bg-background p-6, max-w-6xl mx-auto, use Card components
|
|
225
230
|
DATA: Show ALL queries, NO placeholder text like "+ 3 more items"
|
|
226
231
|
|
|
227
|
-
|
|
232
|
+
REMINDER: This MUST be a React artifact, not a text response.
|
|
233
|
+
|
|
234
|
+
═══════════════════════════════════════════════════════════════
|
|
235
|
+
END CRITICAL INSTRUCTION
|
|
236
|
+
═══════════════════════════════════════════════════════════════
|
|
228
237
|
|
|
229
238
|
---
|
|
230
239
|
|
|
231
240
|
`);
|
|
232
241
|
}
|
|
233
242
|
return (baseInstruction +
|
|
234
|
-
`
|
|
243
|
+
`
|
|
244
|
+
STRUCTURE:
|
|
235
245
|
1. Header (gradient) - Title, URL, Progress bar, stats
|
|
236
246
|
2. Query Sections (Collapsible) - Prerequisite (blue), Core (purple), Follow-up (orange)
|
|
237
247
|
3. Summary Recommendations - High/medium priority
|
|
@@ -240,7 +250,11 @@ Make visually appealing with semantic HTML and accessibility.]
|
|
|
240
250
|
LAYOUT: min-h-screen bg-background p-6, max-w-5xl mx-auto
|
|
241
251
|
DATA: Show ALL queries, NO placeholder text or truncation
|
|
242
252
|
|
|
243
|
-
|
|
253
|
+
REMINDER: This MUST be a React artifact, not a text response.
|
|
254
|
+
|
|
255
|
+
═══════════════════════════════════════════════════════════════
|
|
256
|
+
END CRITICAL INSTRUCTION
|
|
257
|
+
═══════════════════════════════════════════════════════════════
|
|
244
258
|
|
|
245
259
|
---
|
|
246
260
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@houtini/fanout-mcp",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.2",
|
|
4
4
|
"description": "Advanced content gap analysis using Query Decomposition, Keyword Fan-Out, and Self-RAG for Generative Engine Optimization (GEO)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -33,11 +33,11 @@
|
|
|
33
33
|
"license": "Apache-2.0",
|
|
34
34
|
"repository": {
|
|
35
35
|
"type": "git",
|
|
36
|
-
"url": "https://github.com/
|
|
36
|
+
"url": "git+https://github.com/houtini-ai/fanout-mcp.git"
|
|
37
37
|
},
|
|
38
|
-
"homepage": "https://
|
|
38
|
+
"homepage": "https://houtini.com",
|
|
39
39
|
"bugs": {
|
|
40
|
-
"url": "https://github.com/
|
|
40
|
+
"url": "https://github.com/houtini-ai/fanout-mcp/issues"
|
|
41
41
|
},
|
|
42
42
|
"engines": {
|
|
43
43
|
"node": ">=18.0.0"
|