Distill
Distill
一个 Claude Code MCP 服务器,可将保存的文章转换为根据您的兴趣定制的 AI 生成播客。
全天保存文章。按需生成双人对话式播客。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 已连接。
配置
简易模式: 在 Claude Code 中运行 /distill:setup。它会引导您逐个回答关于兴趣、节目风格、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__<server>__<prompt> 公开 MCP 提示词,因此所有 Distill 命令都以 /mcp__distill__ 开头:
命令 | 功能 |
| 交互式首次配置(兴趣、风格、TTS、API 密钥) |
| 获取并加入文章队列 |
| 显示当前队列 |
| 清空队列(不生成播客) |
| 从单篇文章生成播客 |
| 从队列生成播客,然后清空 |
| 添加兴趣标签 |
| 移除兴趣标签 |
| 显示当前兴趣 |
提示:您通常可以输入前几个字母(例如 /distill-pod)并让自动补全功能完成剩余部分。
所有命令也支持自然语言:
“把这个保存到我的播客队列:https://…” “从我的队列中制作一个深度解析” “跳过我平时的兴趣,专注于技术角度”
节目风格
风格 | 主持人动态 | 氛围 |
The Briefing | 主播 + 记者 | 清晰,新闻广播 |
The Debate | 怀疑论者 vs 乐观主义者 | 犀利,观点鲜明 |
The Deep Dive | 专家 + 好奇的学习者 | 教育性 |
The Watercooler | 两位同事聊天 | 休闲 |
按会话覆盖:“把它做成辩论风格”。
TTS 提供商
提供商 | 说明 |
| 默认推荐。需要 |
| 最自然的声音。需要 |
| 角色导向。需要 |
| macOS |
工作原理
文章抓取:
@mozilla/readability+jsdom— 去除导航/广告/页脚,返回纯净文本。脚本生成:MCP 提示词指示 Claude Code 自身的 LLM 读取队列、加载节目风格并内联编写对话脚本。无需单独的 Claude API 密钥。
TTS:逐轮合成(每个对话轮次进行一次 API 调用,因此每个主持人都有自己的声音),然后拼接成单个 MP3。
脚本:纯文本副本保存到
.distill-data/transcripts/以供调试。通知:当 MP3 准备好时,macOS
afplay会播放简短的系统提示音。
架构与成本
Distill 是一个本地、基于 stdio 的 MCP 服务器。一切都在用户机器上运行。没有托管的后端。
┌───────────────┐ stdio ┌───────────────┐ HTTPS ┌──────────┐
│ Claude Code │◀──────────▶│ distill MCP │────────────▶│ TTS API │
│ (your LLM) │ │ (node process)│ │ (yours) │
└───────────────┘ └───────────────┘ └──────────┘
│ │
│ ▼
│ .distill / .distill-data/
▼
writes script,
calls tools费用承担:
成本 | 承担方 |
编写对话的 LLM | 用户 — 它在他们的 Claude Code 会话中运行,使用他们的 Claude 订阅/API 计费 |
TTS 音频生成 | 用户 — 他们在 |
托管 | 无 — stdio MCP 服务器不需要服务器 |
这意味着任何分叉或安装 Distill 的人只需克隆仓库并将 Claude Code 指向它即可。无需账户,无需注册,无需部署。
范围
仅限 Claude Code — 不是独立的 CLI
仅限英语
系统提示音假设为 macOS
不支持 JS 渲染或付费墙文章
无调度功能 — 按需生成
故障排除
/mcp显示 distill 失败 — 检查 MCP 配置中index.js的绝对路径,并确保在 distill 目录中运行了npm install。“Could not extract readable content” — 页面可能被付费墙拦截或通过 JS 渲染。v1 版本不支持重试。
TTS 失败并提示“missing API key” — 在
.distill中取消注释一行TTS_PROVIDER=并确保设置了对应的*_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.
Hosted Web Crawler MCP server for Claude, ChatGPT and Cursor, with each action switched per account.
MCP Server for Web2MD — convert URLs to Markdown from Claude Desktop, Cursor, etc.
Shared memory MCP server for Claude Code, Codex, Gemini CLI and Cursor. Cited, editable.
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
- 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