yt-feed-mcp
Allows fetching latest videos from channels, listing subscriptions, and mass unsubscribing from all channels via browser automation and InnerTube API.
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., "@yt-feed-mcplist my subscriptions"
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.
yt-feed
CLI tool for YouTube: fetch latest videos from channels, list subscriptions, and mass-unsubscribe from all channels using browser automation.
Features
feed — get N latest videos from a list of YouTube channels (via yt-dlp, no API key)
list-subs — list every channel your account is subscribed to
unsub — unsubscribe from ALL channels at once via YouTube's InnerTube API
MCP server — expose unsub tools via Model Context Protocol (for AI assistants like opencode)
Related MCP server: YouTube MCP Server
Installation
python -m venv .venv
.venv\Scripts\pip install yt-dlp requests playwright mcp
.venv\Scripts\playwright install chromiumOr install in editable mode:
.venv\Scripts\pip install -e .Usage
Fetch video feed
.venv\Scripts\python -m yt_feed.cli feed channels.txt -n 5 -o out.txt
# or after pip install -e .:
yt-feed feed channels.txt -n 5channels.txt — one channel URL per line (# for comments).
List subscriptions
yt-feed list-subs --browser edgeUnsubscribe from all channels
# Preview only (no changes)
yt-feed unsub --browser edge --dry-run
# Real unsubscribe (prompts for confirmation)
yt-feed unsub --browser edge
# Skip confirmation
yt-feed unsub --browser edge --yes
# Custom profile directory
yt-feed unsub --browser chrome --profile-dir "D:\User Data" --yesNote: Close the browser before running unsub — Playwright's launch_persistent_context cannot open a profile that's already in use.
MCP server
Run the MCP server via stdio:
yt-feed-mcpThen configure in opencode.json:
{
"mcp": {
"yt-unsub": {
"type": "local",
"command": [".venv\\Scripts\\python", "-m", "yt_feed.mcp_server"],
"enabled": true
}
}
}Available tools:
Tool | Description |
| List all subscribed channels |
| Unsubscribe from all channels (requires |
| Unsubscribe from specific channel IDs |
| Close the managed browser (free resources) |
Browsers
Flag | Browser |
| Microsoft Edge (default) |
| Google Chrome |
Profile paths
The tool auto-detects the browser profile directory. Override with --profile-dir <path> (points to the User Data directory, not the Default subfolder).
Browser | Windows | macOS | Linux |
Edge |
|
|
|
Chrome |
|
|
|
How the unsubscribe works
Playwright launches the browser with your profile (
launch_persistent_context) — this gives access to your YouTube sessionThe
/feed/channelspage is loaded and scrolled to the bottom; real UC channel IDs are extracted from the DOM (el.data.channelId)For each channel, a
POSTrequest is sent to InnerTube API/subscription/unsubscribefrom within the browser contextAuthorization: the
Authorization: SAPISIDHASH <ts>_<sha1>header is computed client-side from the SAPISID cookie viacrypto.subtle.digest('SHA-1', ...)
Key details
Cookies are never exported — the browser sends them natively via
credentials: 'include'yt-dlp cannot decrypt DPAPI-encrypted Edge cookies on Windows — Playwright is required
Channel IDs must be
UCxxxxx(not@handle)300 ms delay between requests to avoid rate limiting
Requirements
Python ≥ 3.10
Edge or Chrome browser with a logged-in YouTube account
Windows, macOS, or Linux
Project structure
yt-feed/
├── yt_feed/
│ ├── __init__.py
│ ├── cli.py # CLI entry point (argparse, commands: feed, list-subs, unsub)
│ ├── feed.py # Video feed via yt-dlp
│ ├── unsub.py # Mass unsubscribe via Playwright + InnerTube API
│ └── mcp_server.py # MCP server exposing tools via Model Context Protocol
├── channels.txt # Channel list for the feed command
├── pyproject.toml # Package config
├── AGENTS.md # Agent instructions (opencode)
└── README.mdThis server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Flicense-qualityDmaintenanceEnables interaction with YouTube through the YouTube Data API, allowing users to search for videos, playlists, and channels, generate video titles using AI, and manage YouTube content through natural language commands.Last updated22
- AlicenseAqualityCmaintenanceEnables AI models to interact with YouTube content including video details, transcripts, channel information, playlists, and search functionality through the YouTube Data API.Last updated73710MIT
- Flicense-qualityDmaintenanceProvides distraction-free access to YouTube by allowing AI assistants to retrieve subscribed channels, latest videos, and transcripts without algorithmic recommendations. It enables searching within subscriptions and direct reading of video content through simple browser cookie authentication.Last updated
- Alicense-qualityCmaintenanceEnables AI assistants to search videos, read channels, browse playlists, fetch comments, and get transcripts from YouTube using the YouTube Data API v3 and InnerTube API for captions.Last updated2GPL 3.0
Related MCP Connectors
YouTube transcripts, subtitles, and video metadata as structured JSON via an Apify Actor.
Provide token-optimized, structured YouTube data to enhance your LLM applications. Access efficien…
AI-powered browser automation — navigate, click, fill forms, and extract data from any website.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ashybulakstroy/youtube-unsubscribe-all-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server