youtube-mcp
Provides tools for extracting transcripts, searching videos, and getting metadata from YouTube videos without requiring an API key.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@youtube-mcpget transcript of https://youtu.be/dQw4w9WgXcQ"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Youtube MCP
Fast, minimal, and reliable YouTube MCP for AI agents.

Install
Claude Code
claude mcp add youtube -- uvx youtube-watch-mcpBefore publish (local dev): point
uvxat the checkout instead:claude mcp add youtube -- uvx --from /path/to/youtube-mcp youtube-watch-mcp
Claude Desktop / Codex / other MCP clients
Add to the client's MCP config:
{
"mcpServers": {
"youtube": {
"command": "uvx",
"args": ["youtube-watch-mcp"]
}
}
}CLI only
uvx --from youtube-watch-mcp youtube-watch-mcp-cli info "https://youtu.be/VIDEO_ID"That's it. uvx pulls youtube-watch-mcp, yt-dlp, and dependencies into an isolated environment automatically. Nothing to install globally.
Optional:
ffmpegon PATH is required only for--asr(speech-to-text on caption-less videos). Core transcript extraction needs nothing.
Related MCP server: VidLens
Optional API key
A YouTube Data API key is not needed to read videos. Add one only to enable cross-YouTube search:
claude mcp add youtube -e YOUTUBE_API_KEY=your_key -- uvx youtube-watch-mcpTranscript extraction never uses the key (YouTube only allows caption download for video owners).
Tools
Tool | Returns | Purpose |
| title, duration, chapters, has_captions | Cheap probe before fetching. |
| file path + word count + preview | Clean transcript to disk. Returns path, not full text. |
| timestamped snippets | Grep a long video without loading it all. |
| text slice | Read one time range. |
Design principle: pull, don't dump. Transcripts write to a local cache file; tools return a path and a short preview. The agent reads or searches on demand — long videos never flood the context.
/get_info $url
/get_transcript $url
/search_transcript $url
/get_segment $urlArchitecture
Adapters (thin): cli.py mcp_server.py skill
│ call
Core (all logic): fetch → clean → chunk → cache
│ uses
Backends: youtube-transcript-api · yt-dlp · faster-whisperFetch fallback chain:
youtube-transcript-api— fastest, no downloadyt-dlpauto-captionsyt-dlpmanual captions--asr: audio → localfaster-whisper
On yt-dlp failure the engine self-updates yt-dlp and retries once — most breakage is a stale yt-dlp.
Caching: results are keyed by video ID under ~/.cache/youtube-mcp/<id>/. Repeat calls are instant.
Cleaning: auto-captions are de-duplicated (rolling-caption overlap removed), stripped of timestamps and [Music] noise, and whitespace-collapsed before the agent ever sees them.
Requirements
Python 3.11+ (managed automatically by
uvx)ffmpeg— optional, only for--asr
Docs
FAQ — keyless? no-caption videos?
--fromgotcha? long-video handling?Architecture — core/adapter split, fetch chain, the cleaning moat, cache.
License
MIT
This server cannot be installed
Maintenance
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
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/knowledge-forest/youtube-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server