Skip to main content
Glama

🎬 ytb-tools

npm version license: MIT

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.


Related MCP server: YouTube DLP MCP Server

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

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

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/aliildan/ytb-tools'

If you have feedback or need assistance with the MCP directory API, please join our Discord server