Skip to main content
Glama

Preview a photo filter

preview_filter
Read-onlyIdempotent

Show what a filter would look like BEFORE creating it: the Studio renders its sample photo (or the operator's own preview photo, if they set one in the dashboard) through the exact pipeline the booth uses, and returns an image URL. Free and read-only — call it whenever the operator is designing a filter, adjust the numbers from their reaction ('warmer', 'less contrast'), preview again, and call create_filter with the same adjustments only once they are happy. Some adjustments (shadows, highlights, whites, blacks, clarity, dehaze, vibrance, texture) are applied by the booth but cannot be shown here; the result lists them as notPreviewed so you can say so. Nothing is created by this tool.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
adjustmentsYesOnly include what the operator asked to change. An omitted adjustment keeps its neutral value; sending every field at its neutral value creates a filter that does nothing.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
kindYes
noteYes
sampleYes
previewedYes
previewUrlYes
adjustmentsYes
notPreviewedYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.8/5.0
Behavior5/5

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

Even though annotations already declare readOnlyHint=true and destructiveHint=false, the description adds meaningful behavior beyond those signals: it uses either a sample photo or the operator's dashboard preview photo, runs the exact booth pipeline, returns an image URL, and reports certain adjustments as notPreviewed. It ends with 'Nothing is created by this tool,' reinforcing the read-only nature without contradicting the annotations.

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 four sentences, front-loads the core purpose, and every sentence carries useful information about behavior, usage, or limitations. It is slightly redundant with the annotations ('Free and read-only', 'Nothing is created'), but that redundancy is mild and reinforces the read-only contract rather than wasting space.

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?

Given the annotations cover safety/idempotence, the output schema covers return values, and the schema covers all parameter semantics, the description fills the remaining contextual gaps: when to use it, how to iterate with create_filter, and what to tell the operator about non-previewed adjustments. Nothing essential is missing for correct invocation.

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?

The schema already provides excellent coverage of every adjustment parameter with descriptions and ranges, so the baseline is 3. The description adds extra value by naming which specific adjustments (shadows, highlights, whites, blacks, clarity, dehaze, vibrance, texture) cannot be previewed and will be listed as notPreviewed, which is parameter-level behavioral information not present in the schema.

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 opens with a precise statement of what the tool does: 'Show what a filter would look like BEFORE creating it,' then explains the rendering pipeline and that it returns an image URL. It clearly distinguishes this from the sibling create_filter by emphasizing that nothing is created, so an agent can tell them apart immediately.

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

Usage Guidelines5/5

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

The description explicitly says to call it 'whenever the operator is designing a filter,' gives an iterative workflow ('adjust the numbers from their reaction... preview again'), and tells the agent to switch to 'create_filter with the same adjustments only once they are happy.' It also warns about non-previewable adjustments, giving the agent concrete guidance on how to handle the output honestly.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.