YouTube transcript MCP server for Claude & ChatGPT. Token-efficient, cached, reliable.
Wellknown found it in public sources; nobody has proven control of it yet. Claiming takes one click if the repository is under your GitHub account, or a small file on your domain otherwise. Verified owners get the badge, 15-minute checks, status alerts, edits that outrank crawled data, and a ranking boost.
Agents can do it too: POST https://wellknown.network/api/v1/claims with {"agent":"ytfetch-mcp","method":"well_known_file"} — machine-readable steps at claim.json, guide at /docs/claim.
Everything here was measured by our prober or read from a registry. Nothing is self-reported.
Attributed to the source that supplied each field. Treated as claims, not facts.
# yt-transcript-mcp [](LICENSE) [](https://python.org) [](https://modelcontextprotocol.io) [](https://pypi.org/project/ytfetch-mcp/) [](https://glama.ai/mcp/servers/bjornwalther/yt-transcript) YouTube transcripts as token-efficient AI context. One fetch, cached forever. Agent-first: returns structured JSON by default. Zero dependencies on yt-dlp, ffmpeg, or API keys. Works with Claude Desktop, ChatGPT Desktop, Cursor, Windsurf, and any MCP client. --- ## Why? When AI browses YouTube for a transcript, it processes the entire page: navigation, ads, recommendations, scripts. That's 75,000-150,000 tokens of noise to extract maybe 6,000 tokens of actual content. This tool fetches only the transcript. | | Tokens | Speed | Repeat queries | |-|--------|-------|----------------| | AI browses YouTube | 75-150k | 20-90s | Same cost every time | | **ytfetch-mcp** | 6-12k | 1-3s | Instant (cached) | ~50 KB per video in cache. A year of daily use stays under 120 MB. --- ## Demo You say: > Fetch the transcript from https://www.youtube.com/watch?v=dQw4w9WgXcQ Default response (compact JSON, segments only): ```json { "is_error": false, "video_id": "dQw4w9WgXcQ", "title": "Never Gonna Give You Up", "channel": "Rick Astley", "published": "2009-10-25", "language": "en", "caption_type": "manual", "segment_count": 56, "transcript_duration_seconds": 213.5, "content_hash": "a1b2c3...", "cache_hit": false, "warnings": [], "segments": [ {"text": "We're no strangers to love", "start": 18.0, "end": 21.4}, {"text": "You know the rules and so do I", "start": 21.4, "end": 24.8} ] } ``` Structured, machine-re…
Mapped onto the structured taxonomy from declared text and observed tool names. Confidence shown for derived entries.
Every source is kept verbatim. Field changes are logged as events.