YouTube MCP Server Implementation
npm install zubeid-youtube-mcp-serverbash
npx -y @smithery/cli install @ZubeidHendricks/youtube --client claude
`
$3
`bash
npm install @modelcontextprotocol/server-youtube
`
Configuration
Set the following environment variables:
* YOUTUBE_API_KEY: Your YouTube Data API key
* YOUTUBE_TRANSCRIPT_LANG: Default language for transcripts (optional, defaults to 'en')
Using with MCP Client
Add this to your MCP client configuration (e.g. Claude Desktop):
`json
{
"mcpServers": {
"youtube": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-youtube"],
"env": {
"YOUTUBE_API_KEY": ""
}
}
}
}
`
$3
For one-click installation, click one of the install buttons below:
 
$3
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).
`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:
`json
{
"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
1. Go to Google Cloud Console
2. Create a new project or select an existing one
3. Enable the YouTube Data API v3
4. Create API credentials (API key)
5. Copy the API key for configuration
Examples
$3
`javascript
// 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
});
`
$3
`javascript
// 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
});
`
$3
`javascript
// 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
`bash
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
1. Clone the repository
2. Install dependencies:
`bash
npm install
`
3. Copy .env.example to .env:
`bash
cp .env.example .env
`
4. Edit .env and add your YouTube API key
5. Start the server:
`bash
npm start
`
Environment Variables
- YOUTUBE_API_KEY: Your YouTube Data API v3 key (get it from Google Cloud Console)
Development
1. To run in development mode with auto-reload:
`bash
npm run dev
`
2. To build:
`bash
npm run build
``