Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"distill-mcp": {
"env": {
"DISTILL_MCP_CONFIG": "{\"mode\":\"lightweight\",\"python_path\":\"python3\"}"
},
"args": [
"-y",
"distill-mcp-server"
],
"command": "npx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
An MCP server that connects any MCP-compatible client to Distill, converting local documents to clean, token-efficient Markdown before the LLM reads them. Typical token reduction is 40–80% compared to raw document text, letting the model fit more content into its context window and reason over it faster.
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
npx -y 'distill-mcp-server' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
Checked distill-mcp-server against OSV.dev.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in writing / data
Query and manage PostgreSQL databases directly from AI assistants
🔥 Official Firecrawl MCP Server - Adds powerful web scraping and search to Cursor, Claude and any other LLM clients.
Manage Supabase projects — databases, auth, storage, and edge functions
A markdown editor — and the bridge to your LLM. Local-first, MIT, ~15 MB. Bundled MCP server lets Claude Code / Codex / Cursor drive your vault directly. 14 AI providers BYOK.
MCP Security Weekly
Get CVE alerts and security updates for io.github.lakshgk/distill-mcp and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
An MCP server that connects any MCP-compatible client to Distill, converting local documents to clean, token-efficient Markdown before the LLM reads them. Typical token reduction is 40–80% compared to raw document text, letting the model fit more content into its context window and reason over it faster.
Works with Claude Desktop, Claude Code, Cursor, Windsurf, and any other MCP client that supports tool calling.
| Lightweight | Full (Docker) | |
|---|---|---|
| Requires Docker | No | Yes |
| DOCX, XLSX, PPTX, native PDF, HTML | Yes | Yes |
| Scanned PDF (OCR) | No | Yes |
| Audio (MP3, WAV, etc.) | No | Yes |
| Quality score | No | Yes |
| Install time | ~2 min | ~10 min |
Lightweight needs only Python and pip. Full needs Docker with the Distill service running. See the setup guides for details.
No global install required:
npx -y distill-mcp-server
Then configure Claude Desktop — see Lightweight setup or Full setup for step-by-step instructions.
Add the server to your claude_desktop_config.json.
Lightweight mode — macOS / Linux:
{
"mcpServers": {
"distill-mcp": {
"command": "npx",
"args": ["-y", "distill-mcp-server"],
"env": {
"DISTILL_MCP_CONFIG": "{\"mode\":\"lightweight\",\"python_path\":\"python3\"}"
}
}
}
}
Lightweight mode — Windows:
{
"mcpServers": {
"distill-mcp": {
"command": "npx",
"args": ["-y", "distill-mcp-server"],
"env": {
"DISTILL_MCP_CONFIG": "{\"mode\":\"lightweight\",\"python_path\":\"py\"}"
}
}
}
}
Full mode — all platforms:
{
"mcpServers": {
"distill-mcp": {
"command": "npx",
"args": ["-y", "distill-mcp-server"],
"env": {
"DISTILL_MCP_CONFIG": "{\"mode\":\"full\",\"distill_url\":\"http://localhost:7860\"}"
}
}
}
}
Full config key reference is in the setup guides: Lightweight | Full
Paste this into your project's CLAUDE.md so Claude knows how to use the
tool automatically. Copy the block below as-is:
## Document Conversion — distill-mcp
When the user references a local file path (e.g. a PDF, DOCX, PPTX, XLSX,
HTML, or audio file), ALWAYS call the `convert_and_save` tool before reading
or reasoning about the document. Do not read the original file directly via
filesystem tools — use only the Markdown returned by `convert_and_save` as
the document content.
### Rules
1. Call `convert_and_save` with the absolute file path before doing anything
else with the document.
2. Use ONLY the Markdown output from `convert_and_save` as the document
content. Never read the original file with filesystem tools.
3. If the response includes `"overwritten": true`, tell the user that a
previous cached version was replaced before proceeding.
4. If the response includes any `warnings`, surface them to the user before
proceeding with the document content.
5. If `convert_and_save` returns an unsupported format error, tell the user
which formats are supported and suggest switching modes if applicable.
### Supported formats
| Category | Lightweight | Full (Docker) |
|---|---|---|
| Word | .docx, .doc, .odt | .docx, .doc, .odt |
| Excel | .xlsx, .xlsm, .csv | .xlsx, .xlsm, .csv |
| PowerPoint | .pptx, .ppt | .pptx, .ppt |
| PDF | .pdf (native text) | .pdf (native + scanned OCR) |
| HTML | .html, .htm | .html, .htm |
| Audio | — | .mp3, .wav, .m4a, .flac, .ogg |
| Other |
... [View full README on GitHub](https://github.com/lakshgk/distill-mcp#readme)