AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Plex

skill-hevangel-media-agent-skills-plex · by hevangel

Interact with a Plex Media Server to list libraries, search media, get item details, manage playlists and collections, export metadata, and trigger library rescans. Use when working with Plex servers.

— No reviews yet
0 installs
26 views
0.0% view→install

Install

$ agentstack add skill-hevangel-media-agent-skills-plex

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • ✓ Prompt-injection patterns
  • ✓ Secret / credential exfiltration
  • ✓ Dangerous shell & filesystem operations
  • ✓ Untrusted network calls
  • ✓ Known-malicious package signatures

What it can access

  • ✓ Network access No
  • ✓ Filesystem access No
  • ✓ Shell / process execution No
  • ● Environment & secrets Used
  • ✓ Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-hevangel-media-agent-skills-plex)

Reliability & compatibility

✓ Security review passed
0 installs to date
— no reviews yet
● 2mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Plex? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Plex Media Server API

Configuration

All settings are loaded from the .env file in the workspace root.

PLEX_URL=http://localhost:32400
PLEX_TOKEN=your_token
PLEX_USERNAME=your_username
PLEX_PASSWORD=your_password

Authentication methods (tried in order):

  1. Direct token (recommended): PLEX_URL + PLEX_TOKEN
  2. MyPlex account (fallback): PLEX_USERNAME + PLEX_PASSWORD

Quick Token Setup

cd skills/plex/scripts
uv run python get_token.py

Supports MyPlex login, browser-based PIN auth, or manual token entry.

Reference

  • python-plexapi docs: https://python-plexapi.readthedocs.io/
  • Code Snippets: scripts/

Available Scripts

| Script | Purpose | |--------|---------| | config.py | Loads credentials from .env | | client.py | Creates authenticated PlexServer instance | | get_token.py | Interactive token helper | | list_libraries.py | List all libraries | | get_library_items.py | Get items from a library | | search_media.py | Search by query, type, library | | get_item_details.py | Full metadata for an item | | get_recently_added.py | Recently added items | | refresh_library.py | Trigger library refresh/scan | | dump_library_to_json.py | Export library to JSON | | get_server_info.py | Server info, active sessions |

Key Patterns

API Access

from plexapi.server import PlexServer

plex = PlexServer(baseurl, token)
libraries = plex.library.sections()
section = plex.library.section('Movies')
results = plex.search('query')
item = plex.fetchItem(rating_key)

Common Operations

  • Libraries: plex.library.sections(), plex.library.section('name')
  • Search: plex.search('query'), section.search(query=..., libtype=...)
  • Items: section.all(), plex.fetchItem(key), section.recentlyAdded()
  • Refresh: section.refresh(), section.update()
  • TV Shows: show.seasons(), show.episodes(), show.episode(season=N, episode=M)
  • Playlists: plex.playlists(), plex.createPlaylist(title, items=items)
  • Collections: section.collections(), collection.items()

Item Metadata

  • title, year, summary, rating, contentRating
  • [g.tag for g in item.genres], [d.tag for d in item.directors]
  • [g.id for g in item.guids] (IMDB, TMDB, TVDB)
  • item.media[0].parts[0].file (file path)

Library/Item Types

movie, show, season, episode, artist, album, track, photo

Usage Examples

cd skills/plex/scripts
uv run python list_libraries.py
uv run python search_media.py "Midway"
uv run python get_recently_added.py "Movies" 10
uv run python dump_library_to_json.py "Movies"
uv run python refresh_library.py "Movies"

Notes

  • Use client.py and get_plex_client() as the starting point.
  • Temporary files go in $WORKSPACE_PATH/temp/.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.