Youtube Unsubscribe All Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Youtube Unsubscribe All Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
CLI tool for YouTube: fetch latest videos from channels, list subscriptions, and mass-unsubscribe from all channels using browser automation.
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 ..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).
yt-feed list-subs --browser edge# 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.
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_subscriptions | List all subscribed channels |
unsubscribe_all | Unsubscribe from all channels (requires confirm=True) |
unsubscribe_channels | Unsubscribe from specific channel IDs |
close_browser | Close the managed browser (free resources) |
| Flag | Browser |
|---|---|
--browser edge | Microsoft Edge (default) |
--browser chrome | Google Chrome |
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 | %LOCALAPPDATA%\Microsoft\Edge\User Data | ~/Library/Application Support/Microsoft Edge | ~/.config/microsoft-edge |
| Chrome | %LOCALAPPDATA%\Google\Chrome\User Data | ~/Library/Application Support/Google/Chrome | ~/.config/google-chrome |
launch_persistent_context) — this gives access to your YouTube session/feed/channels page is loaded and scrolled to the bottom; real UC channel IDs are extracted from the DOM (el.data.channelId)POST request is sent to InnerTube API /subscription/unsubscribe from within the browser contextAuthorization: SAPISIDHASH <ts>_<sha1> header is computed client-side from the SAPISID cookie via crypto.subtle.digest('SHA-1', ...)credentials: 'include'UCxxxxx (not @handle)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.md~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.