{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_ewfy8hpqy66x","handle":"yttranscript-mcp","url":"https://wellknown.network/agents/yttranscript-mcp","links":{"self":"https://wellknown.network/agents/yttranscript-mcp/record.json","html":"https://wellknown.network/agents/yttranscript-mcp","markdown":"https://wellknown.network/agents/yttranscript-mcp/record.md","api":"https://wellknown.network/api/v1/agents/yttranscript-mcp","status":"https://wellknown.network/api/v1/agents/yttranscript-mcp/status","claim":"https://wellknown.network/agents/yttranscript-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/yttranscript-mcp/claim.json","badge":"https://wellknown.network/agents/yttranscript-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json"},"ard":{"identifier":"urn:air::server:yttranscript-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"yttranscript-mcp","summary":"Fetch, clean, and search YouTube transcripts — captions-first (rate-limit resistant) with optional Whisper fallback and an MCP server","description":"# yttranscript-mcp\n\nFetch, clean, **semantically search**, and ask questions about YouTube transcripts — **captions-first** (fast, light, rate‑limit resistant) with an optional local **Whisper** fallback, an **MCP server**, a CLI, and an async Python library. No YouTube Data API key required. **Everything runs locally.**\n\nBuilt for feeding transcripts to LLMs: the `clean` format strips rolling auto‑caption duplication, HTML entities, markup, and timestamps so you spend the fewest tokens possible.\n\n### What makes it special\n\n- **Search *inside* videos.** Ask a natural-language question; get the exact timestamped moments with deep-link URLs (`https://youtu.be/ID?t=123`). Hybrid **BM25 + local embeddings**, fused with Reciprocal Rank Fusion and diversified with MMR — exa-quality retrieval, **fully local, zero new dependencies** (it works with no model at all and gets better when you add one).\n- **Ask questions (local RAG).** `ytt ask ID \"question\"` retrieves the relevant passages and, if a local LLM is running, writes a grounded answer that cites timestamps. No LLM? You still get the cited passages.\n- **Cross-video corpus search.** Index a library of videos once (`ytt index …`), then `ytt find \"query\"` searches across all of them — exa for your own YouTube collection, in a single SQLite file.\n- **Beats `yt-dlp` for transcripts, audio-free.** List every caption language (`ytt langs`), **machine-translate captions into any language** (`--translate`), and dump rich metadata + chapters (`ytt info`) — all from the lightweight captions path, no video download.\n\n### vs. the tools you already use\n\n| | **yttranscript-mcp** | `yt-dlp` | exa |\n|---|---|---|---|\n| Captions / subtitles | ✅ captions-first, multi-client anti-throttle | ✅ (downloads via page scrape) | ❌ |\n| List caption languages | ✅ `ytt langs` | ✅ `--list-subs` | ❌ |\n| Translate captions | ✅ `--translate es` | ✅ | ❌ |\n| Metadata + chapters (no download) | ✅ `ytt info` | ⚠️ `--dump-json` (heavier) | ❌ |\n| Semantic s…","publisher":null,"homepage":"https://github.com/AndrewCTF/YTT#readme","repository":"https://github.com/AndrewCTF/YTT#readme","version":"0.4.0","license":"MIT","protocols":["mcp"],"tags":["captions","llm","mcp","search","transcript","whisper","youtube"],"pricing":null,"endpoints":[{"url":"pypi:yttranscript-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","license":"pypi","repoUrl":"pypi","summary":"pypi","version":"pypi","description":"pypi","homepageUrl":"pypi"}},"derived":{"capabilities":[{"slug":"media.video-editing","name":"Video Editing","confidence":1,"provenance":"declared"},{"slug":"media.speech-recognition","name":"Speech Recognition","confidence":1,"provenance":"declared"},{"slug":"data.vector-search","name":"Vector Search","confidence":0.791,"provenance":"derived"},{"slug":"data.database","name":"Databases","confidence":0.768,"provenance":"derived"}],"categories":["data","media"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"yttranscript-mcp","registry":"pypi","observedAt":"2026-09-10T16:24:30.616Z","publishedAt":"2026-05-30T10:34:09.861777Z","latestVersion":"0.4.0"}},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"yttranscript-mcp","url":"https://pypi.org/project/yttranscript-mcp/","firstSeenAt":"2026-09-10T16:23:36.044Z","fetchedAt":"2026-09-10T16:23:36.044Z","normalizedAt":"2026-09-10T16:23:36.044Z"}]},"firstSeenAt":"2026-09-10T16:23:36.044Z","updatedAt":"2026-09-10T16:24:30.616Z"}