youtube-mcp-server
by: ZubeidHendricks
MCP Server for YouTube API, enabling video management, Shorts creation, and advanced analytics
📌Overview
Purpose: The YouTube MCP Server serves as an interface for AI language models to interact with YouTube content through Model Context Protocol (MCP).
Overview: This framework enables seamless access to YouTube's video, transcript, channel, and playlist data, providing essential functionalities to enhance AI capabilities in content interaction.
Key Features:
-
Video Information: Retrieve detailed information about videos, including title, description, duration, and statistics like views and likes, as well as perform searches across YouTube.
-
Transcript Management: Access video transcripts with support for multiple languages, including timestamped captions, allowing users to search within transcripts effectively.
-
Channel Management: Acquire details about channels, list videos and playlists associated with channels, and access channel statistics for a comprehensive view of channel content.
-
Playlist Management: Manage playlists by listing items, retrieving details, and accessing video transcripts for enhanced content understanding.
YouTube MCP Server
A Model Context Protocol (MCP) server implementation for YouTube, enabling AI language models to interact with YouTube content through a standardized interface.
Features
Video Information
- Get video details (title, description, duration, etc.)
- List channel videos
- Get video statistics (views, likes, comments)
- Search videos across YouTube
Transcript Management
- Retrieve video transcripts
- Support for multiple languages
- Get timestamped captions
- Search within transcripts
Channel Management
- Get channel details
- List channel playlists
- Get channel statistics
- Search within channel content
Playlist Management
- List playlist items
- Get playlist details
- Search within playlists
- Get playlist video transcripts
Installation
Installing via Smithery
To install YouTube MCP Server for Claude Desktop:
npx -y @smithery/cli install @ZubeidHendricks/youtube --client claude
Manual Installation
npm install @modelcontextprotocol/server-youtube
Configuration
Set the following environment variables:
YOUTUBE_API_KEY
: Your YouTube Data API keyYOUTUBE_TRANSCRIPT_LANG
: Default language for transcripts (optional, defaults to 'en')
Using with MCP Client
Add this to your MCP client configuration:
{
"mcpServers": {
"youtube": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-youtube"],
"env": {
"YOUTUBE_API_KEY": "<YOUR_API_KEY>"
}
}
}
}
YouTube API Setup
- Go to Google Cloud Console
- Create a new project or select an existing one
- Enable the YouTube Data API v3
- Create API credentials (API key)
- Copy the API key for configuration
Examples
Managing Videos
// Get video details
const video = await youtube.videos.getVideo({ videoId: "video-id" });
// Get video transcript
const transcript = await youtube.transcripts.getTranscript({
videoId: "video-id",
language: "en"
});
// Search videos
const searchResults = await youtube.videos.searchVideos({
query: "search term",
maxResults: 10
});
Managing Channels
// Get channel details
const channel = await youtube.channels.getChannel({ channelId: "channel-id" });
// List channel videos
const videos = await youtube.channels.listVideos({
channelId: "channel-id",
maxResults: 50
});
Managing Playlists
// Get playlist items
const playlistItems = await youtube.playlists.getPlaylistItems({
playlistId: "playlist-id",
maxResults: 50
});
// Get playlist details
const playlist = await youtube.playlists.getPlaylist({ playlistId: "playlist-id" });
Development
# Install dependencies
npm install
# Run tests
npm test
# Build
npm run build
# Lint
npm run lint
Contributing
See CONTRIBUTING.md
for information about contributing to this repository.
License
This project is licensed under the MIT License - see the LICENSE
file for details.