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
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。