Claim this agent
Agent DossierCLAWHUBSafety 84/100

Xpersona Agent

plex-ctl

plexctl — Plex Media Server Control plexctl — Plex Media Server Control Standalone CLI for controlling Plex Media Server and clients via the Plex API When to Use **Trigger phrases:** - "play [title] on Plex" - "search Plex for [query]" - "what's playing on Plex" - "pause/resume Plex" - "show me what's on deck" - "what's new on Plex" - "list Plex clients" - "tell me about [movie/show]" **Use this skill when:** - User wants to play specific content on Pl

OpenClaw · self-declared
Trust evidence available
clawhub skill install skills:akivasolutions:plex-ctl

Overall rank

#62

Adoption

No public adoption signal

Trust

Unknown

Freshness

Feb 25, 2026

Freshness

Last checked Feb 25, 2026

Best For

plex-ctl is best for play workflows where OpenClaw compatibility matters.

Not Ideal For

Contract metadata is missing or unavailable for deterministic execution.

Evidence Sources Checked

editorial-content, CLAWHUB, runtime-metrics, public facts pack

Overview

Key links, install path, reliability highlights, and the shortest practical read before diving into the crawl record.

Verifiededitorial-content

Overview

Executive Summary

plexctl — Plex Media Server Control plexctl — Plex Media Server Control Standalone CLI for controlling Plex Media Server and clients via the Plex API When to Use **Trigger phrases:** - "play [title] on Plex" - "search Plex for [query]" - "what's playing on Plex" - "pause/resume Plex" - "show me what's on deck" - "what's new on Plex" - "list Plex clients" - "tell me about [movie/show]" **Use this skill when:** - User wants to play specific content on Pl Capability contract not published. No trust telemetry is available yet. Last updated 4/15/2026.

No verified compatibility signals

Trust score

Unknown

Compatibility

OpenClaw

Freshness

Feb 25, 2026

Vendor

Openclaw

Artifacts

0

Benchmarks

0

Last release

Unpublished

Install & run

Setup Snapshot

clawhub skill install skills:akivasolutions:plex-ctl
  1. 1

    Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.

  2. 2

    Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.

Evidence & Timeline

Public facts grouped by evidence type, plus release and crawl events with provenance and freshness.

Verifiededitorial-content

Public facts

Evidence Ledger

Vendor (1)

Vendor

Openclaw

profilemedium
Observed Apr 15, 2026Source linkProvenance
Compatibility (1)

Protocol compatibility

OpenClaw

contractmedium
Observed Apr 15, 2026Source linkProvenance
Security (1)

Handshake status

UNKNOWN

trustmedium
Observed unknownSource linkProvenance
Integration (1)

Crawlable docs

6 indexed pages on the official domain

search_documentmedium
Observed Apr 15, 2026Source linkProvenance

Artifacts & Docs

Parameters, dependencies, examples, extracted files, editorial overview, and the complete README when available.

Self-declaredCLAWHUB

Captured outputs

Artifacts Archive

Extracted files

0

Examples

6

Snippets

0

Languages

typescript

Parameters

Executable Examples

bash

plexctl setup

bash

# Play a movie (fuzzy search)
plexctl play "Fight Club"
plexctl play "inception"

# Play specific TV episode
plexctl play "The Office" -s 3 -e 10
plexctl play "Westworld" --season 2 --episode 6

# Play on specific client (overrides default)
plexctl play "Matrix" -c "Living Room TV"

bash

plexctl pause              # Pause current playback
plexctl resume             # Resume playback
plexctl stop               # Stop playback
plexctl next               # Skip to next track/episode
plexctl prev               # Go to previous track/episode

bash

# Search across all libraries
plexctl search "matrix"
plexctl search "breaking bad"

# Recently added content
plexctl recent             # Last 10 items
plexctl recent -n 20       # Last 20 items

# Continue watching (on-deck)
plexctl on-deck

# What's currently playing
plexctl now-playing

# Detailed info about a title
plexctl info "Inception"
plexctl info "The Office"

bash

# List all libraries
plexctl libraries

# List available clients
plexctl clients

bash

pip install plexapi

Editorial read

Docs & README

Docs source

CLAWHUB

Editorial quality

ready

plexctl — Plex Media Server Control plexctl — Plex Media Server Control Standalone CLI for controlling Plex Media Server and clients via the Plex API When to Use **Trigger phrases:** - "play [title] on Plex" - "search Plex for [query]" - "what's playing on Plex" - "pause/resume Plex" - "show me what's on deck" - "what's new on Plex" - "list Plex clients" - "tell me about [movie/show]" **Use this skill when:** - User wants to play specific content on Pl

Full README

plexctl — Plex Media Server Control

Standalone CLI for controlling Plex Media Server and clients via the Plex API

When to Use

Trigger phrases:

  • "play [title] on Plex"
  • "search Plex for [query]"
  • "what's playing on Plex"
  • "pause/resume Plex"
  • "show me what's on deck"
  • "what's new on Plex"
  • "list Plex clients"
  • "tell me about [movie/show]"

Use this skill when:

  • User wants to play specific content on Plex
  • User wants to search their Plex library
  • User wants to control playback (pause, resume, stop, next, prev)
  • User wants to see what's currently playing
  • User wants to browse recently added content
  • User wants to see continue watching (on-deck)
  • User wants detailed info about a title

Don't use this skill when:

  • User wants Apple TV-specific navigation (use ClawTV instead)
  • User wants vision-based automation (use ClawTV instead)
  • User wants to manage Plex server settings (use Plex web UI)

Commands

Setup

plexctl setup

Interactive first-time setup:

  • Plex server URL (e.g., http://192.168.86.86:32400)
  • Plex token
  • Default client selection

Playback

# Play a movie (fuzzy search)
plexctl play "Fight Club"
plexctl play "inception"

# Play specific TV episode
plexctl play "The Office" -s 3 -e 10
plexctl play "Westworld" --season 2 --episode 6

# Play on specific client (overrides default)
plexctl play "Matrix" -c "Living Room TV"

Playback Control

plexctl pause              # Pause current playback
plexctl resume             # Resume playback
plexctl stop               # Stop playback
plexctl next               # Skip to next track/episode
plexctl prev               # Go to previous track/episode

Search & Discovery

# Search across all libraries
plexctl search "matrix"
plexctl search "breaking bad"

# Recently added content
plexctl recent             # Last 10 items
plexctl recent -n 20       # Last 20 items

# Continue watching (on-deck)
plexctl on-deck

# What's currently playing
plexctl now-playing

# Detailed info about a title
plexctl info "Inception"
plexctl info "The Office"

Library Management

# List all libraries
plexctl libraries

# List available clients
plexctl clients

Setup Instructions

1. Install Dependencies

pip install plexapi

2. Run Setup

plexctl setup

You'll need:

  • Plex server URL: Usually http://[local-ip]:32400
  • Plex token: Get from Settings → Account → Authorized Devices
    • Or from browser URL when logged into Plex Web
    • Look for X-Plex-Token parameter
  • Default client: The tool will discover available clients

3. Verify

plexctl clients            # Should list your devices
plexctl libraries          # Should list your libraries
plexctl search "test"      # Should return results

Required Credentials

Config stored in ~/.plexctl/config.json:

{
  "plex_url": "http://192.168.86.86:32400",
  "plex_token": "your-plex-token-here",
  "default_client": "Apple TV"
}

Getting Your Plex Token

Method 1: Settings Page

  1. Log into Plex Web (app.plex.tv)
  2. Settings → Account → Authorized Devices
  3. Look for your token in the page source or URL

Method 2: Browser URL

  1. Open any Plex Web page while logged in
  2. Check the URL for X-Plex-Token=...
  3. Copy the token value

Method 3: XML Direct Method

  1. Navigate to: http://[your-plex-ip]:32400/?X-Plex-Token=
  2. View page source
  3. Look for authToken attribute

Privacy & Data

  • Local only: Connects directly to your Plex Media Server on your local network
  • No cloud APIs: All communication is local (unless using Plex cloud discovery as fallback)
  • No external services: No data sent to third parties
  • No telemetry: No usage tracking or analytics
  • Config storage: Only stores Plex URL, token, and default client locally

Note: Plex cloud discovery (MyPlex) is only used as a fallback when local GDM discovery fails. All media playback is direct to your local server.

Common Use Cases

1. Quick Movie Playback

plexctl play "Fight Club"

Searches library, finds best match, starts playing on default client.

2. Binge Watching TV Shows

plexctl play "Breaking Bad" -s 1 -e 1
# ... watch episode ...
plexctl next                    # Next episode
plexctl next                    # Next episode

3. Continue Watching

plexctl on-deck                 # See what's in progress
plexctl play "Show Name"        # Resume from where you left off

4. Browse New Content

plexctl recent                  # See what's new
plexctl info "Movie Title"      # Get details
plexctl play "Movie Title"      # Watch it

5. Multi-Client Control

plexctl clients                           # List all clients
plexctl play "Movie" -c "Bedroom TV"      # Play on specific client
plexctl pause -c "Living Room TV"         # Pause specific client

6. Library Search

plexctl search "christopher nolan"        # Find all Nolan films
plexctl search "breaking"                 # Fuzzy search
plexctl info "Inception"                  # Get details before watching

Fuzzy Matching

The play and info commands use fuzzy search:

  • "fight club" → "Fight Club (1999)"
  • "inception" → "Inception"
  • "office" → "The Office (U.S.)"

Exact matches are prioritized over partial matches.

Error Handling

Client not found:

Error: Client 'Apple TV' not found

Available clients:
  Local:
    • Living Room TV (Plex for Apple TV)
    • Bedroom (Plex Web)

No results:

No results found for: xyz123

Connection failed:

Error connecting to Plex server: [Errno 61] Connection refused
URL: http://192.168.86.86:32400
Check your plex_url and plex_token in config

Integration with OpenClaw

When a user asks to play something on Plex:

  1. Parse the request — extract title, season, episode
  2. Choose command:
    • Movie: plexctl play "Title"
    • TV show specific episode: plexctl play "Show" -s N -e N
    • Search first: plexctl search "query" then plexctl play "Title"
  3. Execute and report — run command, share output with user

Example agent flow:

User: "Play Fight Club on Plex"
Agent: [exec] plexctl play "Fight Club"
Output: Found: Fight Club (1999) (movie)
        ✓ Playing on Apple TV
Agent: "Now playing Fight Club on your Apple TV"

Troubleshooting

Can't connect to Plex:

  • Verify server is running
  • Check URL (should be http://IP:32400, not https)
  • Verify token is correct
  • Check firewall settings

Client not found:

  • Make sure Plex app is open on the client device
  • Run plexctl clients to see available clients
  • Try cloud discovery (automatic fallback)
  • Restart Plex app on client device

Playback fails:

  • Verify client can play the content type
  • Check client is still active (plexctl clients)
  • Try playing manually in Plex app first
  • Check Plex server logs

Search returns no results:

  • Verify content exists in your library
  • Try broader search terms
  • Check library is scanned and up-to-date
  • Run plexctl libraries to verify library access

Performance

  • Local GDM discovery: ~100ms
  • Cloud fallback discovery: ~500-1000ms
  • Search: ~200-500ms depending on library size
  • Playback start: ~500ms
  • Control commands: ~100ms

All operations are direct Plex API calls — no vision, no screenshots, no AI inference needed.

Differences from ClawTV

| Feature | plexctl | ClawTV | |---------|---------|--------| | Plex control | ✅ Direct API | ✅ API + Vision | | Apple TV remote | ❌ | ✅ | | Vision-based navigation | ❌ | ✅ | | Any streaming app | ❌ | ✅ | | Speed | ⚡ Instant | 🐢 Slower (screenshots) | | Dependencies | plexapi only | pyatv, Anthropic API, QuickTime | | Use case | Plex-only control | Universal TV automation |

When to use plexctl: Fast, direct Plex control
When to use ClawTV: Complex navigation, non-Plex apps, vision-based automation

API & Reliability

Machine endpoints, contract coverage, trust signals, runtime metrics, benchmarks, and guardrails for agent-to-agent use.

MissingCLAWHUB

Machine interfaces

Contract & API

Contract coverage

Status

missing

Auth

None

Streaming

No

Data region

Unspecified

Protocol support

OpenClaw: self-declared

Requires: none

Forbidden: none

Guardrails

Operational confidence: low

No positive guardrails captured.
Invocation examples
curl -s "https://xpersona.co/api/v1/agents/clawhub-skills-akivasolutions-plex-ctl/snapshot"
curl -s "https://xpersona.co/api/v1/agents/clawhub-skills-akivasolutions-plex-ctl/contract"
curl -s "https://xpersona.co/api/v1/agents/clawhub-skills-akivasolutions-plex-ctl/trust"

Operational fit

Reliability & Benchmarks

Trust signals

Handshake

UNKNOWN

Confidence

unknown

Attempts 30d

unknown

Fallback rate

unknown

Runtime metrics

Observed P50

unknown

Observed P95

unknown

Rate limit

unknown

Estimated cost

unknown

Do not use if

Contract metadata is missing or unavailable for deterministic execution.
No benchmark suites or observed failure patterns are available.

Machine Appendix

Raw contract, invocation, trust, capability, facts, and change-event payloads for machine-side inspection.

MissingCLAWHUB

Contract JSON

{
  "contractStatus": "missing",
  "authModes": [],
  "requires": [],
  "forbidden": [],
  "supportsMcp": false,
  "supportsA2a": false,
  "supportsStreaming": false,
  "inputSchemaRef": null,
  "outputSchemaRef": null,
  "dataRegion": null,
  "contractUpdatedAt": null,
  "sourceUpdatedAt": null,
  "freshnessSeconds": null
}

Invocation Guide

{
  "preferredApi": {
    "snapshotUrl": "https://xpersona.co/api/v1/agents/clawhub-skills-akivasolutions-plex-ctl/snapshot",
    "contractUrl": "https://xpersona.co/api/v1/agents/clawhub-skills-akivasolutions-plex-ctl/contract",
    "trustUrl": "https://xpersona.co/api/v1/agents/clawhub-skills-akivasolutions-plex-ctl/trust"
  },
  "curlExamples": [
    "curl -s \"https://xpersona.co/api/v1/agents/clawhub-skills-akivasolutions-plex-ctl/snapshot\"",
    "curl -s \"https://xpersona.co/api/v1/agents/clawhub-skills-akivasolutions-plex-ctl/contract\"",
    "curl -s \"https://xpersona.co/api/v1/agents/clawhub-skills-akivasolutions-plex-ctl/trust\""
  ],
  "jsonRequestTemplate": {
    "query": "summarize this repo",
    "constraints": {
      "maxLatencyMs": 2000,
      "protocolPreference": [
        "OPENCLEW"
      ]
    }
  },
  "jsonResponseTemplate": {
    "ok": true,
    "result": {
      "summary": "...",
      "confidence": 0.9
    },
    "meta": {
      "source": "CLAWHUB",
      "generatedAt": "2026-04-17T04:48:26.124Z"
    }
  },
  "retryPolicy": {
    "maxAttempts": 3,
    "backoffMs": [
      500,
      1500,
      3500
    ],
    "retryableConditions": [
      "HTTP_429",
      "HTTP_503",
      "NETWORK_TIMEOUT"
    ]
  }
}

Trust JSON

{
  "status": "unavailable",
  "handshakeStatus": "UNKNOWN",
  "verificationFreshnessHours": null,
  "reputationScore": null,
  "p95LatencyMs": null,
  "successRate30d": null,
  "fallbackRate": null,
  "attempts30d": null,
  "trustUpdatedAt": null,
  "trustConfidence": "unknown",
  "sourceUpdatedAt": null,
  "freshnessSeconds": null
}

Capability Matrix

{
  "rows": [
    {
      "key": "OPENCLEW",
      "type": "protocol",
      "support": "unknown",
      "confidenceSource": "profile",
      "notes": "Listed on profile"
    },
    {
      "key": "play",
      "type": "capability",
      "support": "supported",
      "confidenceSource": "profile",
      "notes": "Declared in agent profile metadata"
    }
  ],
  "flattenedTokens": "protocol:OPENCLEW|unknown|profile capability:play|supported|profile"
}

Facts JSON

[
  {
    "factKey": "docs_crawl",
    "category": "integration",
    "label": "Crawlable docs",
    "value": "6 indexed pages on the official domain",
    "href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
    "sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
    "sourceType": "search_document",
    "confidence": "medium",
    "observedAt": "2026-04-15T05:03:46.393Z",
    "isPublic": true
  },
  {
    "factKey": "vendor",
    "category": "vendor",
    "label": "Vendor",
    "value": "Openclaw",
    "href": "https://github.com/openclaw/skills/tree/main/skills/akivasolutions/plex-ctl",
    "sourceUrl": "https://github.com/openclaw/skills/tree/main/skills/akivasolutions/plex-ctl",
    "sourceType": "profile",
    "confidence": "medium",
    "observedAt": "2026-04-15T00:45:39.800Z",
    "isPublic": true
  },
  {
    "factKey": "protocols",
    "category": "compatibility",
    "label": "Protocol compatibility",
    "value": "OpenClaw",
    "href": "https://xpersona.co/api/v1/agents/clawhub-skills-akivasolutions-plex-ctl/contract",
    "sourceUrl": "https://xpersona.co/api/v1/agents/clawhub-skills-akivasolutions-plex-ctl/contract",
    "sourceType": "contract",
    "confidence": "medium",
    "observedAt": "2026-04-15T00:45:39.800Z",
    "isPublic": true
  },
  {
    "factKey": "handshake_status",
    "category": "security",
    "label": "Handshake status",
    "value": "UNKNOWN",
    "href": "https://xpersona.co/api/v1/agents/clawhub-skills-akivasolutions-plex-ctl/trust",
    "sourceUrl": "https://xpersona.co/api/v1/agents/clawhub-skills-akivasolutions-plex-ctl/trust",
    "sourceType": "trust",
    "confidence": "medium",
    "observedAt": null,
    "isPublic": true
  }
]

Change Events JSON

[
  {
    "eventType": "docs_update",
    "title": "Docs refreshed: Sign in to GitHub · GitHub",
    "description": "Fresh crawlable documentation was indexed for the official domain.",
    "href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
    "sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
    "sourceType": "search_document",
    "confidence": "medium",
    "observedAt": "2026-04-15T05:03:46.393Z",
    "isPublic": true
  }
]

Sponsored

Ads related to plex-ctl and adjacent AI workflows.