mcp
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.
claude mcp add --transport stdio jpotter80-mcp pixi run serve \ --env MAX_SERVER_URL="Embedding server endpoint" \ --env EMBED_MODEL_NAME="Sentence transformer model name"
How to use
This MCP server framework lets you host multiple self-contained documentation servers that combine hybrid vector search with keyword-based full-text search. Each server processes a documentation source (Markdown/MDX) into semantically meaningful chunks, generates embeddings, and builds an index that supports fast vector similarity (via HNSW) and keyword search (BM25). The results are fused using Reciprocal Rank Fusion to deliver relevant snippets from the documentation. You can run and manage multiple servers from a single configuration, enabling scalable deployment of distinct doc sources such as Mojo manuals, DuckDB docs, or MCP documentation itself. Use the provided tooling to start, stop, and scale servers, and rely on the embedded DuckLake and DuckDB components for versioned data and fast search. If the MAX embedding server is unavailable, the system gracefully falls back to keyword-only search to ensure continued access to results.
How to install
Prerequisites:
- Git installed
- Python 3.12+ installed (for Python-based MCP servers)
- Node.js (optional, for certain tooling) or Pixi installed (as the package/automation layer)
- Access to a shell/terminal with network access
Installation steps:
-
Clone the repository: git clone https://github.com/jpotter80/mcp.git cd mcp
-
Install Python dependencies for the Mojo manual MCP server (as an example path from the repo): cd servers/mojo-manual-mcp python -m venv venv source venv/bin/activate # on Windows use venv\Scripts\activate pip install -r requirements.txt
-
Install Pixi (optional but recommended for building/running servers):
If you don’t have Pixi installed
npm i -g pixi # or follow official Pixi installation instructions
-
Install dependencies for all servers (example using Pixi workflow): cd ../../.. pixi install
-
Configure environment variables as needed (example for Mojo): export MOJO_DB_PATH=/path/to/db export MAX_SERVER_URL=http://localhost:8000 export EMBED_MODEL_NAME=sentence-transformers/all-MiniLM-L6-v2 export AUTO_START_MAX=1
-
Start a server (example for mojo-manual-mcp): cd servers/mojo-manual-mcp pixi run serve # or use the runtime/python server command as per project guidance
-
Validate running servers by accessing their APIs or using the VS Code MCP integration as described in the README.
Note: The project provides pre-built databases in the repository so an initial build step may be optional for basic runs. Refer to the specific server’s README for exact run commands and paths.
Additional notes
Tips and common issues:
- If MAX embedding server is offline, the search may degrade to keyword-only results; ensure MAX is reachable or configure a fallback.
- Use the YAML-based configuration to avoid hard-coded paths; keep environment variable references for flexibility across environments.
- For multi-server setups, keep each server self-contained under servers/{name} to preserve distributability.
- When upgrading dependencies, prefer recreating virtual environments to avoid stale citations in embeddings and indexes.
- If you encounter port conflicts, adjust the MAX or DuckDB service ports via environment variables or server configuration files.
- Ensure consistent Python versions across development and deployment to avoid runtime mismatches, especially for DuckDB and embedding runtimes.
- When deploying to VS Code, ensure the cwd in your mcp.json points to the exact server directory to allow proper process management.
Related MCP Servers
docfork
Docfork - Up-to-date Docs for AI Agents.
rtfmbro
rtfmbro provides always-up-to-date, version-specific package documentation as context for coding agents. An alternative to context7
flapi
API Framework heavily relying on the power of DuckDB and DuckDB extensions. Ready to build performant and cost-efficient APIs on top of BigQuery or Snowflake for AI Agents and Data Apps
company-docs
AI-powered company knowledge MCP. Unified place for internal policies, values, documentation, and governance. Agents can search, cite, and answer questions using real company docs.
mcp -docy
A Model Context Protocol server that provides documentation access capabilities. This server enables LLMs to search and retrieve content from documentation websites by scraping them with crawl4ai. Built with FastMCP v2.
mcpverified
The definitive resource for Model Control Protocol (MCP) - Opinionated. Curated. Verified.