Tldw
FreeNot checkedMCP server that extracts YouTube video transcripts (including metadata) as Markdown, enabling AI to summarize and discuss video content without watching it.
About
MCP server that extracts YouTube video transcripts (including metadata) as Markdown, enabling AI to summarize and discuss video content without watching it.
README
An MCP server that turns any YouTube video into a clean Markdown transcript (plus metadata), ready for an AI to summarize and discuss. No more sitting through a 1-hour video to find out if it was worth it — fetch the transcript, let your AI summarize it, then chat about it.
Built with FastMCP (Python), served over Streamable HTTP, and exposed remotely through a Cloudflare Tunnel so you can use it from ChatGPT, Claude, your phone, or anywhere.
Tools
| Tool | Input | Output |
|---|---|---|
get_transcript |
url, lang?, include_timestamps? |
Markdown: frontmatter (title, channel, duration, date…) + transcript |
get_video_info |
url |
Markdown: metadata + description (no transcript) |
lang— preferred caption language (en,fr, …). If omitted: manual subs first, then the video's original language, then English.include_timestamps— prefix each line with[mm:ss].
No video is ever downloaded — only the caption track (official subtitles preferred, auto-generated as fallback) via yt-dlp.
How it works
client (ChatGPT / Claude / phone)
│ HTTPS https://<host>/<secret-path>/mcp
▼
Cloudflare Tunnel ──► 127.0.0.1:8765 (uvicorn)
server.py (FastMCP)
└─ yt-dlp ──(proxy)──► YouTube captions
Auth = a secret URL path. The MCP endpoint is mounted at an unguessable path
(MCP_PATH); any other path returns 404. Simple, and works with clients that can't send
custom headers. The server binds only to 127.0.0.1 — it is never exposed directly.
Local run
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt
MCP_PATH=/mcp PORT=8765 .venv/bin/python server.py
Configuration (env vars)
| Var | Default | Purpose |
|---|---|---|
MCP_PATH |
/mcp |
Secret URL path the MCP endpoint is mounted at |
PORT |
8765 |
Local port (bind is always 127.0.0.1) |
YTDLP_BIN |
yt-dlp |
Path to the yt-dlp binary |
YTDLP_PROXY |
(none) | HTTP proxy for yt-dlp and caption download (http://user:pass@host:port) |
Datacenter IPs are blocked by YouTube ("Sign in to confirm you're not a bot"). When deploying on a VPS/cloud server, set
YTDLP_PROXYto a residential proxy or it won't work.
Deploy on a server (systemd + Cloudflare Tunnel)
- Copy
server.py+requirements.txtto the server (e.g./root/youtube-mcp/), create the venv, install deps. - Make sure
yt-dlpis installed (/usr/local/bin/yt-dlp). - Install the systemd service (generates a random secret path, restarts on crash/reboot):
export YTDLP_PROXY='http://user:pass@host:port' # if your server IP is blocked bash deploy-setup.sh - Install cloudflared and connect a tunnel whose public hostname points to
http://localhost:8765(HTTP, not HTTPS):cloudflared service install <YOUR_TUNNEL_TOKEN> - Your MCP URL is
https://<your-hostname>/<secret-path>/mcp(the secret path is printed bydeploy-setup.shand stored in.mcp_path).
Connect a client
- Claude Code:
claude mcp add --transport http tldw https://<host>/<secret>/mcp - ChatGPT (Plus/Pro): Settings → Connectors → developer mode → Add MCP server → paste the URL (auth: None).
- Claude Desktop: Settings → Connectors → add a custom connector with the URL.
Test
MCP_URL="https://<host>/<secret>/mcp" bash test-public.sh
License
MIT
Installing Tldw
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/limace11/tldw-mcpFAQ
Is Tldw MCP free?
Yes, Tldw MCP is free — one-click install via Unyly at no cost.
Does Tldw need an API key?
No, Tldw runs without API keys or environment variables.
Is Tldw hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Tldw in Claude Desktop, Claude Code or Cursor?
Open Tldw on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Omni Video
An MCP server that transforms LLM-enabled IDEs into professional video editors by pre-processing footage into text proxies, generating motion graphics via HTML/
by buildwithtazaARA
Generate images, video and audio from any AI agent — one connector.
by ARAYouTube
Transcripts, channel stats, search
by YouTubeEverArt
AI image generation using various models.
by modelcontextprotocolCompare Tldw with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All media MCPs
