Skip to main content
Glama
vaporif

mcp-server-youtube

by vaporif

mcp-server-youtube

Check Integration Tests

A Rust MCP server for YouTube. Search videos, read channels, browse playlists, fetch comments, and get transcripts — all from your AI assistant.

Why this one?

  • Full YouTube Data API v3 coverage — videos, channels, playlists, comments, categories, trending, search with all filters and sorting options

  • Working transcripts — uses rustypipe (InnerTube API) for reliable subtitle/caption extraction, including auto-generated captions. No API key quota consumed for transcripts

  • Single binary, zero runtime dependencies — written in Rust, starts instantly

  • Typed filter enums — search filters (duration, definition, license, etc.) are exposed as typed enums in the JSON schema, so AI models know exactly which values are valid without guessing

Tools

Videos

Tool

Description

videos_getVideo

Get video details (snippet, statistics, content details)

videos_searchVideos

Search videos with filters for duration, definition, date range, region, captions, license, category, and more. Supports sorting by relevance, date, rating, or view count

videos_getCategories

List video categories for a region

videos_getTrending

Get trending/most popular videos for a region, optionally filtered by category

Channels

Tool

Description

channels_getChannel

Get channel info and statistics by channel ID

channels_getByHandle

Look up a channel by its handle (e.g. @shura_stone)

channels_search

Search for channels by name

channels_listVideos

List videos from a channel (by date) with pagination

Playlists

Tool

Description

playlists_getPlaylist

Get playlist info

playlists_getPlaylistItems

List videos in a playlist with pagination

Comments

Tool

Description

comments_getComments

Get comment threads on a video with pagination

Transcripts & Captions

Tool

Description

transcripts_getTranscript

Get video transcript/subtitles. Works with both auto-generated and manual captions. Returns plain text by default; set include_timestamps for per-segment timing. Uses rustypipe (InnerTube API) — no API key quota consumed

transcripts_getBatch

Fetch transcripts for multiple videos in one call with concurrent fetching. No API key quota consumed

transcripts_listLanguages

List available subtitle/caption languages for a video

Setup

Get a YouTube API Key

  1. Go to Google Cloud Console

  2. Create a project (or select an existing one)

  3. Enable the YouTube Data API v3

  4. Create an API key under Credentials

Configuration

Environment Variable

CLI Flag

Default

Description

YOUTUBE_API_KEY

--youtube-api-key

required

YouTube Data API v3 key

YOUTUBE_TRANSCRIPT_LANG

--transcript-lang

en

Default transcript language

MCP_TRANSPORT

--transport

stdio

Transport: stdio or streamable-http

HOST

--host

127.0.0.1

HTTP bind address

PORT

--port

3000

HTTP port

YOUTUBE_TRANSCRIPT_CONCURRENCY

--transcript-concurrency

50

Max concurrent transcript fetches for batch operations

The API key is stored as a SecretString and never appears in logs or debug output.

Usage

Claude Desktop / Claude Code

With uvx:

{
  "mcpServers": {
    "youtube": {
      "command": "uvx",
      "args": ["mcp-server-youtube"],
      "env": {
        "YOUTUBE_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}

With rvx:

{
  "mcpServers": {
    "youtube": {
      "command": "rvx",
      "args": ["mcp-server-youtube"],
      "env": {
        "YOUTUBE_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}

With Nix:

nix run github:vaporif/mcp-server-youtube

With cargo:

cargo install mcp-server-youtube

From releases:

Download a prebuilt binary from GitHub Releases.

HTTP Transport

YOUTUBE_API_KEY=your_key mcp-server-youtube --transport streamable-http --port 3000

The server listens on http://127.0.0.1:3000/mcp.

Debugging

Enable debug logging to see tool invocations:

RUST_LOG=debug mcp-server-youtube

Development

# Enter dev shell (requires Nix)
nix develop

# Build
cargo build

# Test
cargo test

# Lint
cargo clippy --workspace -- -D warnings

# Format
cargo fmt --all

License

GPL-3.0-or-later

A
license - permissive license
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
1dRelease cycle
3Releases (12mo)

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

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