zget
Allows downloading and archiving media from Instagram.
Integrates with Jellyfin media server similarly to Plex, supporting custom output directories and metadata generation.
Generates Kodi-style NFO metadata sidecar files alongside downloaded videos for media library integration.
Integrates with Plex media server by placing downloads directly into library folders with metadata (NFO) and thumbnails.
Allows downloading and archiving videos from Reddit.
Allows downloading and archiving videos from TikTok.
Allows downloading and archiving videos from Twitch.
Allows downloading and archiving videos from YouTube with metadata preservation.
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., "@zgetsave this YouTube video https://www.youtube.com/watch?v=dQw4w9WgXcQ"
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.
zget
Agentic local media capture. Download and archive media from YouTube, Instagram, TikTok, Reddit, X, Twitch, C-SPAN, and other sites yt-dlp supports. Library with metadata, dedupe, path health, CLI, and MCP for agents and pipelines.
There is no web UI. Use the CLI or MCP.
Requirements
macOS or Linux
Python 3.10+
ffmpeg
Related MCP server: MCP YouTube Downloader
Install
curl -LsSf https://astral.sh/uv/install.sh | sh
brew install ffmpeg # macOS
git clone https://github.com/bubroz/zget.git
cd zget
uv syncLibrary path
Media and library.db live under ZGET_HOME:
ZGET_HOMEenv~/.config/zget/config.jsonkeyzget_homeDefault:
~/Downloads/zget
uv run zget config show
uv run zget config set zget_home /path/to/library$ZGET_HOME/
library.db
videos/<platform>/
thumbnails/
exports/
logs/CLI
# download
uv run zget <url>
uv run zget <url> --quiet
uv run zget <url> --flat
uv run zget <url> -o /path/to/dir
uv run zget <url> --audio-only
uv run zget <url> --quality 720
# metadata only
uv run zget info <url>
uv run zget info <url> --json --compact
uv run zget --list-formats <url>
uv run zget list-channel <channel-or-playlist-url> --since 2020-01-01 --jsonl
# library
uv run zget --search "query"
uv run zget --stats
uv run zget --doctor
uv run zget --doctor --fix
uv run zget paths check
uv run zget paths rewrite --dry-run
uv run zget paths rewrite
# config
uv run zget config show
uv run zget config set flat trueC-SPAN
c-span.org/video/?...via yt-dlpc-span.org/program/.../{id}via public HLS + Referer (src/zget/platforms/cspan.py)c-span.org/event/.../{id}via C-SPAN API → child programs (multi-segment events download each)If
/api/events/…is WAF-blocked: open c-span.org in a browser, then--cookies-from chrome
Sidecars
Each successful download writes:
{stem}.librarian.json— capture provenance (url, sha256, duration, C-SPAN ids){stem}.nfo— Plex/Jellyfin (CLI and MCP ingest)
Path health
Class | Meaning |
healthy | File exists under ZGET_HOME |
relocatable | Stale path; file found after home or volume rename |
off-home | File exists outside ZGET_HOME (pipeline |
offline volume | Unmounted |
orphan | File missing |
--doctor --fix rewrites relocatable paths only. Use --purge-orphans only when you intend to drop missing rows.
Agents (MCP)
uv run zget-mcp{
"mcpServers": {
"zget": {
"command": "uv",
"args": ["run", "zget-mcp"],
"cwd": "/path/to/zget",
"env": { "PATH": "/opt/homebrew/bin:/usr/bin:/bin" }
}
}
}Tool | Role |
| Download URL into the library |
| Full-text search |
| Metadata by id |
| Filesystem path for other tools |
| Metadata without download |
| Formats |
| Already archived? |
| Recent downloads |
| By channel |
Full contract for other repos: docs/INTEGRATION.md.
Platforms
Verified: YouTube, Instagram, X, TikTok, Reddit, Twitch, C-SPAN (program + event pages). Many more via yt-dlp.
Layout
src/zget/
core.py # yt-dlp download / extract
platforms/ # adapters (C-SPAN program/event HLS)
metadata/ # .nfo + .librarian.json sidecars
library/ # ingest, paths, thumbnails
cli.py # CLI
mcp/ # MCP (stdio)
db/ # SQLite FTS5
metadata/ # NFO sidecars
...Dev
uv sync --extra dev
uv run pytest
uv run ruff check srcLicense
MIT. Built on yt-dlp.
This 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
- Alicense-qualityBmaintenanceMCP server enabling interaction with Twitter, YouTube, Instagram, and video processing via 31 tools, with local Whisper transcription and frame extraction for visual verification.Last updated3MIT
- Alicense-qualityCmaintenanceMCP server for downloading videos and audio from YouTube and hundreds of other sites using yt-dlp.Last updatedMIT
- Flicense-qualityBmaintenanceA multimedia downloading and conversion MCP server supporting YouTube, HLS streams, podcasts, and images, with features like batch downloads, subtitle extraction, format query, and whitelist management.Last updated
- Alicense-qualityCmaintenanceMCP server for web content downloading supporting videos, articles, danmaku, comments, and copy protection bypass across 1700+ sites.Last updated3MIT
Related MCP Connectors
Any social-video URL → transcript, metadata, frames, OCR, summary, search, Q&A. MCP server + x402.
Download YouTube, TikTok, Vimeo, SoundCloud and 6 more platforms from any MCP AI chatbot.
MCP server for Wan AI video generation
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/bubroz/zget'
If you have feedback or need assistance with the MCP directory API, please join our Discord server