YouTube Content Integration
STDIOMCP server implementation enabling AI language models to interact with YouTube content.
MCP server implementation enabling AI language models to interact with YouTube content.
A Model Context Protocol (MCP) server implementation for YouTube, enabling AI language models to interact with YouTube content through a standardized interface.
npm install -g zubeid-youtube-mcp-server
~/Library/Application Support/Claude/claude_desktop_config.json
on macOS or %APPDATA%\Claude\claude_desktop_config.json
on Windows):{ "mcpServers": { "zubeid-youtube-mcp-server": { "command": "zubeid-youtube-mcp-server", "env": { "YOUTUBE_API_KEY": "your_youtube_api_key_here" } } } }
Add this to your Claude Desktop configuration:
{ "mcpServers": { "youtube": { "command": "npx", "args": ["-y", "zubeid-youtube-mcp-server"], "env": { "YOUTUBE_API_KEY": "your_youtube_api_key_here" } } } }
To install YouTube MCP Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @ZubeidHendricks/youtube --client claude
Set the following environment variables:
YOUTUBE_API_KEY
: Your YouTube Data API key (required)YOUTUBE_TRANSCRIPT_LANG
: Default language for transcripts (optional, defaults to 'en')For one-click installation, click one of the install buttons below:
If you prefer manual installation, first check the install buttons at the top of this section. Otherwise, follow these steps:
Add the following JSON block to your User Settings (JSON) file in VS Code. You can do this by pressing Ctrl + Shift + P
and typing Preferences: Open User Settings (JSON)
.
{ "mcp": { "inputs": [ { "type": "promptString", "id": "apiKey", "description": "YouTube API Key", "password": true } ], "servers": { "youtube": { "command": "npx", "args": ["-y", "zubeid-youtube-mcp-server"], "env": { "YOUTUBE_API_KEY": "${input:apiKey}" } } } } }
Optionally, you can add it to a file called .vscode/mcp.json
in your workspace:
{ "inputs": [ { "type": "promptString", "id": "apiKey", "description": "YouTube API Key", "password": true } ], "servers": { "youtube": { "command": "npx", "args": ["-y", "zubeid-youtube-mcp-server"], "env": { "YOUTUBE_API_KEY": "${input:apiKey}" } } } }
// 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 });
// 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 });
// 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" });
# Install dependencies npm install # Run tests npm test # Build npm run build # Lint npm run lint
See CONTRIBUTING.md for information about contributing to this repository.
This project is licensed under the MIT License - see the LICENSE file for details.