Skip to main content
Glama

Replace a photo

replace_photo
Destructive

Swap a shot for an attached photo (attachment storageId), in the same place with the same length and movement. The old photo stays in the library.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "listingId": "<listingId>",
      "photoId": "<photoId>",
      "storageId": "<storageId>"
    },
    "name": "replace_photo"
  }
}

Input Schema

NameRequiredDescriptionDefault
photoIdYesA photo: its photoId from the edit summary, or its play position like "shot 3".
listingIdYesListing id from list_listings.
storageIdYesThe new photo (its storageId from upload_media or the chat).

Output Schema

NameRequiredDescriptionDefault
statusNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / storageId / description
      Added value: +"The new photo (its storageId from upload_media or the chat)."
  2. First observed

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and non-idempotent; the description adds genuinely useful nuance that the old photo is preserved in the library and that timing/movement are untouched, which tempers the destructive framing. It does not say whether the replacement can be undone or what happens to the attachment afterward, but with annotations present the bar is lower.

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?

Two sentences, no filler, and the most decision-relevant facts (what is swapped, that placement and length are preserved) come first. The preservation note about the old photo is the one non-obvious extra and is kept to a short clause.

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 three-parameter mutation with full schema coverage, an output schema, and annotations carrying the safety profile, the description covers the semantics an agent needs to choose and call it. Only minor gaps remain: reversibility of the swap and whether the old photo can be restored to the shot.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so each of the three parameters is already documented with source pointers (edit summary/play position, list_listings, upload_media). The description reinforces that storageId refers to an attached photo but adds no format or validation detail beyond the schema; baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Swap a shot for an attached photo') and pins down the exact semantics of the swap: same place, same length, same movement. That implicitly distinguishes it from add_photos/add_shots, which would insert rather than substitute, though no sibling is named.

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

Usage Guidelines3/5

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

The scenario that selects this tool (replacing an existing shot without altering timing or camera movement) is implied by 'in the same place with the same length and movement.' There is no explicit when-not guidance and no alternative named, so the agent must infer that adding new photos is a different tool.

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