Skip to main content
Glama

plex_streaming

Control Plex media playback and manage active sessions. List clients, play or pause media, seek, skip, and adjust volume across devices.

Instructions

Comprehensive playback control and session management operations for Plex Media Server.

PORTMANTEAU PATTERN RATIONALE: Consolidates session monitoring, client discovery, and remote playback control into a single tool.

OPERATIONS:

  • list_sessions: List all active sessions with client and playback details.

  • list_clients: List all available Plex clients for remote control.

  • play: Start media playback on a specific client (auto-selects if omitted).

  • pause/stop: Control current playback state on a client.

  • seek: Jump to a specific position (milliseconds) in the media.

  • skip_next/skip_previous: Navigate through the play queue.

  • set_volume: Adjust the playback volume (0-100) on a client.

  • control: Generic playback control for custom actions (e.g., step_forward).

Return Format

{"success": bool, "operation": str, "data": dict, "count": int | None, "error": str | None}

Examples

await plex_streaming(operation="list_sessions") await plex_streaming(operation="play", client_id="abc123", media_key="12345") await plex_streaming(operation="seek", client_id="abc123", seek_to=60000)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
actionNoPlayback action for the control operation (play, pause, stop, etc.).
offsetNoOffset in seconds for skip operations.
volumeNoVolume level (0-100) for set_volume operation.
qualityNoStream quality setting (e.g., '1080p', '720p', '480p').
seek_toNoPosition in milliseconds to seek to.
client_idNoMachine identifier of the target Plex client.
media_keyNoMedia key (rating key) of the item to stream.
operationYesThe streaming operation to perform.
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide only a basic safety profile (not read-only, not destructive). The description adds useful behavioral details like 'auto-selects if omitted' for play and the generic control operation, but it does not disclose side effects, authentication needs, or error behavior. Given the annotations, this is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is longer than necessary but well-structured with an operations list, return format, and examples. The 'PORTMANTEAU PATTERN RATIONALE' section adds context but could be trimmed. Overall, it is organized and readable with no wasted repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 8 parameters and no output schema, but the description provides a return format and example calls for key operations. This covers the main context needed for an agent to understand invocation and expected responses, although it does not cover every operation with an example.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents every parameter. The description adds a few extra semantics (e.g., client auto-selection, seek in milliseconds) and provides examples, but these are supplementary to the schema rather than essential.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Comprehensive playback control and session management operations for Plex Media Server' with a specific verb+resource scope. It lists concrete operations (list_sessions, play, pause, seek, etc.) that distinguish it from sibling Plex tools like plex_playlist or plex_library.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context by presenting the tool as the consolidated for playback and session management, with operations listed. However, it does not explicitly mention when not to use it or direct to alternatives for other Plex tasks, so it falls short of full guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

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/sandraschi/plexmcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server