Skip to main content
Glama

Distill

MCP-сервер для Claude Code, который превращает сохраненные статьи в разговорные подкасты, адаптированные под ваши интересы.

Сохраняйте статьи в течение дня. Создавайте разговорный подкаст с двумя ведущими по запросу. MP3-файл сохраняется в ~/Downloads, воспроизводится звуковой сигнал, очередь очищается. Все работает локально.

Установка

git clone <this repo> ~/code/distill
cd ~/code/distill
npm install

Регистрация в 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__:

Команда

Что делает

/mcp__distill__setup

Интерактивная первичная настройка (интересы, стиль, TTS, API-ключ)

/mcp__distill__save <url>

Загрузить и добавить статью в очередь

/mcp__distill__queue-list

Показать текущую очередь

/mcp__distill__queue-clear

Очистить очередь (без создания подкаста)

/mcp__distill__podcast <url>

Создать подкаст из одной статьи

/mcp__distill__digest

Создать подкаст из очереди, затем очистить её

/mcp__distill__interests-add <tag>

Добавить интерес

/mcp__distill__interests-remove <tag>

Удалить интерес

/mcp__distill__interests-list

Показать текущие интересы

Совет: обычно можно ввести первые несколько букв (например, /distill-pod) и позволить автодополнению заполнить остальное.

Все команды также работают как естественный язык:

"Сохрани это в мою очередь подкастов: https://…" "Сделай глубокий разбор из моей очереди" "Пропусти мои обычные интересы, сосредоточься на техническом аспекте"

Стили шоу

Стиль

Динамика ведущих

Атмосфера

The Briefing

Ведущий + корреспондент

Чисто, новостной формат

The Debate

Скептик против оптимиста

Резко, субъективно

The Deep Dive

Эксперт + любознательный ученик

Образовательно

The Watercooler

Двое коллег беседуют

Неформально

Переопределение для сессии: "Сделай в стиле Debate".

TTS-провайдеры

Провайдер

Примечания

openai

Рекомендуемый по умолчанию. Требует OPENAI_API_KEY.

elevenlabs

Самые естественные голоса. Требует ELEVENLABS_API_KEY.

inworld

С акцентом на персонажей. Требует INWORLD_API_KEY.

system

macOS say. Бесплатно, роботизировано. Требует ffmpeg (или sox) для создания MP3: brew install ffmpeg.

Как это работает

  • Загрузка статьи: @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

Пользователь — использует свой OPENAI_API_KEY / ELEVENLABS_API_KEY / INWORLD_API_KEY в .distill

Хостинг

Никто — 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 задан.

  • system TTS выдает ошибку "requires ffmpeg or sox"brew install ffmpeg.

-
security - not tested
A
license - permissive license
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/davidlbatey/distill_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server