Skip to main content
Glama

@inlustris/youtube-mcp

Ground your AI agents in YouTube's best content — no API keys, zero config.

NPM Version License: MIT

YouTube is the world's largest library of expert knowledge — tutorials, talks, reviews, deep dives. But AI agents can't watch videos.

This MCP server bridges that gap. It gives your agent access to YouTube transcripts, search, channel data, and video screenshots through simple tools. No Google API keys. No OAuth. No setup.

Built with FastMCP and youtubei.js.

Why YouTube for AI grounding?

Web search is noisy. YouTube content is ranked, reviewed, and curated — videos with high view counts, reputable creators, and timestamped transcripts that make it ideal for LLM context. Instead of scraping forums or blogs, your agent can pull the exact transcript from a relevant video, search across channels, or capture a screenshot of a specific moment.

This isn't another "AI skill" you have to maintain. It's a single npm package that works immediately.

What you get

Tool

Purpose

get_transcript

Video transcript with timestamps, or plain text via plainText. Optionally strip sponsor segments via skipSponsor. Transcripts are cached in-memory — subsequent fetches are instant.

get_video_frame

Screenshot at any timestamp. Full quality when yt-dlp is available; falls back gracefully.

search_videos

Search YouTube with sort by relevance, date, rating, view count.

search_channels

Find channels by query.

get_channel_videos

List every video from a channel.

Install

npm install -g @inlustris/youtube-mcp

Add to any MCP client:

{
  "mcpServers": {
    "youtube": {
      "command": "npx",
      "args": ["-y", "@inlustris/youtube-mcp@latest"]
    }
  }
}

Works with Claude Desktop, Cursor, opencode, VS Code Copilot, and any MCP-compatible agent.

Full-quality screenshots (optional)

get_video_frame works out of the box using YouTube storyboards (320×180). For full-resolution captures (720p, 1080p, 4K), install the system tools:

brew install yt-dlp ffmpeg

The tool detects yt-dlp automatically and upgrades itself — no config changes needed.

SponsorBlock

Pass skipSponsor: true to get_transcript. It fetches sponsor timestamps from the SponsorBlock API (no auth, free) and removes sponsored content from the transcript. Great for getting clean, ad-free video context.

Use cases

  • Research agents: Pull transcripts from expert talks, conference presentations, or technical deep-dives instead of skimming blog posts.

  • Content analysis: Search for relevant YouTube content by topic, then extract transcripts at scale.

  • Visual grounding: Capture screenshots at key moments alongside transcripts for multimodal understanding.

  • Learning tools: Let users ask questions about specific video timestamps and get grounded answers.

Development

npm install
npm run dev        # hot-reload
npm test           # 31 tests
npm run build      # production bundle
src/
├── index.ts
├── server/server.ts
├── core/
│   ├── tools.ts
│   ├── resources.ts
│   └── services/
│       ├── youtube-service.ts
│       ├── sponsorblock-service.ts
│       └── screenshot-service.ts
└── __tests__/

License

MIT

Install Server
A
license - permissive license
-
quality - not tested
C
maintenance

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/adshaa/youtube-mcp'

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