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__<server>__<prompt> 접두사를 사용하여 MCP 프롬프트를 노출하므로, 모든 Distill 명령어는 /mcp__distill__로 시작합니다:
명령어 | 기능 |
| 대화형 초기 설정 (관심사, 스타일, TTS, API 키) |
| 기사를 가져와 대기열에 추가 |
| 현재 대기열 표시 |
| 대기열 비우기 (팟캐스트 생성 안 함) |
| 단일 기사에서 팟캐스트 생성 |
| 대기열에서 팟캐스트를 생성한 후 비우기 |
| 관심사 추가 |
| 관심사 제거 |
| 현재 관심사 표시 |
팁: 보통 앞 글자 몇 개(예: /distill-pod)만 입력하고 자동 완성을 사용할 수 있습니다.
모든 명령어는 자연어로도 작동합니다:
"이것을 내 팟캐스트 대기열에 저장해 줘: https://…" "내 대기열로 심층 분석(Deep Dive)을 만들어 줘" "평소 관심사는 건너뛰고 기술적인 측면에 집중해 줘"
쇼 스타일
스타일 | 호스트 역학 | 분위기 |
The Briefing | 앵커 + 특파원 | 깔끔함, 뉴스 형식 |
The Debate | 회의론자 vs 낙관론자 | 강렬함, 의견 중심 |
The Deep Dive | 전문가 + 호기심 많은 학습자 | 교육적 |
The Watercooler | 동료 간의 대화 | 캐주얼 |
세션별로 재정의 가능: "토론(Debate) 스타일로 만들어 줘".
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를 실행하세요.
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