Y
YouTube
community
other
Comprehensive YouTube API integration for video management, Shorts creation, and analytics.
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 automatically via Smithery:
npx -y @smithery/cli install @ZubeidHendricks/youtube --client claude
Manual Installation
npm install @modelcontextprotocol/server-youtube
Configuration
Set the following environment variables:
: Your YouTube Data API keyYOUTUBE_API_KEY
: Default language for transcripts (optional, defaults to 'en')YOUTUBE_TRANSCRIPT_LANG
Using with MCP Client
Add this to your MCP client configuration (e.g. Claude Desktop):
{ "mcpServers": { "youtube": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-youtube"], "env": { "YOUTUBE_API_KEY": "<YOUR_API_KEY>" } } } }
Using with VS Code
For one-click installation, click one of the install buttons below:
Manual Installation
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", "@modelcontextprotocol/server-youtube"], "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", "@modelcontextprotocol/server-youtube"], "env": { "YOUTUBE_API_KEY": "${input:apiKey}" } } } }
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.# YouTube MCP Server
A YouTube API integration using the Model Context Protocol.
Setup
- Clone the repository
- Install dependencies:
npm install
- Copy
to.env.example
:.env
cp .env.example .env
- Edit
and add your YouTube API key.env
- Start the server:
npm start
Environment Variables
: Your YouTube Data API v3 key (get it from Google Cloud Console)YOUTUBE_API_KEY
Development
- To run in development mode with auto-reload:
npm run dev
- To build:
npm run build
Security Note
Always keep your API keys secure and never commit them to version control.
Related Servers
S
Sequential Thinking
reference
Dynamic and reflective problem-solving through thought sequences
View Details