- Home
- MCP servers
- YouTube
YouTube
- 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.