docsift — Claude Code MCP server: search your own documents
A local MCP server that converts documents to Markdown once, indexes them, and hands your agent only the passages that answer a question.
claude mcp add docsift -- uvx docsiftWhat docsift does
A 300-page PDF will not fit a model's context window, and pasting it in costs money anyway. DocSift converts the file once, splits it into token-budgeted chunks and writes everything to ./output/. When the agent asks something, it gets back a few relevant chunks with page numbers and section headings instead of the whole document.
Two engines sit behind one interface: Docling for PDFs, MarkItDown for everything else. It runs on your machine — no cloud APIs, no accounts. Python 3.11 or newer is required. On Linux, install with --torch-backend auto, otherwise uv pulls the CUDA build of PyTorch and you download gigabytes of nvidia-* wheels your machine never loads.
Office support covers .docx, .xlsx and .pptx only. The pre-2007 binaries .doc, .xls and .ppt are refused by name, so save them in a modern format first. Browser clients like claude.ai and ChatGPT cannot use it: they need a remote transport, and DocSift speaks stdio only.
What it helps with
- shrink a long PDF to a handful of relevant passages
- search your own files without uploading them anywhere
- get a citation with a page number and section heading
- turn
.docxand.pptxfiles into clean Markdown - split a document into chunks that fit a token budget
Example prompts for the agent
- Find the revenue section in
report.pdfand give me the page number - Index
contract.docxand tell me what the payment terms are - Search my documents for anything about the Postgres integration
How to install docsift
Platform CLI
claude mcp add docsift -- uvx docsiftuvx runs the command named after the package; if the README names another one, use uvx --from docsift <command>
Platform CLI
codex mcp add docsift -- uvx docsiftuvx runs the command named after the package; if the README names another one, use uvx --from docsift <command>
Config file
{
"mcpServers": {
"docsift": {
"command": "uvx",
"args": [
"docsift"
]
}
}
}uvx runs the command named after the package; if the README names another one, use uvx --from docsift <command>
Config file
{
"servers": {
"docsift": {
"type": "stdio",
"command": "uvx",
"args": [
"docsift"
]
}
}
}uvx runs the command named after the package; if the README names another one, use uvx --from docsift <command>
Platform CLI
gemini mcp add docsift uvx docsiftuvx runs the command named after the package; if the README names another one, use uvx --from docsift <command>
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about docsift
How do I install docsift in Claude Code?
Install it as a standalone tool first: uv tool install --python 3.12 "docsift[mcp,docling,markitdown]". Then register the server: claude mcp add docsift -- uvx docsift. Run claude mcp list to confirm it connected.
What does docsift do?
It converts documents to Markdown, indexes them, and returns only the passages that answer your agent's question. Each passage comes with page numbers and section headings.
Which document formats does docsift support?
Docling handles PDFs; MarkItDown covers Word, Excel, PowerPoint, HTML, CSV and EPUB. Among Office formats only .docx, .xlsx and .pptx are accepted — .doc, .xls and .ppt are rejected.