Skip to main content
Glama

update_library_optimize

Idempotent

Optimize your Plex media server database to fix performance issues. Optionally run asynchronously to avoid waiting for completion.

Instructions

Optimize the Database.

PUT /library/optimize

Args: async_: If set, don't wait for completion but return an activity

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
async_No

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already establish that the operation is non-read-only, idempotent, and non-destructive. The description adds useful async behavior: setting 'async_' avoids waiting and returns an activity, implying the default is to wait. It does not mention other potential side effects or long-running characteristics beyond this.

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?

The description is extremely concise with no filler: one purpose sentence, an HTTP endpoint, and one parameter explanation. Every line contributes, and the endpoint is front-loaded.

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

Completeness3/5

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

For a tool with one optional parameter and an output schema, the description covers the async path and the endpoint. However, it remains vague about what 'optimize' actually does, what the synchronous default returns or waits for, and how the returned activity should be interpreted, leaving gaps in the agent's mental model.

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?

With 0% schema description coverage, the description carries the parameter burden and does explain the only parameter: 'async_' controls whether the caller waits for completion or receives an activity immediately. It does not specify accepted string values, but the core semantic is meaningfully conveyed.

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

Purpose4/5

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

The description states a clear verb and resource: 'Optimize the Database' and identifies the endpoint 'PUT /library/optimize'. It does not, however, differentiate this from sibling operations such as create_library_optimize or create_library_sections_by_section_id_optimize, so it lacks sibling distinction.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool, when not to use it, or what alternatives exist. The description simply provides the HTTP path and an argument, leaving the agent to infer appropriate usage from the name alone.

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

Deploy Server

Other Tools