Skip to content
Conduit

mcp server

mcp-server-youtube

Rust MCP server for Youtube

vaporif/mcp-server-youtubecommunitylistedunreviewed

Set up

Runs on your computer. Pick your agent and operating system.

This project does not publish an install method we can turn into a config. Follow the README instead.

README

synced Oct 23, 2026

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

ToolDescription
videos_getVideoGet video details (snippet, statistics, content details)
videos_searchVideosSearch videos with filters for duration, definition, date range, region, captions, license, category, and more. Supports sorting by relevance, date, rating, or view count
videos_getCategoriesList video categories for a region
videos_getTrendingGet trending/most popular videos for a region, optionally filtered by category

Channels

ToolDescription
channels_getChannelGet channel info and statistics by channel ID
channels_getByHandleLook up a channel by its handle (e.g. @shura_stone)
channels_searchSearch for channels by name
channels_listVideosList videos from a channel (by date) with pagination

Playlists

ToolDescription
playlists_getPlaylistGet playlist info
playlists_getPlaylistItemsList videos in a playlist with pagination

Comments

ToolDescription
comments_getCommentsGet comment threads on a video with pagination

Transcripts & Captions

ToolDescription
transcripts_getTranscriptGet 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_getBatchFetch transcripts for multiple videos in one call with concurrent fetching. No API key quota consumed
transcripts_listLanguagesList 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 VariableCLI FlagDefaultDescription
YOUTUBE_API_KEY--youtube-api-keyrequiredYouTube Data API v3 key
YOUTUBE_TRANSCRIPT_LANG--transcript-langenDefault transcript language
MCP_TRANSPORT--transportstdioTransport: stdio or streamable-http
HOST--host127.0.0.1HTTP bind address
PORT--port3000HTTP port
YOUTUBE_TRANSCRIPT_CONCURRENCY--transcript-concurrency50Max 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

↑↓ navigate openesc close