Skip to main content
Glama
dustinhansen

Plex MCP Server

by dustinhansen

Manage collection

manage_collection
Destructive

Create, extend, prune, or delete Plex library collections; deleting a collection removes only the grouping, leaving its media items untouched.

Instructions

Create, extend, prune, or delete a collection in a library. create: title + library + ratingKeys (+ kind, which defaults to the kind the library holds and must match it). add_items/remove_items: collectionId + ratingKeys. delete: collectionId (removes ONLY the grouping: its items are untouched). If Plex fails partway through remove_items, the error names the keys already removed.

Input Schema

NameRequiredDescriptionDefault
kindNo
titleNo
actionYes
libraryNo
ratingKeysNo
collectionIdNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.9.0

TDQS

A4.4/5.0
Behavior4/5

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

Goes well beyond the annotations: it discloses that delete removes ONLY the grouping and leaves items intact, that `kind` defaults to the library's kind and must match it, and that a partial failure during remove_items reports the keys already removed — a genuinely useful non-obvious recovery detail. Permissions requirements and whether create returns the new id are not covered.

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?

Front-loaded with the verb set, then per-action requirements, then the failure caveat. Dense but zero waste — every clause is actionable.

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?

A destructive multi-action tool with no output schema and no param descriptions; the description covers action semantics, required inputs, and the destructive scope. The notable omission is what comes back from create/add_items (e.g., the new collectionId), which an agent would need for chained calls.

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 must carry the load, and it does: it maps every parameter to the action(s) that require it and explains the `kind` defaulting/matching rule. It does not clarify ratingKeys being numeric strings or the 500-item cap, though the schema's pattern/maxItems partly cover that.

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 specific verbs (create, extend, prune, delete) against a concrete resource (a collection in a library) and enumerates the four actions the `action` enum supports. An agent can distinguish this from manage_playlist/manage_watchlist purely on the resource noun.

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?

Each action is paired with the parameters it needs (create: title + library + ratingKeys; add_items/remove_items: collectionId + ratingKeys; delete: collectionId), which effectively tells the agent which action to pick for a given intent. It stops short of naming an alternative tool or an explicit when-not-to-use condition.

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