Skip to main content
Glama

list_photo_transcode

Read-onlyIdempotent

Transcodes an image from a source URL to your chosen format, dimensions, and quality. Adjust rotation, blur, saturation, opacity, and more for customized output.

Instructions

Transcode an image.

GET /photo/:/transcode

Args:
    url: The source URL for the image to transcode.  Note, if this URL requires a token such as `X-Plex-Token`, it should be given as a query parameter to this url.
    format: The output format for the image; defaults to jpg
    width: The desired width of the output image
    height: The desired height of the output image
    quality: The desired quality of the output.  -1 means the highest quality.  Defaults to -1
    background: The background color to apply before painting the image.  Only really applicable if image has transparency.  Defaults to none
    upscale: Indicates if image should be upscaled to the desired width/height.  Defaults to false
    min_size: Indicates if image should be scaled to fit the smaller dimension.  By default (false) the image is scaled to fit within the width/height specified but if this parameter is true, it will allow overflowing one dimension to fit the other.  Essentially it is making the width/height minimum sizes of the image or sizing the image to fill the entire width/height even if it overflows one dimension.
    rotate: Obey the rotation values specified in EXIF data.  Defaults to true.
    blur: Apply a blur to the image, Defaults to 0 (none)
    saturation: Scale the image saturation by the specified percentage.  Defaults to 100
    opacity: Render the image at the specified opacity percentage.  Defaults to 100
    chroma_subsampling: Use the specified chroma subsambling.
  • 0: 411

  • 1: 420

  • 2: 422

  • 3: 444 Defaults to 3 (444) blend_color: The color to blend with the image. Defaults to none

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlNo
blurNo
widthNo
formatNo
heightNo
rotateNo
opacityNo
qualityNo
upscaleNo
min_sizeNo
backgroundNo
saturationNo
blend_colorNo
chroma_subsamplingNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already declare read-only, idempotent, non-destructive behavior; the description adds meaningful details beyond that: the GET method, the X-Plex-Token query parameter requirement for source URLs, all defaults, and nuanced behaviors such as min_size overflow, upscaling, EXIF rotation, and chroma subsampling values. This is rich, accurate behavioral context with no contradiction.

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 first sentence front-loads the core purpose, and the Args list is organized. The length is justified by 14 undocumented parameters, though a few entries are wordy (especially min_size) and there is a typo in 'subsambling'; it earns a high but not perfect conciseness score.

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

Completeness5/5

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

The description covers the endpoint, source URL authentication, all parameters, and defaults, while an output schema exists so return-value documentation is not required. For a 14-parameter tool with no schema descriptions, nothing needed for correct invocation is missing.

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

Parameters5/5

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

Schema descriptions are at 0% coverage, and the description fully compensates by explaining every one of the 14 parameters, including defaults, valid values, and special notes (e.g., quality -1 meaning highest quality, min_size semantics, chroma_subsampling mapping). It adds far more than the bare input schema provides.

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 begins with 'Transcode an image' – a specific verb and resource – and reinforces it with the endpoint 'GET /photo/:/transcode' and a full set of image transform parameters. It is clearly distinguishable from siblings such as list_music_transcode by naming the photo resource explicitly.

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

Usage Guidelines3/5

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

The description implies the use case (an image that needs transcoding) but never states when to prefer this tool over alternatives, nor does it mention siblings such as list_music_transcode or other transcode endpoints. There is no explicit when/when-not usage guidance.

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