Zubeid Hendricks/youtube-mcp-server
Built by Metorial, the integration platform for agentic AI.
Zubeid Hendricks/youtube-mcp-server
Server Summary
Get video details
List channel videos
Get video statistics
Search videos
Retrieve video transcripts
Support multiple languages for transcripts
Get timestamped captions
Search within transcripts
Get channel details
List channel playlists
Get channel statistics
Search within channel 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.