Distill
Distill
保存された記事を、あなたの興味に合わせてAI生成のポッドキャストに変換するClaude Code MCPサーバー。
一日を通して記事を保存しましょう。オンデマンドで2人のホストによる会話型ポッドキャストを生成します。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プロンプトを /mcp__<server>__<prompt> というプレフィックスで公開するため、すべてのDistillコマンドは /mcp__distill__ で始まります:
コマンド | 動作 |
| 初回設定の対話型ガイド(興味、スタイル、TTS、APIキー) |
| 記事を取得してキューに追加 |
| 現在のキューを表示 |
| キューを空にする(ポッドキャストは生成されません) |
| 単一の記事からポッドキャストを生成 |
| キューからポッドキャストを生成し、その後クリア |
| 興味を追加 |
| 興味を削除 |
| 現在の興味を表示 |
ヒント: 通常、最初の数文字(例: /distill-pod)を入力してオートコンプリートで補完できます。
すべてのコマンドは自然言語でも機能します:
"これをポッドキャストキューに保存して: https://…" "キューからディープダイブを作成して" "いつもの興味はスキップして、技術的な側面に焦点を当てて"
番組スタイル
スタイル | ホストのダイナミクス | 雰囲気 |
The Briefing | アンカー + 特派員 | クリーン、ニュース番組風 |
The Debate | 懐疑派 vs 楽観主義者 | パンチの効いた、意見重視 |
The Deep Dive | 専門家 + 好奇心旺盛な学習者 | 教育的 |
The Watercooler | 同僚同士の雑談 | カジュアル |
セッションごとに上書き可能: "Debateスタイルにして"。
TTSプロバイダー
プロバイダー | メモ |
| 推奨デフォルト。 |
| 最も自然な音声。 |
| キャラクター重視。 |
| macOSの |
仕組み
記事取得:
@mozilla/readability+jsdom— ナビゲーション、広告、フッターを取り除き、クリーンなテキストを返します。スクリプト生成: MCPプロンプトがClaude Code自身のLLMにキューを読み込ませ、番組スタイルを適用し、対話スクリプトをインラインで記述させます。個別のClaude APIキーは不要です。
TTS: ターンごとの合成(対話のターンごとに1回のAPI呼び出しを行い、各ホストに独自の声を割り当てます)、その後単一のMP3に結合されます。
トランスクリプト: デバッグ用にプレーンテキストのコピーが
.distill-data/transcripts/に保存されます。通知: MP3の準備ができると、macOSの
afplayが短いシステムサウンドを再生します。
アーキテクチャとコスト
Distillはローカルで動作するstdioベースのMCPサーバーです。すべてユーザーのPC上で実行されます。ホストされたバックエンドはありません。
┌───────────────┐ 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=行を1つだけアンコメントし、対応する*_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