Skip to main content
Glama

Attach a reference image

upload_reference

Attach the user's own image as an entity's look: a character's face/identity, a location plate, or an object reference. Free. Two ways in: source_url (a public https image URL the server fetches), or the begin/commit pair for local files (begin returns a presigned upload URL — PUT the bytes there with e.g. curl, then call again with mode 'commit' and the returned upload_key). Names come from get_plan. A photo of a real person requires that person's consent: confirm with the user, then pass real_person and consent_confirmed. Note: an image carries identity/look, not physical scale.

Input Schema

NameRequiredDescriptionDefault
kindYes
mimeNobegin: image mime type
modeNoLocal-file flow
nameYesEntity name as it appears in the plan (e.g. the character's name)
filenameNobegin: original filename (for the upload)
project_idYes
source_urlNoPublic https URL of the image
upload_keyNocommit: the key returned by begin
real_personNoThis image shows a real, identifiable person
consent_confirmedNoThe user confirmed that person consents to this use

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / consent_confirmed
      Added value: +{
      +  "description": "The user confirmed that person consents to this use",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / real_person
      Added value: +{
      +  "description": "This image shows a real, identifiable person",
      +  "type": "boolean"
      +}
  2. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Annotations only flag write/open-world/non-destructive; the description adds cost ('Free'), the presigned-URL upload mechanics, and a consent/compliance gate for real people that is invisible in structured fields. The closing caveat that an image carries identity/look but not physical scale is a genuine behavioral limitation an agent could not otherwise infer.

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?

Purpose is front-loaded, then alternatives, then the consent caveat — a sensible order with no filler sentences. It is dense, with a long parenthetical for the curl/PUT flow, so it is efficient but slightly crammed rather than cleanly scan-able.

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?

No output schema exists, and the description compensates by explaining what the begin call returns (presigned URL, upload_key). For a 10-param write tool with an open-world network hint, the remaining gaps in an agent's decision-making are closed.

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?

With 80% schema coverage the baseline is 3, but the description goes further by explaining how params interlock: source_url as the server-fetch path versus mode begin/commit with upload_key threaded from the begin call, plus the real_person → consent_confirmed pairing. This adds relational meaning the flat schema cannot express.

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 ('Attach the user's own image as an entity's look') and immediately enumerates the three target kinds (character face/identity, location plate, object reference). An agent can distinguish this from plan-mutating siblings like build_plan/apply_plan without opening the schema.

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?

Explicitly lays out the two invocation paths — source_url for a public https image, or the begin/commit pair for local files — including what begin returns and what to pass on commit. It also states the prerequisite that names come from get_plan and the consent condition, so the when-and-how is fully covered.

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