Distill Mcp

io.github.lakshgkPublished by GitHub account lakshgkv0.1.1Updated Oct 24, 2026

Convert PDF, DOCX, XLSX, PPTX, HTML, audio to token-efficient Markdown for any MCP client.

VerifiedSTDIODesktop onlyFiles & StorageKnowledge & Memory

Overview

AI-generated overview

Converts local documents such as PDF, DOCX, XLSX, PPTX, HTML and audio into token-efficient Markdown for an MCP client.

What you can do
Distill Mcp exposes a convert_and_save tool that turns local files into clean Markdown before the model reads them, with typical token reductions of 40 to 80 percent versus raw document text. It handles Word, Excel, PowerPoint, native-text PDF, HTML, EPUB, JSON, SQL and WSDL files, and in full mode also scanned PDFs via OCR and audio formats. Converted output is cached, and the tool reports whether a previous cached version was overwritten and any warnings.
When to use it
Useful when an assistant needs to read or reason over local documents and context budget matters, for example summarizing reports, spreadsheets or slide decks. It fits workflows where the client is instructed to convert files first instead of reading originals through filesystem tools.
Requirements
Runs locally over stdio, launched with npx -y distill-mcp-server, so Node.js is needed. Lightweight mode additionally needs Python and pip, configured through the DISTILL_MCP_CONFIG environment variable with a python_path. Full mode needs Docker with the Distill service running locally, configured through DISTILL_MCP_CONFIG with a distill_url. No accounts or API keys are declared.
Before you install
The server reads local files by path and writes converted Markdown output, so it can overwrite a previously cached conversion; the tool reports this via an overwritten flag. Full mode sends document contents to a local Docker service rather than an external one, but that service must be running and reachable. The README states all processing is local and no data leaves the machine.

Installation

In SourceWeft

  1. Open Distill Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

distill-mcp

[npm version] [license] [MCP Registry]

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.

Two Modes

LightweightFull (Docker)
Requires DockerNoYes
DOCX, XLSX, PPTX, native PDF, HTMLYesYes
Scanned PDF (OCR)NoYes
Audio (MP3, WAV, etc.)NoYes
Quality scoreNoYes
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.

Quick install

No global install required:

bash
npx -y distill-mcp-server

Then configure Claude Desktop — see Lightweight setup or Full setup for step-by-step instructions.

Configuration

Add the server to your claude_desktop_config.json.

Lightweight mode — macOS / Linux:

json
{  "mcpServers": {    "distill-mcp": {      "command": "npx",      "args": ["-y", "distill-mcp-server"],      "env": {        "DISTILL_MCP_CONFIG": "{\"mode\":\"lightweight\",\"python_path\":\"python3\"}"      }    }  }}

Lightweight mode — Windows:

json
{  "mcpServers": {    "distill-mcp": {      "command": "npx",      "args": ["-y", "distill-mcp-server"],      "env": {        "DISTILL_MCP_CONFIG": "{\"mode\":\"lightweight\",\"python_path\":\"py\"}"      }    }  }}

Full mode — all platforms:

json
{  "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

CLAUDE.md snippet

Paste this into your project's CLAUDE.md so Claude knows how to use the tool automatically. Copy the block below as-is:

markdown
## 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 readingor reasoning about the document. Do not read the original file directly viafilesystem tools — use only the Markdown returned by `convert_and_save` asthe 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 | — | .epub, .json, .sql, .wsdl, .wsd |
### Usage
Say "convert using distill" followed by the file path:> Convert using distill C:\Users\me\Documents\report.pdf to markdown

The snippet is also available in docs/CLAUDE.md-snippet.md.

Supported formats

CategoryExtensionsLightweightFull
Microsoft Word.docx, .doc, .odtYesYes
Microsoft Excel.xlsx, .xlsm, .csvYesYes
Microsoft PowerPoint.pptx, .pptYesYes
PDF (native text).pdfYesYes
PDF (scanned/OCR).pdfNoYes
HTML.html, .htmYesYes
Audio.mp3, .wav, .m4a, .flac, .oggNoYes
EPUB.epubNoYes
JSON.jsonNoYes
SQL.sqlNoYes
WSDL.wsdl, .wsdNoYes

Privacy

All processing happens locally. In lightweight mode, documents are converted by the distill-core Python library on your machine — no data leaves your computer. In full mode, documents are sent to the Distill Docker service running locally on your machine — no data is sent to external services.

Built on

Distill — document-to-Markdown conversion engine.

License

MIT

Source: README.md at commit da01804

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.1LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts