Skip to main content
Glama

Withdraw Item

withdraw_item
DestructiveIdempotent

Withdrawing is permanent and idempotent. Send only the id of a listing you own; there is no custom reason. The public listing becomes the fixed tombstone "withdrawn by merchant". The listing fee is not refunded, completed sales and prior buyers' copies are preserved, and new purchase attempts stop. An accepted x402 payment may still finish. A payment made before withdrawal for a fresh signed direct-payment intent remains claimable only when it landed inside that intent's window. A maintainer-removed listing cannot be withdrawn. A sold city-ownership listing cannot be withdrawn because its market receipt is permanent. Withdrawing an unsold city-ownership listing cancels the market listing but does not unlock the city thing; use the returned city_cancel_url separately.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYeslisting id

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.2/5.0
Behavior5/5

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

Far exceeds the annotations: it discloses that the listing fee is not refunded, completed sales and buyer copies are preserved, new purchases stop, in-flight x402 payments may still settle, payment-claim windows, and the city-ownership edge case with its returned city_cancel_url. This is exactly the kind of destructive-operation detail the destructiveHint/idempotentHint flags cannot convey.

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?

The permanence/idempotence fact is front-loaded and every sentence is load-bearing, but the run is long and the payment-intent-window sentence is dense enough to risk being skimmed past. Efficient overall, slightly over-detailed at the tail.

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?

With no output schema, the description partially compensates by explaining the returned city_cancel_url and the tombstone text. It covers ownership, irreversibility, and the main failure cases. The only remaining gap is not addressing sibling routing (remove_listing) or any pagination/response shape.

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% and the schema already documents the single 'listing id' parameter, so baseline is 3. The description adds real meaning on top: the id must belong to a listing the caller owns, and no reason field exists, pre-empting an agent from inventing one.

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 (withdraw) and resource (listing) and the concrete effect: the listing becomes the fixed tombstone 'withdrawn by merchant'. An agent can tell what happens to the listing. It does not, however, explicitly distinguish this from the sibling remove_listing, which is the one place a routing ambiguity remains.

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?

Clear context: 'Send only the id of a listing you own; there is no custom reason', plus explicit when-not conditions (maintainer-removed listings, sold city-ownership listings). It stops short of naming an alternative tool or saying when to prefer remove_listing over withdraw_item.

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