Fast, minimal YouTube watch engine for AI agents — clean transcripts, no API key required.
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":"youtube-watch-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.
# Youtube MCP > Fast, minimal, and reliable YouTube MCP for AI agents.  ## Install ### Claude Code ```bash claude mcp add youtube -- uvx youtube-watch-mcp ``` > **Before publish (local dev):** point `uvx` at 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: ```json { "mcpServers": { "youtube": { "command": "uvx", "args": ["youtube-watch-mcp"] } } } ``` ### CLI only ```bash 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:** `ffmpeg` on PATH is required **only** for `--asr` (speech-to-text on caption-less videos). Core transcript extraction needs nothing. ## Optional API key A YouTube Data API key is **not needed** to read videos. Add one only to enable cross-YouTube **search**: ```bash claude mcp add youtube -e YOUTUBE_API_KEY=your_key -- uvx youtube-watch-mcp ``` Transcript extraction never uses the key (YouTube only allows caption download for video owners). ## Tools | Tool | Returns | Purpose | |------|---------|---------| | `get_info(url)` | title, duration, chapters, has_captions | Cheap probe before fetching. | | `get_transcript(url, asr=False)` | file path + word count + preview | Clean transcript to disk. Returns path, not full text. | | `search_transcript(url, query)` | timestamped snippets | Grep a long video without loading it all. | | `get_segment(url, start, end)` | 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_tr…
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.