A framework for building self-contained, searchable MCP servers from technical documentation. Create independent documentation servers with hybrid vector + keyword search, ready to distribute and...
概览
A framework for building self-contained, searchable MCP servers from technical documentation. Create independent documentation servers with hybrid vector + keyword search, ready to distribute and deploy. 1. searchable MCP servers from any Markdown/MDX documentation source 2. with hybrid semantic (vector) + keyword (FTS) search via Reciprocal Rank Fusion 3. self-contained servers as standalone repositories or packages 4. to VS Code, Claude Desktop, or any MCP-compatible host 5. to multiple documentation sources with automated tooling - 🔍 : Combines semantic similarity (HNSW) and keyword matching (BM25) intelligently - 📦 : Each MCP server is fully standalone and distributable - 🚀 : Works with MDX, Markdown, and other documentation formats - 🎛️ : All paths and parameters controlled via YAML configuration - 💾 : DuckLake provides reproducible documentation snapshots - 🔄 : Scripts for syncing, scaffolding, and building new servers This project supports multiple independent MCP...
README
以下为原文 README 节选,完整内容请查看原文。
Multi-Server MCP Documentation Search
A framework for building self-contained, searchable MCP servers from technical documentation. Create independent documentation servers with hybrid vector + keyword search, ready to distribute and deploy.
🎯 Project Overview
This framework enables you to:
- Build searchable MCP servers from any Markdown/MDX documentation source
- Search with hybrid semantic (vector) + keyword (FTS) search via Reciprocal Rank Fusion
- Distribute self-contained servers as standalone repositories or packages
- Deploy to VS Code, Claude Desktop, or any MCP-compatible host
- Scale to multiple documentation sources with automated tooling
Core Value Proposition
- 🔍 Hybrid Search: Combines semantic similarity (HNSW) and keyword matching (BM25) intelligently
- 📦 Self-Contained Servers: Each MCP server is fully standalone and distributable
- 🚀 Multi-Format Support: Works with MDX, Markdown, and other documentation formats
- 🎛️ Config-Driven: All paths and parameters controlled via YAML configuration
- 💾 Versioned Data: DuckLake provides reproducible documentation snapshots
- 🔄 Automated Tooling: Scripts for syncing, scaffolding, and building new servers
📐 Multi-Server Architecture
This project supports multiple independent MCP servers, each serving different documentation sources:
/home/james/mcp/
├── servers/ # Standalone MCP servers
│ ├── mojo-manual-mcp/ # Mojo documentation server
│ │ ├── runtime/ # Server code + indexed database
│ │ │ ├── mojo_manual_mcp_server.py
│ │ │ ├── search.py
│ │ │ └── mojo_manual_mcp.db
│ │ ├── config/ # YAML configuration
│ │ │ ├── processing_config.yaml
│ │ │ └── server_config.yaml
│ │ ├── requirements.txt
│ │ └── README.md
│ │
│ └── [future-servers]/ # DuckDB, Python, etc.
│
├── shared/ # Build-time infrastructure (dev only)
│ ├── preprocessing/ # Document processing pipeline
│ ├── embedding/ # Embedding generation scripts
│ ├── templates/ # Templates for new servers
│ └── build/ # Ephemeral build artifacts
│
├── source-documentation/ # Documentation sources
│ ├── mojo/manual/ # Mojo docs (MDX files)
│ └── [other-sources]/
│
└── tools/ # Automation scripts
├── sync_documentation.sh # Sync from upstream repos
├── scaffold_new_mcp.sh # Create new server structure
└── build_mcp.sh # Build server database
Key Design Principles:
- Each server in
/servers/{name}/is completely self-contained and distributable - Shared build infrastructure in
/shared/is for development only (not packaged with servers)
安装
This server does not publish a one-line install command.
Open the repository installation guide 新手?先看 mcpskill.org 教程 →