# Mediaserver Operation

Use this skill when the user asks to inspect, diagnose, or directly operate a...

- Repository: https://github.com/jxxghp/MoviePilot (12002 stars)
- Category: Media
- License: GPL-3.0
- Last updated: 2026-11-01
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add jxxghp/MoviePilot --skill mediaserver-operation -g -a claude-code -y`
Codex: `npx skills add jxxghp/MoviePilot --skill mediaserver-operation -g -a codex -y`
Cursor: `npx skills add jxxghp/MoviePilot --skill mediaserver-operation -g -a cursor -y`
Gemini CLI: `npx skills add jxxghp/MoviePilot --skill mediaserver-operation -g -a gemini-cli -y`

## Description

Use this skill when the user asks to inspect, diagnose, or directly operate a configured Emby, Jellyfin, Plex, ZSpace, UGREEN, TrimeMedia, or Navidrome server. It discovers provider capabilities on demand and supports libraries, native movie/music search, episode coverage, recent media, resume state, playback sessions, statistics, scans, metadata refreshes, and provider play URLs without adding permanent tools.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Media Server Operation

Use `scripts/mp-mediaserver.py`. The helper reads MoviePilot's local server
configuration and credentials itself. Never request, print, or pass a host,
username, password, API key, token, Cookie, or arbitrary URL.

Run the bundled copy from the MoviePilot program directory with its project
runtime, for example:

```bash
cd <MOVIEPILOT_ROOT>
python skills/mediaserver-operation/scripts/mp-mediaserver.py instances
```

The Agent command environment routes `python` to the project-specific `moviepilot-python`
entry when available and falls back to the project or Docker `VENV_PATH` Python otherwise.
Media-server connections may depend on macOS local-network permissions, so use the provided
`python` command for every operation.

The runtime sets `MOVIEPILOT_ROOT` for copied skills. If you run a copied
script directly from `<CONFIG_PATH>/agent/skills/`, set that variable to the
program directory first; otherwise the helper returns a clear relocation
error. Do not use a system `python3` when it does not meet MoviePilot's
required Python version.

## Boundary

- Keep `library.exists` in `moviepilot-api` for canonical duplicate checks. It
  aggregates configured servers and applies MoviePilot media identity and music
  matching rules.
- Use this Skill for server-native exploration, diagnostics, playback state,
  library browsing, scans, and metadata refreshes.
- A provider result is not automatically a MoviePilot transfer, subscription,
  or history fact. Use the appropriate MoviePilot API for those workflows.

## Instance And Provider Discovery

### Fast path: call directly

Do not routinely call `instances` or `capabilities` before an operation. This
Skill already contains the full action contract, and the helper performs
instance resolution, provider support checks, complete argument validation, and
the action in one `call` invocation.

The rest: https://github.com/jxxghp/MoviePilot/blob/HEAD/skills/mediaserver-operation/SKILL.md
