Skip to main content
Glama

transform_image

Generate a CDN-cached image variant for a file stored in UploadKit Cloud. Requires a paid plan, a live API key in the MCP process environment as UPLOADKIT_API_KEY, and an image key returned by UploadKit. BYOS files are not supported. Use signed delivery for private or temporary content and public delivery for stable URLs in websites, apps, srcset, CSS, or stored application data. Explicit formats consume 1 transformation unit; auto consumes 3 units.

When to use: after an image is uploaded and the user wants a resized, cropped, optimized, or converted delivery URL. The returned URL is safe to send to browsers; the API key remains server-side.

Returns: JSON { url, expiresAt, delivery, transform, usage }. Has the side effect of reserving monthly transformation units for a new unique variant.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
fitNoscale-down
keyYesExact UploadKit Cloud storage key returned by upload or listFiles. Not a public CDN URL.
widthNoOutput width in pixels. Width or height is required.
formatNoauto
heightNoOutput height in pixels. Width or height is required.
qualityNo
deliveryNosigned expires and suits private content; public is stable and suits permanent public assets.signed

TDQS

A4.9/5.0
Behavior5/5

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

With no annotations provided, the description shoulders full responsibility for behavioral disclosure. It covers prerequisites (paid plan, API key), side effects (reserves transformation units), cost implications (explicit vs auto consuming different units), and safety (API key remains server-side). This exceeds typical transparency.

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 well-structured with clear sections: purpose, prerequisites, delivery guidance, 'When to use', and return details. Every sentence provides distinct value—no redundancy or filler. It manages to be comprehensive without being verbose.

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 no annotations and no output schema, the description covers all essential context: auth requirements, usage constraints, return format, side effects, and safety. It also clarifies the 'key' parameter is not a public URL. This is complete for a tool of this complexity.

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 coverage is 57%, with key, width, height, and delivery already described. The description adds valuable semantics for delivery (signed vs public usage) and format (unit consumption), but does not elaborate on fit or quality beyond their enum values. The added context partially compensates for the missing schema descriptions, but not fully.

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 clearly states the tool's function: 'Generate a CDN-cached image variant for a file stored in UploadKit Cloud.' It uses a specific verb ('Generate') and resource ('image variant'), and distinguishes itself from sibling tools like get_byos_config or scaffold_provider by focusing on image transformation.

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 provides explicit usage context: 'When to use: after an image is uploaded and the user wants a resized, cropped, optimized, or converted delivery URL.' It also mentions exclusions (BYOS files are not supported) and differentiates between signed and public delivery based on use case, giving clear guidance on when to choose each.

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.

TDQS

A4.7/5.0
Disambiguation5/5

Each tool targets a distinct resource and action: docs (list/search/get), components (list/search/get), scaffolding (route handler/provider), install, quickstart, BYOS config, and image transform. Even the most similar pairs (list_docs vs search_docs vs get_doc) have clear boundaries between enumerating, searching, and fetching a specific page.

Naming Consistency5/5

All tools follow a consistent verb_noun snake_case pattern: get_*, list_*, search_*, scaffold_*, plus transform_image. The verbs are semantically grouped (list = enumerate, search = fuzzy find, get = fetch specific, scaffold = generate code), making the naming predictable and scannable.

Tool Count5/5

With 12 tools, the server is well-scoped. It covers the full array of UploadKit integration tasks—docs discovery, component exploration, setup scaffolding, install commands, and image transformations—without unnecessary duplication or bloat.

Completeness5/5

The tool surface is highly complete for its purpose: agents can discover and fetch docs, search and inspect components, generate all necessary setup code (route handler, provider, install, BYOS), and create transformed image URLs. The only possible gap is upload management, but that is outside the server's stated integration-guidance scope, so no dead ends exist.

Resources