Skip to main content
Glama

Luala

Add a photo

add_photo

Adds one photo to the user's My photos in Luala, free, so it can be edited: an old print to restore, clothes to try on, a photo to change. The answer is the saved photo with its photo_id and edit prices: when the user asked for an edit of it, tell them that edit's price, and once they agree make it with Luala's tool for it on this photo_id, never with another image tool. Pass the file the user attached as photo. If you can't, but the file is in your sandbox, call with its content_type (image/jpeg, image/png or image/webp: convert a HEIC to JPEG first) and size in bytes, PUT the file to the answer's upload url with its headers, then call again with the answer's key. Called with none of these, it answers with the luala.app page where the user adds it. The user accepted the upload rules when connecting Luala.

Input Schema

NameRequiredDescriptionDefault
keyNo
sizeNo
photoNoThe file the user attached.
content_typeNo

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 only declare the write/open-world/non-idempotent profile; the description adds substantial context beyond them: the operation is free, the response carries photo_id and edit prices, the two-step upload dance (PUT to the returned upload url with its headers, then re-call with the key), the HEIC-to-JPEG conversion requirement, and the consent fact that upload rules were accepted at connect time.

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?

Front-loaded with purpose, then the response, then the fallback ladder — every clause carries operational meaning and nothing is filler. However, the middle sentences are long run-ons with nested colons and clauses, so a stepwise structure would have made the upload sequence easier to execute correctly.

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?

This is a complex multi-step tool with no output schema, and the description supplies exactly what is missing: what the answer contains (saved photo, photo_id, edit prices, upload url and headers, key, or the luala.app page when called bare). An agent has enough to execute every branch without guessing.

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 description coverage is only 25%, so the description must carry the load and largely does: photo is the user's attached file, content_type has explicitly enumerated values (image/jpeg, image/png, image/webp), size is in bytes, and key comes from the previous answer. The three valid call shapes (photo alone; content_type+size then key; no arguments) are conveyed implicitly through prose rather than stated as a required-parameter contract.

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?

States a specific verb and resource ('Adds one photo to the user's My photos in Luala') plus its effect ('free, so it can be edited'), which an agent can distinguish from add_selfie and list_photos/upload_status. It also enumerates concrete use cases (old print to restore, clothes to try on, a photo to change), removing ambiguity about what belongs here.

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?

Gives explicit routing rules: pass the attached file as photo; if that fails use the content_type+size then key flow; call with no arguments to get the page where the user adds it; and never fulfil the edit with another image tool. It does not explicitly contrast with the sibling add_selfie, so the boundary between the two photo-intake tools is left to inference.

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