YouTube MCP Server
by arturochent
README.md
# YouTube MCP Server — Setup Guide
A Python MCP server that lets Claude search YouTube for artists and manage playlists on your account.
---
## Prerequisites
- Python 3.11 or newer
- A Google account with YouTube
---
## Step 1 — Get Google API credentials
1. Go to [console.cloud.google.com](https://console.cloud.google.com)
2. Create a new project (or select an existing one)
3. Navigate to **APIs & Services → Library**
4. Search for **YouTube Data API v3** and click **Enable**
5. Go to **APIs & Services → Credentials**
6. Click **+ Create Credentials → OAuth client ID**
7. Application type: **Desktop app** → give it a name → click **Create**
8. Click **Download JSON** — save the file as `client_secret.json` in this folder
---
## Step 2 — Install dependencies
Open a terminal in this folder and run:
```bash
pip install -r requirements.txt
```
---
## Step 3 — Configure Claude Desktop
Open your Claude Desktop config file:
**Mac:** `~/Library/Application Support/Claude/claude_desktop_config.json`
**Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
Add the following entry inside the `"mcpServers"` object (create the object if it doesn't exist):
```json
{
"mcpServers": {
"youtube-playlist-manager": {
"command": "python",
"args": ["/FULL/PATH/TO/THIS/FOLDER/server.py"]
}
}
}
```
Replace `/FULL/PATH/TO/THIS/FOLDER/` with the actual path where you saved these files.
**Example on Mac:**
```json
{
"mcpServers": {
"youtube-playlist-manager": {
"command": "python3",
"args": ["/Users/yourname/youtube_mcp/server.py"]
}
}
}
```
---
## Step 4 — First run (OAuth flow)
1. **Restart Claude Desktop** after saving the config
2. The first time you use a YouTube tool, a browser window will open asking you to sign in with Google and grant access
3. After approval, a `token.json` file is saved locally — you won't need to log in again
---
## Available Tools
| Tool | Description |
|------|-------------|
| `search_artists` | Search for artist/musician channels by name + optional genre |
| `search_videos` | Search for music videos, optionally within a specific channel |
| `create_playlist` | Create a new playlist on your YouTube account |
| `add_videos_to_playlist` | Add videos (by ID) to an existing playlist |
| `list_my_playlists` | List all your YouTube playlists |
---
## Example prompts to try in Claude
- *"Search for jazz guitar artists on YouTube and create a playlist of their top videos"*
- *"Find lo-fi hip hop channels and make a private playlist called 'Focus Music'"*
- *"Search for videos by artist name 'Khruangbin' and add them to my existing playlist"*
- *"List all my YouTube playlists"*
---
## Files in this folder
```
youtube_mcp/
├── server.py ← The MCP server (main file)
├── requirements.txt ← Python dependencies
├── client_secret.json ← YOU ADD THIS (downloaded from Google Cloud)
├── token.json ← Auto-created after first login
└── README.md ← This file
```
---
## Troubleshooting
**"client_secret.json not found"** → Make sure you downloaded and renamed the file correctly and placed it in the same folder as `server.py`.
**"Access blocked" in browser** → Your OAuth app may be in "testing" mode. Go to Google Cloud Console → OAuth consent screen → Add your Google account as a test user.
**Tool not appearing in Claude** → Double-check the path in `claude_desktop_config.json` and restart Claude Desktop fully.
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues