Distill
Distill
저장된 기사를 사용자의 관심사에 맞춘 AI 생성 팟캐스트로 변환하는 Claude Code MCP 서버입니다.
하루 종일 기사를 저장하세요. 필요할 때마다 2인 대화형 팟캐스트를 생성하세요. MP3 파일은 ~/Downloads에 저장되고, 알림음이 재생되며, 대기열이 비워집니다. 모든 과정은 로컬에서 이루어집니다.
설치
git clone <this repo> ~/code/distill
cd ~/code/distill
npm installClaude 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를 실행하세요.
This server cannot be installed
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