Podcli
Open-source podcast clip generator. Turn long-form podcasts into upload-ready TikTok, YouTube Shorts, and Reels from your terminal. Runs locally, no uploads, no SaaS. MIT licensed.
Podcli is both a CLI tool and an MCP server. Plug it into Claude Code, Claude Desktop, or Codex, say "clip this episode," and it handles transcription, clip picking, vertical crop, caption burn-in, and export end to end.
What it does:
- Transcribes with Whisper. Word-level timestamps. Speaker diarization via pyannote. Cached by file hash, so re-runs are instant.
- Finds viral moments by feeding the transcript plus your knowledge base to Claude or Codex. Each candidate is scored on four dimensions. The episode database is checked so you don't ship the same clip twice.
- Crops to 1080×1920 with YuNet face detection and speaker-aware tracking. Handles split-screen and Riverside-style mixed layouts. A snap cooldown prevents camera flashing.
- Burns in captions in four styles: branded, hormozi, karaoke, subtle. Rendered via Remotion, synced to word timing, filler stripped.
- Exports with hardware encoding. VideoToolbox on Mac, NVENC on NVIDIA, VAAPI on Linux, CPU fallback everywhere.
- Writes titles, descriptions, thumbnails via the companion PodStack slash commands (Claude Code, Codex, Cursor, or any markdown-aware AI tool).
17 MCP tools
Transcript: transcribe_podcast, set_video, import_transcript, parse_transcript Clips: suggest_clips, modify_clip, toggle_clip, create_clip, batch_create_clips Context: get_ui_state, knowledge_base, manage_assets, clip_history, analyze_energy Config: manage_presets, update_settings, list_outputs
Install
git clone https://github.com/nmbrthirteen/podcli.git cd podcli ./setup.sh
Requires Node ≥ 18, Python ≥ 3.10, and FFmpeg. Claude Code or Codex is optional but required for AI clip picking.
MCP configuration
{ "mcpServers": { "podcli": { "command": "node", "args": ["/path/to/podcli/dist/index.js"], "env": { "PYTHON_PATH": "/path/to/podcli/venv/bin/python3" } } } }
Or for Claude Code:
claude mcp add podcli -- node /path/to/podcli/dist/index.js
Run ./setup.sh --mcp to print the config with your paths filled in.
Three ways to use it
- CLI — ./podcli process episode.mp4 --top 8
- Web UI — npm run ui, open localhost:3847, drag in a video.
- AI agent — add Podcli as an MCP server in Claude Code, Claude Desktop, or Codex.
Knowledge base
The .podcli/knowledge/ folder is 13 markdown files you fill out once. It teaches the AI your show's voice, title formulas, banned words, thumbnail rules, and episode history. The same files are read by the CLI, the Web UI, and every MCP tool.
Links
- Site: https://podcli.com
- Source: https://github.com/nmbrthirteen/podcli
- PodStack (slash commands): https://github.com/nmbrthirteen/podstack
- License: MIT
- Author: Nika Siradze
Server Config
{
"mcpServers": {
"podcli": {
"command": "node",
"args": [
"/path/to/podcli/dist/index.js"
],
"env": {
"PYTHON_PATH": "/path/to/podcli/venv/bin/python3"
}
}
}
}