mcp-docpilot-server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-docpilot-serverfind documents about embedding models"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-docpilot-server
An MCP server that exposes document retrieval
as tools any LLM provider can call. It puts a single, stable interface in front
of a vector index (built from DocPilot's
ingestion pipeline) so a model never has to know how the documents are stored or
which embedding backend is in use - it just calls docpilot_search.
The server provides the tools and data access; the connected model does the generation. That split is what makes it provider-agnostic: Claude Desktop, or any client that speaks MCP, gets the same retrieval tools.
Tools
Tool | What it does |
| Semantic search over the corpus; returns ranked chunks with source and score |
| Lists indexed source documents with per-source chunk counts |
Both tools are read-only.
Related MCP server: ragi
How it works
docs/*.md ──ingest.py──> chunk + embed ──> ChromaDB (persistent)
│
server.py exposes ──┤── docpilot_search
MCP tools over └── docpilot_list_sources
stdio or HTTP
│
Claude Desktop / any MCP client ──┘ (model calls the tools)Setup
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
# Build the index from the docs folder (swap in your own .txt/.md files)
python ingest.py ./docsEmbeddings use ChromaDB's local default model, so it runs with no API key. To
point it at a hosted embedding provider instead, set a ChromaDB embedding
function in ingest.py and server.py - the rest of the pipeline is unchanged.
Run
stdio (local clients like Claude Desktop):
python server.pyStreamable HTTP (remote server):
DOCPILOT_TRANSPORT=http python server.py
# serves MCP at http://localhost:8000/mcpThe SDK's HTTP transport supersedes the older SSE transport; point HTTP-based
MCP clients at the /mcp endpoint.
Connect to Claude Desktop
Add this to claude_desktop_config.json:
{
"mcpServers": {
"docpilot": {
"command": "python",
"args": ["/absolute/path/to/mcp-docpilot-server/server.py"],
"env": {
"DOCPILOT_CHROMA_PATH": "/absolute/path/to/mcp-docpilot-server/chroma"
}
}
}
}Or, for an HTTP server:
claude mcp add --transport http docpilot http://localhost:8000/mcpConfiguration
Env var | Default | Meaning |
|
| Persistent ChromaDB store |
|
| Collection name |
|
|
|
|
| Characters per chunk (ingest) |
|
| Overlap between chunks (ingest) |
|
|
|
Switching the embedding backend changes the vector space, so re-ingest into a
fresh store when you change it (rm -rf chroma && python ingest.py ./docs). All
backend selection lives in embeddings.py - that one file is the seam for the
embedding lifecycle.
Test
pytest -qThe test ingests a tiny corpus and confirms retrieval ranks the expected
document first. CI runs it on every push (.github/workflows/ci.yml).
This server cannot be deployed
Maintenance
Related MCP Connectors
DocBase MCP server for AI agents
MCP server for querying Forkast documentation
Agent-native MCP server over the public saagarpatel.dev corpus. Read-only, stateless.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn MCP server implementation that provides tools for retrieving and processing documentation through vector search, enabling AI assistants to augment their responses with relevant documentation context14 npm265MIT
- AlicenseAqualityDmaintenanceLocal-first RAG indexing and semantic search MCP server. Enables document retrieval and context-aware queries using local embedding models.36 npmMIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that indexes documents and serves relevant context to LLMs via Retrieval Augmented Generation (RAG).28 npm37MIT
- FlicenseNot gradedqualityCmaintenanceAn MCP server exposing document search, retrieval, and summarization tools, paired with a LangChain agent that performs multi-step tasks like finding and summarizing relevant docs.-