Skip to main content
Glama

Distill

一个 Claude Code MCP 服务器,可将保存的文章转换为根据您的兴趣定制的 AI 生成播客。

全天保存文章。按需生成双人对话式播客。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 已连接。

配置

简易模式: 在 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.jsontranscripts/

斜杠命令

Claude Code 使用前缀 /mcp__<server>__<prompt> 公开 MCP 提示词,因此所有 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

怀疑论者 vs 乐观主义者

犀利,观点鲜明

The Deep Dive

专家 + 好奇的学习者

教育性

The Watercooler

两位同事聊天

休闲

按会话覆盖:“把它做成辩论风格”

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 提示词指示 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 音频生成

用户 — 他们在 .distill 中填入自己的 OPENAI_API_KEY / ELEVENLABS_API_KEY / INWORLD_API_KEY

托管

— 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

  • 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