Skip to main content
Glama

Simpler.Asia

quote_item_delete

DestructiveIdempotent

Soft-deletes a quote line — it leaves the quote and its totals immediately, but the row is retired for audit history, never removed. expected_updated_at is required: the line's updated_at from your read (quote_item_read); without it the removal is refused and the refusal names the current value. Refuses with CONFLICT when the line changed since that read (read it again and decide on the current line) and on a converted quote (its lines are frozen: change its invoice instead). NEXT: quote_read to see the quote.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesThe quote_item id (quote_item_list shows them).
unitNo
positionNo
quantityNo
quote_idNo
tax_codeNo
descriptionNo
discount_bpsNo
unit_price_centsNo
expected_updated_atYesRequired: the line's updated_at from your last read (quote_item_read, quote_item_list or the create answer). Left out, the call is refused and names the current value; a line changed since then returns CONFLICT with the current value and stays as it is.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Although annotations already declare destructive, idempotent, and non-readonly behavior, the description adds substantial operational detail: the line is retired rather than removed, expected_updated_at is mandatory, refusal names the current value, CONFLICT occurs when the line changed, and converted quotes freeze their lines. This is richer than the annotation set alone.

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 description is front-loaded with the core soft-delete behavior and then layers in concurrency and converted-quote constraints efficiently. It is dense but mostly earns its length, though the expected_updated_at explanation partly repeats the schema description.

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 destructive delete operation with no output schema, the description covers the essential behavior, required concurrency token, refusal modes, converted-quote restriction, and suggested next step. An agent has enough information to invoke it correctly and interpret common failures.

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 low at 20%, so the description carries more burden. It compensates well for the critical expected_updated_at parameter by explaining its source, requirement, and conflict behavior, and it implies id usage through the read/list references. However, the many optional schema parameters are not addressed, leaving ambiguity about whether unit, quantity, price, and similar fields matter for a delete operation.

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?

The description states a specific verb and resource: it soft-deletes a quote line. It also explains the immediate effect (line leaves the quote and totals) and the audit-retention behavior, which distinguishes it from a hard delete or update.

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?

The description gives clear context for when this tool applies and specifically redirects the agent for converted quotes: change the invoice instead. It also names quote_read as the next step. It does not explicitly compare against quote_item_update, but the main usage conditions are clear.

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