Skip to main content
Glama

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+

  • uv

  • 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 sync

Library path

Media and library.db live under ZGET_HOME:

  1. ZGET_HOME env

  2. ~/.config/zget/config.json key zget_home

  3. Default: ~/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 true

C-SPAN

  • c-span.org/video/?... via yt-dlp

  • c-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 -o)

offline volume

Unmounted /Volumes/... with no sibling match

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

zget_download

Download URL into the library

zget_search

Full-text search

zget_get_video

Metadata by id

zget_get_local_path

Filesystem path for other tools

zget_extract_info

Metadata without download

zget_list_formats

Formats

zget_check_url

Already archived?

zget_get_recent

Recent downloads

zget_get_by_uploader

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 src

License

MIT. Built on yt-dlp.

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

View all related MCP servers

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

View all MCP Connectors

Latest Blog Posts

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