Allows interaction with YouTube to list subscribed channels, retrieve latest videos from subscriptions, search within subscribed channels, fetch specific channel videos, and obtain video transcripts for a distraction-free reading experience.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@YouTube MCP Servershow me the latest videos from my subscribed channels"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
YouTube MCP Server
Distraction-free YouTube for AI assistants. Get your subscribed channels, latest videos, and transcripts without algorithm recommendations.
Features
No Distractions: Lists only your subscribed content
Direct Links: Every video has a clickable link
Read Mode: Get transcripts to read instead of watching
No OAuth: Uses browser cookies - much simpler
Caching: Fast responses for repeated queries
Available Tools
Tool | Description |
| List all your subscribed channels |
| Get latest videos from subscriptions with direct links |
| Get transcript of a video (read instead of watching) |
| Search within your subscriptions |
| Get videos from a specific channel |
| Get authentication setup instructions |
Setup
1. Install Dependencies
cd /home/naresh/Projects/youtube-mcp-python
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt2. Export YouTube Cookies
Using Chrome:
yt-dlp --cookies-from-browser chrome --cookies auth/cookies.txtUsing Firefox:
yt-dlp --cookies-from-browser firefox --cookies auth/cookies.txtNote: You must be logged into YouTube in your browser first.
3. Add to OpenCode
Add to ~/.config/opencode/opencode.jsonc:
{
"mcp": {
"youtube": {
"type": "local",
"command": ["/home/naresh/Projects/youtube-mcp-python/.venv/bin/python", "/home/naresh/Projects/youtube-mcp-python/main.py"],
"enabled": true
}
}
}Usage Examples
Get latest videos:
Use get_latest_videos with max_results=15Read a video transcript:
Use get_video_transcript with video_id="dQw4w9WgXcQ"Search your subscriptions:
Use search_subscribed_channels with query="python tutorial"Get a specific channel's videos:
Use get_channel_videos with channel_id="UCwX6rVkOq0"Project Structure
youtube-mcp-python/
├── main.py # Entry point
├── mcp_server.py # MCP tool definitions
├── config.py # Configuration
├── requirements.txt # Dependencies
├── opencode-mcp-config.json
├── auth/
│ └── __init__.py # Cookie validation
├── services/
│ ├── __init__.py
│ ├── subscriptions_service.py
│ ├── videos_service.py
│ ├── transcripts_service.py
│ └── search_service.py
├── utils/
│ ├── __init__.py
│ ├── ytdlp_wrapper.py
│ ├── cache.py
│ └── retry.py
└── data/
└── cache/ # Cached dataTroubleshooting
"Cookies not found" → Run the yt-dlp cookie export command
"401 Unauthorized" → Re-export cookies (they expire when you log out)
"No subscriptions found" → Make sure you're subscribed to channels on YouTube
Credits
Built with:
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.