juergenkoller-software/distill-mcp
π π - MCP bridge for Distill β AI file renamer that analyzes content (PDF/OCR/Office/email/media) and renames files with descriptive names. Five AI providers (Claude, OpenAI, Gemini, Ollama, Apple Intelligence), pay-per-use credits, folder monitoring, 9 MCP tools.
Quick Install
{
"mcpServers": {
"juergenkoller-software-distill-mcp": {
"command": "npx",
"args": [
"-y",
"juergenkoller-software-distill-mcp"
]
}
}
}Using an AI coding agent (Claude Code, Cursor, etc.)? Copy a ready-made prompt that tells it to fetch the setup instructions and install this server for you.
Documentation Overview
Distill MCP Server
Let Claude, Cursor, or any MCP client rename files for you β automatically, based on content.
This is the official Model Context Protocol bridge for Distill β a native macOS app that uses AI (Claude, OpenAI, Gemini, Ollama, or Apple Intelligence) to read your files and rename them with descriptive, consistent names. No more IMG_4521.jpg or Scan_003.pdf β get 250401 Invoice Telekom.pdf instead.
You need the Distill app installed and running. This MCP server is a stdioβHTTP bridge β the actual file analysis happens in the app. Get Distill at store.juergenkoller.software/apps/distill.
What you can do
"Claude, look at the 47 PDFs in ~/Downloads, rename them based on content, but show me the suggestions first."
The MCP server exposes 9 tools:
| Tool | What it does |
|---|---|
rename_files | Analyze file content with AI and rename with descriptive names |
suggest_names | Suggest new names without renaming (preview mode) |
revert_rename | Undo a previous rename |
get_rename_history | Show the rename history (timestamps, before/after, AI provider used) |
watch_folder | Add a folder to auto-monitoring (new files get renamed in the background) |
app_status | Current state, AI provider, credits left, watched folders |
set_provider | Switch AI provider β Claude, OpenAI GPT-4o, Gemini, Ollama (local), Apple Intelligence |
get_rules | Show naming rules (date format, casing, categories, custom templates) |
set_rules | Update naming rules |
Distill reads PDFs, images (via OCR), Office documents, emails, HTML, RTF, and media files. It extracts date, category, description, sender, and amounts β then builds filenames using your configurable rules.
Installation
Prerequisites
- macOS 14 (Sonoma) or later
- Distill app installed and running β get it here (free, pay-per-use credits start at β¬1.99 / 100 renames)
- Swift 5.9+ (Xcode 15+) if building from source
Build from source
git clone https://github.com/juergenkoller-software/distill-mcp.git
cd distill-mcp
swift build -c release
# Binary: .build/release/DistillMCP
Pre-built binary
Grab the latest DistillMCP from Releases.
Configuration
Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"distill": {
"command": "/path/to/DistillMCP",
"env": {
"DISTILL_PORT": "22200",
"DISTILL_TOKEN": "your-token-here"
}
}
}
}
Find DISTILL_TOKEN in Distill β Settings β API & MCP.
Claude Code
claude mcp add distill /path/to/DistillMCP \
--env DISTILL_PORT=22200 \
--env DISTILL_TOKEN=your-token-here
Cursor / other MCP clients
Same pattern β DistillMCP is a stdio MCP server, configured via the two env vars above.
How it works
ββββββββββββββββββ JSON-RPC stdio ββββββββββββββββββ HTTP+Bearer ββββββββββββββββββ
β Claude/Cursor β ββββββββββββββββΊ β DistillMCP β ββββββββββββββΊ β Distill.app β
β (MCP client) β ββββββββββββββββ β (this repo) β ββββββββββββββ β (port 22200) β
ββββββββββββββββββ ββββββββββββββββββ ββββββββββββββββββ
The bridge reads JSON-RPC 2.0 requests from stdin, forwards them to Distill's local HTTP server at 127.0.0.1:22200/mcp, and writes responses back to stdout. All AI calls (Claude/OpenAI/Gemini/Ollama/Apple Intelligence), file reading (OCR, PDF extraction, Office parsing), credit tracking, and naming logic happen inside the Distill app.
This split lets the wire format stay open-source (audit it, sandbox it, run it through any MCP runtime) while the heavy lifting stays in the app.
Environment variables
| Variable | Default | Description |
|---|---|---|
DISTILL_PORT | 22200 | Port of Distill's local HTTP server |
DISTILL_TOKEN | (none) | Bearer token from Distill Settings (required) |
Errors and trace logs go to stderr so they don't pollute the JSON-RPC stdout channel.
About Distill
Distill is an AI file manager for macOS that automatically renames files based on content analysis. Highlights:
- No subscription β free app, pay-per-use credits (100 free / 100 for β¬1.99 / 400 for β¬4.99 / 1,000 for β¬8.99)
- Five AI providers β Claude, OpenAI GPT-4o, Google Gemini, Ollama (local, no API needed), Apple Intelligence
- Reads everything β PDFs, images (OCR), Office docs, emails, HTML, RTF, media files
- Local-only mode with Ollama β nothing leaves your Mac
- Configurable NameBuilder β date formats, casing, categories, custom templates
- Folder monitoring β drop files in, get them renamed automatically
- REST API + Swagger UI β for non-MCP automation
- MCP server (this repo) β for Claude/AI agents
- Available on Mac App Store + direct download
β Get Distill at store.juergenkoller.software
License
MIT β see LICENSE. Bridge is open source; the Distill app is commercial (free-to-try with pay-per-use credits).
Issues & support
- Bridge bugs: open an issue
- App support: support@juergenkoller.software
Built by Juergen Koller Software GmbH.