ytb-tools
Enables AI assistants to search YouTube, fetch transcripts, and get AI summaries of videos without API keys.
README
š¬ ytb-tools
Search YouTube, pull transcripts, and get AI summaries ā right inside Claude and any other MCP client.
ytb-tools is a Model Context Protocol server that turns YouTube into something your AI assistant can actually work with. Ask it to find videos, grab a transcript, or summarize a talk ā it just works.
⨠Zero setup. No API keys. No Google account. No manual installs. ytb-tools provisions everything it needs on its own.
What you can do
- š Search YouTube ā "find me the top React 19 talks" ā ranked results with titles, channels, durations, and views.
- š Get transcripts ā full transcripts in the video's language (or any available caption track), saved to a tidy local library.
- š§ Summarize videos ā TL;DR, structured notes, or a deep dive ā written by Claude, in the video's own language.
- š¾ Builds your library ā every transcript and summary is auto-saved as clean files you can browse, search, and keep.
Quick start
Any MCP client (Claude Desktop, Cursor, Cline, ā¦)
Add this to your client's MCP config ā that's the whole install:
{
"mcpServers": {
"ytb-tools": {
"command": "npx",
"args": ["-y", "ytb-tools"]
}
}
}
Then just ask:
"Search YouTube for the best intro to Rust, then summarize the top result."
Claude Code (plugin)
Install it as a plugin to get the slash commands. Run these inside Claude Code:
/plugin marketplace add aliildan/ytb-tools
/plugin install ytb-tools@ytb-tools
The first command registers this repo as a marketplace; the second installs the plugin (which pulls in the MCP server via npx and adds the slash commands). Prefer a menu? Just run /plugin.
You then get three commands:
| Command | What it does |
|---|---|
/yt-search <query> |
List ranked search results |
/yt-transcript <url|id> [lang] |
Fetch a transcript |
/yt-summary <url|id> [quick|standard|detailed] |
Summarize at the depth you want |
/yt-summary automatically picks the right model for the job ā quick ā Haiku, standard ā Sonnet, detailed ā Opus ā and writes the summary in the video's language.
Updating the plugin
When a new version ships, refresh the marketplace catalog and update:
/plugin marketplace update ytb-tools
/plugin update ytb-tools
Uninstalling
/plugin uninstall ytb-tools@ytb-tools
Scripting it? The same actions work non-interactively from your shell:
claude plugin marketplace add aliildan/ytb-tools claude plugin install ytb-tools@ytb-tools
Research a whole topic at once
Installed in Claude Code, the yt-research skill chains everything together. Just ask in plain language:
"Research the top 30 YouTube videos on 'rust async' and give me a digest."
It searches, pulls each transcript, summarizes each (defaulting to quick/Haiku to keep big batches cheap), and produces a combined digest ā recurring themes, a ranked "start here" shortlist, and any videos it had to skip. For large runs it confirms with you first and processes in batches with progress updates.
Your library
Everything is saved automatically (default ~/ytb-tools/):
~/ytb-tools/
āāā transcripts/
ā āāā dQw4w9WgXcQ.en.json # timestamped segments
ā āāā dQw4w9WgXcQ.en.txt # plain text
āāā summaries/
āāā dQw4w9WgXcQ.standard.md # Markdown with title, url, model, date
Want them somewhere else? Set YT_OUTPUT_DIR.
The tools
| Tool | Does |
|---|---|
youtube_search |
Search YouTube and return ranked video results |
youtube_get_transcript |
Extract a transcript (with language selection), auto-saved |
youtube_save_summary |
Save a generated summary to your library |
Configuration
All optional:
| Variable | Purpose | Default |
|---|---|---|
YT_OUTPUT_DIR |
Where transcripts & summaries are saved | ~/ytb-tools |
YT_CACHE_DIR |
Cache location | OS cache dir |
YT_DLP_PATH |
Use an existing yt-dlp instead of the bundled one | auto |
How it works (the short version)
Search runs entirely in-process via youtubei.js ā no key, no quotas. Transcripts are powered by yt-dlp, which ytb-tools downloads and manages for you automatically the first time you need it (it reuses the Node runtime that's already running ā no Python, no Deno). Summaries are written by your assistant's own model, so there's no extra API bill.
License
MIT Ā© aliildan
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.