YouTube

Provides YouTube data, transcripts, channels, and playlists through a standardized MCP interface for AI models.
  • typescript

1

GitHub Stars

typescript

Language

6 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "mcp-mirror-zubeidhendricks_youtube-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-youtube"
      ],
      "env": {
        "YOUTUBE_API_KEY": "<YOUR_API_KEY>",
        "YOUTUBE_TRANSCRIPT_LANG": "en"
      }
    }
  }
}

You can use the YouTube MCP Server to let AI models access YouTube data, transcripts, channels, and playlists through a unified interface. This lets you perform searches, retrieve video details, fetch transcripts, and explore channel and playlist content without leaving your AI workflow.

How to use

You interact with the YouTube MCP Server from your MCP client by configuring a server entry that points to the local or remote MCP service. Once connected, you can request video details, search for videos, fetch transcripts in your preferred language, and browse channel and playlist information. Use these capabilities to power chat assistants, content summaries, or research copilots that rely on YouTube data.

How to install

Prerequisites you need before installation: node.js and npm (or an equivalent Node environment). You may also use a package runner like npx for quick launches.

# Install the MCP YouTube server package locally
npm install @modelcontextprotocol/server-youtube

If you prefer automatic installation via Smithery, run the following to install the YouTube server for a Claude client:

npx -y @smithery/cli install @modelcontextprotocol/server-youtube --client claude

Additional configuration and usage notes

Set up an API key for YouTube Data API v3 and configure the default transcript language if you want transcripts in a specific language.

Environment variables you need to set for the server:

  • YOUTUBE_API_KEY: Your YouTube Data API key

  • YOUTUBE_TRANSCRIPT_LANG: Default language for transcripts (optional, defaults to en)

Using with an MCP client

Add a YouTube MCP server entry to your client configuration. This sample config shows how to run the server locally using npx and pass the API key via environment variables.

{
  "mcpServers": {
    "youtube": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-youtube"],
      "env": {
        "YOUTUBE_API_KEY": "<YOUR_API_KEY>"
      }
    }
  }
}

Examples of common actions

Get details for a video, fetch its transcript, or search for videos by a query. You can also inspect channel details, list videos in a channel, or explore playlist items.

// Get video details
const video = await youtube.videos.getVideo({ videoId: "video-id" });

// Get video transcript in English
const transcript = await youtube.transcripts.getTranscript({ videoId: "video-id", language: "en" });

// Search videos
const results = await youtube.videos.searchVideos({ query: "funny cats", maxResults: 10 });

Available tools

getVideo

Fetches detailed information for a single video, including title, description, duration, and metadata.

listChannelVideos

Lists videos belonging to a specific channel, with options to limit results.

getVideoStatistics

Retrieves statistics such as views, likes, and comments for a video.

searchVideos

Searches YouTube videos by a query and returns a list of matching results.

getTranscript

Retrieves the official transcript for a video, with support for multiple languages.

getTimestampedCaptions

Provides timestamped captions for a video in the chosen language.

searchWithinTranscripts

Searches the transcript for specific terms or phrases.

getChannelDetails

Fetches information about a YouTube channel.

listChannelPlaylists

Lists playlists within a channel.

getChannelStatistics

Retrieves statistics for a channel, such as subscriber count and total views.

searchWithinChannelContent

Searches content within a channel, including videos and playlists.

getPlaylistItems

Gets items contained in a playlist.

getPlaylist

Fetches details for a playlist.

searchWithinPlaylists

Searches within a playlist for specific videos or transcripts.

getPlaylistTranscripts

Retrieves transcripts for videos contained in a playlist.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational