Media Cli

v1.0.4

Single-file bash CLI for the *arr media stack with SSH remote support. For agents running on a different machine than the media services (e.g., VPS agent man...

0· 163·0 current·0 all-time
bySolomon Neas@solomonneas

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for solomonneas/media-cli.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Media Cli" (solomonneas/media-cli) from ClawHub.
Skill page: https://clawhub.ai/solomonneas/media-cli
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install media-cli

ClawHub CLI

Package manager switcher

npx clawhub@latest install media-cli
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description describe a single-file bash CLI for *arr services and the SKILL.md only references bash, curl, python3, and ssh — all appropriate and expected for this purpose.
Instruction Scope
Runtime instructions tell the agent to clone the GitHub repo and run the install/setup wizard which stores API URLs/keys at ~/.config/media-cli/config; this is within scope but requires the agent to run shell commands and to use existing SSH config/keys. The SKILL.md does not instruct reading unrelated files, but you should review the install script before executing it.
Install Mechanism
This is an instruction-only skill with no install spec; install is expected to be a git clone and running the repo's install.sh on the user's machine. No arbitrary download URLs or archive extraction are included in the skill metadata.
Credentials
No environment variables, secrets, or config paths are declared beyond the config file (~/.config/media-cli/config) that the tool itself uses to store API keys. Required binaries listed in the docs match the described functionality.
Persistence & Privilege
always is false and the skill does not request elevated or persistent platform privileges. It does not modify other skills or system-wide agent settings per the provided instructions.
Assessment
This skill appears coherent for managing a remote *arr stack, but take these precautions before installing: 1) Manually review the repository and the install.sh / media script you clone (don’t run without inspection). 2) Be aware the tool uses your SSH config/keys to tunnel API calls to the remote host — granting the agent the ability to run these commands effectively gives it SSH-based access to that host. 3) Confirm you trust the GitHub source (https://github.com/solomonneas/media-cli). 4) Keep the stored config (~/.config/media-cli/config) protected (chmod 600 is recommended) and only supply API keys for services you expect the tool to manage.

Like a lobster shell, security has layers — review code before you run it.

latestvk977fqyy696ajnb260qxekv0z183aq33
163downloads
0stars
5versions
Updated 1mo ago
v1.0.4
MIT-0

media-cli — Terminal Control for Your *arr Media Stack (Remote)

One bash script to manage your entire media automation stack from a remote machine. Search, add, download, and monitor movies and TV shows without touching a web UI.

Built for setups where the AI agent runs on a different host than the media services (e.g., a VPS running OpenClaw managing a home server's *arr stack). If everything runs on the same machine, use media-cli-local instead.

Source: https://github.com/solomonneas/media-cli

Install: Clone the repo and run the install script, or copy the media file to your PATH manually. See the GitHub README for details.

Supported Services

ServiceRequiredWhat It Does
SonarrYesTV show management
RadarrYesMovie management
ProwlarrYesIndexer management
qBittorrentYesDownload monitoring
BazarrOptionalSubtitles
JellyseerrOptionalUser requests + trending
TdarrOptionalTranscode monitoring

Setup

# Install (clone and review the script first)
git clone https://github.com/solomonneas/media-cli.git
cd media-cli
bash install.sh

# Configure (interactive wizard)
media setup

# Test
media status

The setup wizard asks for API URLs and keys, saves to ~/.config/media-cli/config (chmod 600).

Commands

Movies

media movies search "Interstellar"    # Search online
media movies add "Interstellar"       # Add + start downloading
media movies list                     # Library with download status
media movies missing                  # Monitored without files
media movies remove "title"           # Remove (keeps files)

TV Shows

media shows search "Breaking Bad"     # Search online
media shows add "Breaking Bad"        # Add + search episodes
media shows list                      # Library with episode counts

Downloads

media downloads                       # All torrents by state
media downloads active                # Active with speed + ETA
media downloads pause <hash|all>
media downloads resume <hash|all>
media downloads remove <hash> [true]  # true = delete files too

Status & Monitoring

media status                          # Health + library counts + active downloads
media queue                           # Sonarr/Radarr download queues
media wanted                          # Missing episodes + movies
media calendar 14                     # Upcoming releases (next N days)
media history                         # Recent activity
media refresh                         # Trigger library rescan
media indexers                        # Prowlarr indexer status

Subtitles (Bazarr)

media subs                            # Wanted subtitles
media subs history                    # Recent subtitle downloads

Requests (Jellyseerr)

media requests                        # Pending user requests
media requests trending               # What's trending
media requests users                  # User list with request counts

Transcoding (Tdarr)

media tdarr                           # Status + active workers
media tdarr workers                   # Per-file progress: %, fps, ETA
media tdarr queue                     # Items queued for processing

Connection Modes

Local (services on same machine)

MEDIA_HOST="local"

Remote via SSH (services on another host)

MEDIA_HOST="ssh:hyperv-host"       # Uses SSH config alias
MEDIA_HOST_OS="linux"          # or "windows"

SSH mode tunnels all API calls through your existing SSH config. Services stay on localhost and are never exposed to the network. No additional ports or credentials needed beyond your normal SSH access. Windows hosts automatically use PowerShell's Invoke-RestMethod for POST requests.

AI Agent Integration

Commands are designed for easy parsing by AI agents. Any tool that can run shell commands works:

"What shows am I missing episodes for?"  →  media wanted
"Add Succession"                         →  media shows add "Succession"
"What's downloading right now?"          →  media downloads active
"Pause all downloads"                    →  media downloads pause all

Works with OpenClaw, LangChain, Claude computer use, or any agent framework with shell execution.

Requirements

  • bash 4.0+
  • curl
  • python3 (standard library only, no pip)
  • ssh (only for remote mode)

Technical Details

  • Single bash script (~900 lines)
  • Talks to *arr v3 APIs (Sonarr/Radarr), v1 (Prowlarr), v2 (qBittorrent WebUI)
  • Python3 used strictly for JSON parsing (standard library)
  • No telemetry, no analytics, no network calls except to your own services
  • Config stored at ~/.config/media-cli/config with chmod 600

Comments

Loading comments...