Skip to main content
Glama

Luala

Restore an old photo

restore

Repairs an old or damaged photo of the user's (a photographed print, most often one from list_photos with uploads), paid from their credits: repair fixes scratches, tears and stains, faces enhances them, colourise adds colour to a black and white one. size 1K is Standard, 2K High quality; the price is by size. Pass the price the user agreed to as max_credits: the photo's prices from get_shoot or list_photos name it. If a call to this tool got no answer, it may already have started: check list_photos before calling it again.

Input Schema

NameRequiredDescriptionDefault
sizeYes
facesNo
repairNo
photo_idYes
colouriseNo
max_creditsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already mark this as a non-read-only, non-idempotent mutation, but the description adds real behavior the annotations cannot: the operation is paid from user credits, price scales with size, max_credits is a price the user agreed to, and a timed-out call may already have started work. That last point is crucial non-idempotency context for an agent.

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?

It is front-loaded with the core purpose and every clause carries information, but it is written as one very long, dense run-on, which makes the size/price and retry guidance harder to scan than separate sentences would be.

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?

For a 6-parameter paid mutation with no output schema and no annotations detail, the description covers cost, parameter meaning, sourcing of inputs, and retry safety. It does not say what a successful call returns or how to observe completion, which is the main remaining gap.

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 coverage is 0%, so the description must carry the parameter meaning, and it does: size maps to 1K Standard vs 2K High quality with price by size, max_credits is the agreed price sourced from get_shoot or list_photos, and repair/faces/colourise are each defined behaviorally. photo_id is implicitly sourced from list_photos.

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 gives a specific verb and resource ('Repairs an old or damaged photo') and then decomposes the sub-operations (repair/faces/colourise), so an agent knows exactly what the tool does and which modes it covers. This distinguishes it from siblings like upscale or edit without needing their schemas.

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?

It names the intended input ('a photographed print, most often one from list_photos with uploads') and adds a retry rule: check list_photos before calling again if a prior call got no answer. What is missing is an explicit statement of when NOT to use it (e.g. versus edit or upscale for non-damaged photos).

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.

Resources