YouTube
STDIOMCP server for YouTube API integration, enabling video information retrieval, transcript management, and channel operations
MCP server for YouTube API integration, enabling video information retrieval, transcript management, and channel operations
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.