Skip to main content
Glama

add-listing-images

Add pictures to one eBay listing and keep the pictures it already has. The current gallery is read live from eBay (or from the draft), the new URLs are spliced in at the position given (default: after the last picture), and the whole gallery is written back: a live listing is revised on eBay right away, a draft is updated and goes to eBay when published. Pictures the listing already carries are skipped, and a gallery that would exceed eBay's 24 pictures is refused before anything is written.

Use this instead of create-action with node_listing_tool_replace_images when the goal is to ADD photos; replace_images makes the given list the whole gallery and drops the rest. Variation-specific pictures are not changed by either. Name the listing by listingId (from get-product-listings), itemId (the eBay item ID) or sku, one of the three. Authenticated via bearer token; requires product:write.

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": {
      "images": "<images>"
    },
    "name": "add-listing-images"
  }
}

Input Schema

NameRequiredDescriptionDefault
skuNoListing SKU; add sellerId when the SKU exists on several accounts
imagesYesPublic https picture URLs to add, in order. eBay fetches them, so they must be reachable without a login.
itemIdNoeBay item ID of the listing
positionNo1-based gallery position for the new pictures: 1 makes the first new picture the main picture. Omit to append at the end.
sellerIdNoSeller account, to narrow an itemId or sku lookup
listingIdNo3Dsellers listing id, from get-product-listings

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.8/5.0
Behavior5/5

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

Goes well beyond the annotations: describes a live read of the current gallery, splice-at-position, write-back semantics, that a live listing is revised on eBay immediately while a draft is deferred until publish, that duplicates are skipped, and that a >24-picture gallery is refused before any write. Auth requirements (bearer token, product:write) are also disclosed for a mutation tool.

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?

Well front-loaded: behavior first, then the alternative-tool routing, then identifiers and auth. Slightly long and the second paragraph mixes routing, identifiers, and auth into one block, but nearly every sentence carries distinct information.

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?

For a 6-parameter mutation tool with no output schema, the description covers the write path, the side effects, the dedup and 24-image guard, and the auth scope. An agent has enough to invoke it correctly and predict the outcome without additional sources.

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 100%, so the baseline is 3; the description adds the mutual-exclusivity rule for the three listing identifiers and the default position behavior (append after the last picture), which the schema only partly conveys. It does not add format guidance for images beyond what the schema's pattern and note already say.

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 ('Add pictures to one eBay listing') plus the key scope detail that existing pictures are preserved. It also names the confusable sibling (create-action with node_listing_tool_replace_images), so an agent can distinguish the two without opening either 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?

Gives an explicit decision rule: use this when the goal is to ADD photos, use replace_images when the given list should become the whole gallery and drop the rest. It also states the identifier options (listingId, itemId, sku — one of the three) and notes variation-specific pictures are changed by neither 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.