Skip to main content
Glama
dustinhansen

Plex MCP Server

by dustinhansen

Manage watchlist

manage_watchlist
Idempotent

Add or remove movies and shows from the server owner's plex.tv watchlist by ratingKey, with every key validated before any change is sent.

Instructions

Add movies or shows in the library to the server owner's plex.tv watchlist, or remove them, by ratingKey. Every key is checked before anything is sent: one that is not in a library, is not a movie or show, or has no Plex GUID fails the whole call. If plex.tv fails partway, the error names the keys already changed.

Input Schema

NameRequiredDescriptionDefault
actionYes
ratingKeysYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.9.0

TDQS

A4.6/5.0
Behavior5/5

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

Adds substantial behavior beyond the annotations: validation is all-or-nothing ('one bad key fails the whole call') and partial plex.tv failures produce an error naming the keys already changed — exactly what an agent needs to decide whether to retry. Annotations already cover idempotency and mutation safety, and nothing in the text contradicts them.

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

Conciseness5/5

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

Three sentences, each front-loaded with the highest-value fact: purpose, then validation atomicity, then failure semantics. No filler and no repetition of the title.

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?

No output schema exists, yet the description explains failure behavior well; success-return shape (e.g. which keys were changed, count) is still unstated. For a 2-parameter mutation tool with annotations covering safety and idempotency, this is close to complete but leaves the success response to inference.

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

Parameters4/5

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

Schema description coverage is 0%, so the description carries the burden and largely does: it defines ratingKey's meaning and validity preconditions (in a library, movie/show, has a Plex GUID) and makes the add/remove action explicit. It doesn't mention the 1–100 array bound or the numeric-string format, which remain schema-only.

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?

States a specific verb pair (add/remove) and resource (server owner's plex.tv watchlist), plus the addressing mechanism (ratingKey). It is clearly the mutation counterpart to the read-only sibling get_watchlist, so an agent can route between them without opening a schema.

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 scope constraint 'in the library' and the ownership constraint ('server owner's' watchlist) make the applicable context clear. It doesn't explicitly name get_watchlist as the read alternative or state when not to use it, so exclusions are left implicit.

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