Distill
Distill
Un servidor MCP de Claude Code que convierte artículos guardados en podcasts generados por IA, adaptados a tus intereses.
Guarda artículos a lo largo del día. Genera un podcast conversacional de dos presentadores bajo demanda. El MP3 se guarda en ~/Downloads, suena un aviso y la cola se vacía. Todo es local.
Instalación
git clone <this repo> ~/code/distill
cd ~/code/distill
npm installRelated MCP server: MCP Podcast Scraper
Registrar en Claude Code
Añade Distill como servidor MCP. La forma más sencilla: desde el directorio donde quieras mantener tu cola (tu "proyecto de lectura"):
claude mcp add distill -- node /absolute/path/to/distill/index.jsO añádelo manualmente a tu ~/.claude.json / .mcp.json del proyecto:
{
"mcpServers": {
"distill": {
"command": "node",
"args": ["/absolute/path/to/distill/index.js"]
}
}
}Distill lee y escribe archivos en el directorio de trabajo actual donde se inició Claude Code, por lo que tu cola y tus transcripciones residen junto al proyecto en el que estés. Si deseas una cola global única, configura DISTILL_PROJECT_ROOT:
{
"mcpServers": {
"distill": {
"command": "node",
"args": ["/absolute/path/to/distill/index.js"],
"env": { "DISTILL_PROJECT_ROOT": "/Users/you/distill-home" }
}
}
}Reinicia Claude Code. Confirma con /mcp: deberías ver distill conectado.
Configuración
Modo fácil: ejecuta /distill:setup dentro de Claude Code. Te guiará a través de tus intereses, estilo del programa, proveedor de TTS y clave API, una pregunta a la vez.
Modo manual: en la primera ejecución, Distill escribe un archivo .distill predeterminado en la raíz del proyecto. Edítalo directamente:
INTERESTS=entrepreneurship, cybersecurity, AI, startups
SHOW_STYLE=The Briefing
TTS_PROVIDER=openai
OPENAI_API_KEY=sk-...
OUTPUT_DIR=~/DownloadsConsulta .distill.example para ver un ejemplo completo anotado.
Nota sobre la estructura del sistema de archivos
La especificación describe .distill como un archivo y como un directorio. Dado que eso no es posible, Distill utiliza:
.distill— archivo de configuración (formato dotenv).distill-data/— directorio de datos (queue.json,transcripts/)
Comandos de barra diagonal (Slash commands)
Claude Code expone los prompts de MCP con el prefijo /mcp__<servidor>__<prompt>, por lo que todos los comandos de Distill comienzan con /mcp__distill__:
Comando | Qué hace |
| Configuración interactiva inicial (intereses, estilo, TTS, clave API) |
| Obtiene y pone en cola un artículo |
| Muestra la cola actual |
| Vacía la cola (sin podcast) |
| Genera un podcast a partir de un solo artículo |
| Genera un podcast a partir de la cola y luego la vacía |
| Añade un interés |
| Elimina un interés |
| Muestra los intereses actuales |
Consejo: normalmente puedes escribir las primeras letras (p. ej., /distill-pod) y dejar que el autocompletado rellene el resto.
Todos los comandos también funcionan como lenguaje natural:
"Guarda esto en mi cola de podcasts: https://…" "Haz un análisis profundo (Deep Dive) de mi cola" "Ignora mis intereses habituales, céntrate en el ángulo técnico"
Estilos de programa
Estilo | Dinámica de presentadores | Ambiente |
The Briefing | Presentador + corresponsal | Limpio, noticiero |
The Debate | Escéptico vs optimista | Directo, de opinión |
The Deep Dive | Experto + aprendiz curioso | Educativo |
The Watercooler | Dos colegas charlando | Informal |
Sobrescribe por sesión: "Hazlo con estilo Debate".
Proveedores de TTS
Proveedor | Notas |
| Recomendación predeterminada. Requiere |
| Voces más naturales. Requiere |
| Enfocado en personajes. Requiere |
|
|
Cómo funciona
Obtención de artículos:
@mozilla/readability+jsdom— elimina navegación/anuncios/pies de página y devuelve texto limpio.Generación de guiones: el prompt de MCP le dice al propio LLM de Claude Code que lea la cola, cargue el estilo del programa y escriba el guion del diálogo en línea. No se necesita una clave API de Claude separada.
TTS: síntesis por turno (una llamada API por turno de diálogo, para que cada presentador tenga su propia voz), luego concatenado en un solo MP3.
Transcripción: copia de texto plano guardada en
.distill-data/transcripts/para depuración.Notificación:
afplayde macOS reproduce un sonido corto del sistema cuando el MP3 está listo.
Arquitectura y costes
Distill es un servidor MCP local basado en stdio. Todo se ejecuta en la máquina del usuario. No hay backend alojado.
┌───────────────┐ stdio ┌───────────────┐ HTTPS ┌──────────┐
│ Claude Code │◀──────────▶│ distill MCP │────────────▶│ TTS API │
│ (your LLM) │ │ (node process)│ │ (yours) │
└───────────────┘ └───────────────┘ └──────────┘
│ │
│ ▼
│ .distill / .distill-data/
▼
writes script,
calls toolsQuién paga qué:
Coste | Pagado por |
LLM que escribe el diálogo | El usuario — se ejecuta dentro de su sesión de Claude Code, en su suscripción de Claude / facturación de API |
Generación de audio TTS | El usuario — pone su propia |
Alojamiento | Nadie — los servidores MCP stdio no necesitan un servidor |
Esto significa que cualquiera que haga un fork o instale Distill simplemente clona el repositorio y apunta Claude Code hacia él. Sin cuenta, sin registro, nada que desplegar.
Alcance
Solo Claude Code — no es una CLI independiente
Solo inglés
macOS asumido para el sonido del sistema
Sin soporte para artículos renderizados con JS o tras muros de pago
Sin programación — generación bajo demanda
Solución de problemas
/mcpmuestra distill como fallido — comprueba la ruta absoluta aindex.jsen tu configuración de MCP y quenpm installse haya ejecutado en el directorio de distill."Could not extract readable content" — la página probablemente tiene un muro de pago o está renderizada con JS. No hay reintento en la v1.
El TTS falla con "missing API key" — descomenta exactamente una línea
TTS_PROVIDER=en.distilly asegúrate de que su*_API_KEYcorrespondiente esté configurada.El TTS
systemfalla con "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.
Hosted Web Crawler MCP server for Claude, ChatGPT and Cursor, with each action switched per account.
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
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.2126 npm15MIT
- AlicenseAqualityDmaintenanceAn 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.101MIT
- 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