Distill
Distill
MCP-сервер для Claude Code, который превращает сохраненные статьи в разговорные подкасты, адаптированные под ваши интересы.
Сохраняйте статьи в течение дня. Создавайте разговорный подкаст с двумя ведущими по запросу. MP3-файл сохраняется в ~/Downloads, воспроизводится звуковой сигнал, очередь очищается. Все работает локально.
Установка
git clone <this repo> ~/code/distill
cd ~/code/distill
npm installRelated MCP server: MCP Podcast Scraper
Регистрация в Claude Code
Добавьте Distill как MCP-сервер. Самый простой способ — из директории, где вы хотите хранить свою очередь (ваш «проект для чтения»):
claude mcp add distill -- node /absolute/path/to/distill/index.jsИли добавьте вручную в ~/.claude.json / .mcp.json проекта:
{
"mcpServers": {
"distill": {
"command": "node",
"args": ["/absolute/path/to/distill/index.js"]
}
}
}Distill читает и записывает файлы в текущую рабочую директорию, из которой был запущен Claude Code, поэтому ваша очередь и транскрипты находятся рядом с проектом, в котором вы работаете. Если вы хотите использовать единую глобальную очередь, установите DISTILL_PROJECT_ROOT:
{
"mcpServers": {
"distill": {
"command": "node",
"args": ["/absolute/path/to/distill/index.js"],
"env": { "DISTILL_PROJECT_ROOT": "/Users/you/distill-home" }
}
}
}Перезапустите Claude Code. Проверьте с помощью /mcp — вы должны увидеть подключенный distill.
Настройка
Простой режим: выполните /distill:setup внутри Claude Code. Он проведет вас через настройку интересов, стиля шоу, TTS-провайдера и API-ключа, задавая по одному вопросу за раз.
Ручной режим: при первом запуске Distill создает файл .distill по умолчанию в корне проекта. Отредактируйте его напрямую:
INTERESTS=entrepreneurship, cybersecurity, AI, startups
SHOW_STYLE=The Briefing
TTS_PROVIDER=openai
OPENAI_API_KEY=sk-...
OUTPUT_DIR=~/DownloadsПолный пример с комментариями смотрите в .distill.example.
Примечание о структуре файловой системы
В спецификации .distill описывается и как файл, и как директория. Поскольку это невозможно, Distill использует:
.distill— файл конфигурации (формат dotenv).distill-data/— директория данных (queue.json,transcripts/)
Слэш-команды
Claude Code предоставляет MCP-промпты с префиксом /mcp__<server>__<prompt>, поэтому все команды Distill начинаются с /mcp__distill__:
Команда | Что делает |
| Интерактивная первичная настройка (интересы, стиль, TTS, API-ключ) |
| Загрузить и добавить статью в очередь |
| Показать текущую очередь |
| Очистить очередь (без создания подкаста) |
| Создать подкаст из одной статьи |
| Создать подкаст из очереди, затем очистить её |
| Добавить интерес |
| Удалить интерес |
| Показать текущие интересы |
Совет: обычно можно ввести первые несколько букв (например, /distill-pod) и позволить автодополнению заполнить остальное.
Все команды также работают как естественный язык:
"Сохрани это в мою очередь подкастов: https://…" "Сделай глубокий разбор из моей очереди" "Пропусти мои обычные интересы, сосредоточься на техническом аспекте"
Стили шоу
Стиль | Динамика ведущих | Атмосфера |
The Briefing | Ведущий + корреспондент | Чисто, новостной формат |
The Debate | Скептик против оптимиста | Резко, субъективно |
The Deep Dive | Эксперт + любознательный ученик | Образовательно |
The Watercooler | Двое коллег беседуют | Неформально |
Переопределение для сессии: "Сделай в стиле Debate".
TTS-провайдеры
Провайдер | Примечания |
| Рекомендуемый по умолчанию. Требует |
| Самые естественные голоса. Требует |
| С акцентом на персонажей. Требует |
| macOS |
Как это работает
Загрузка статьи:
@mozilla/readability+jsdom— удаляет навигацию, рекламу, футеры и возвращает чистый текст.Создание сценария: MCP-промпт дает указание LLM Claude Code прочитать очередь, загрузить стиль шоу и написать сценарий диалога. Отдельный API-ключ Claude не требуется.
TTS: синтез по частям (один API-запрос на реплику диалога, чтобы у каждого ведущего был свой голос), затем объединение в один MP3-файл.
Транскрипт: текстовая копия сохраняется в
.distill-data/transcripts/для отладки.Уведомление: macOS
afplayвоспроизводит короткий системный звук, когда MP3 готов.
Архитектура и расходы
Distill — это локальный MCP-сервер на базе stdio. Все работает на машине пользователя. Хостинг-бэкенда нет.
┌───────────────┐ stdio ┌───────────────┐ HTTPS ┌──────────┐
│ Claude Code │◀──────────▶│ distill MCP │────────────▶│ TTS API │
│ (your LLM) │ │ (node process)│ │ (yours) │
└───────────────┘ └───────────────┘ └──────────┘
│ │
│ ▼
│ .distill / .distill-data/
▼
writes script,
calls toolsКто за что платит:
Расход | Кто платит |
LLM, которая пишет диалог | Пользователь — работает внутри сессии Claude Code, по подписке / API-биллингу Claude |
Генерация аудио TTS | Пользователь — использует свой |
Хостинг | Никто — stdio MCP-серверам не нужен сервер |
Это означает, что любой, кто делает форк или устанавливает Distill, просто клонирует репозиторий и указывает на него Claude Code. Никаких аккаунтов, регистраций, ничего не нужно развертывать.
Область применения
Только Claude Code — не является самостоятельным CLI
Только английский язык
Предполагается macOS для системного звука
Нет поддержки JS-рендеринга или статей за пейволлом
Нет планировщика — генерация по запросу
Устранение неполадок
/mcpпоказывает, что distill не удалось запустить — проверьте абсолютный путь кindex.jsв вашей конфигурации MCP и убедитесь, чтоnpm installбыл выполнен в директории distill."Could not extract readable content" — страница, вероятно, за пейволлом или требует JS-рендеринга. В v1 повторных попыток нет.
TTS выдает ошибку "missing API key" — раскомментируйте ровно одну строку
TTS_PROVIDER=в.distillи убедитесь, что соответствующий*_API_KEYзадан.systemTTS выдает ошибку "requires ffmpeg or sox" —brew install ffmpeg.
This server cannot be deployed
Maintenance
Related MCP Connectors
The Listenetic MCP server is a remote, cloud-hosted server that enables AI assistants like ChatGPT and Claude to convert articles, documents, websites, and videos into high-quality AI-generated audio. It provides multi-format support for text and binary files, natural-sounding text-to-audio conversion using AI, and specialized processing for SSML, markup, markdown, and various media formats through three core tools: listentic_supported_mimetypes, listentic_add_content_text, and listentic_add_content_binary.
MCP server for RiverScript, an AI transcription platform - fetches transcripts shared via a link.
Augments MCP Server - A comprehensive framework documentation provider for Claude Code
MCP server for structured access to Lenny Rachitsky podcast transcripts. For content creators.
Related MCP Servers
- AlicenseBqualityDmaintenanceAn MCP (Model Context Protocol) server that provides seamless integration between Fish Audio's Text-to-Speech API and LLMs like Claude, enabling natural language-driven speech synthesis.2171 npm15MIT
- FlicenseAqualityDmaintenanceAn MCP server that scrapes and transcribes podcast episodes from YouTube or RSS feeds using Deepgram's Nova-2 model. It allows users to track podcasts for new episodes, manage transcripts, and generate personalized summaries through Claude.101-
- AlicenseAqualityDmaintenanceAn MCP server that indexes plain-text podcast transcripts stored in Dropbox and makes them searchable inside Claude Code.4MIT
- AlicenseAqualityDmaintenanceThis MCP server enables Claude to speak summaries, announcements, and explanations aloud using text-to-speech — right from your terminal.4MIT