Skip to main content
Glama

AssetLab

Update purchase order line

update_purchase_order_line
DestructiveIdempotent

Update a purchase order line item. Requires purchase_orders:write scope. To receive goods, set quantity_received; for a line with a part, the change is added to (or taken from) that part's stock. A line with stock received cannot change its part.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesPurchase order line ID
part_idNoPart from inventory
quantityNoQuantity ordered
unit_costNoPrice per unit, in the organization currency
descriptionNoWhat is being ordered
line_numberNoPosition on the order
quantity_receivedNoQuantity received so far, 0 to quantity

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare destructive=true, idempotent=true, readOnly=false; the description goes beyond them by disclosing the required purchase_orders:write scope, the inventory side effect ('the change is added to (or taken from) that part's stock'), and a hard business rule ('a line with stock received cannot change its part'). It stops short of saying what happens when quantity_received is reduced after receiving.

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?

Three short sentences, no filler; the core action comes first, then the auth scope, then the two behavioral rules. Every sentence carries distinct information.

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 destructive mutation with annotations covering safety and no output schema, the description covers scope, side effects, and the key constraint. Minor gap: no statement of behavior or error when decreasing quantity_received on a line that already has stock.

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 baseline is 3, but the description adds genuine meaning the schema lacks: that quantity_received is the goods-receipt lever and that part_id edits propagate to part stock. That elevates it above the baseline.

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: 'Update a purchase order line item.' An agent can tell it targets a PO line rather than the PO header or an unrelated update_* sibling, though it never explicitly names an alternative to contrast against.

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?

Gives real operational context: 'To receive goods, set quantity_received' tells the agent when this tool is the right mechanism. It does not name exclusions or point to sibling tools (e.g., update_purchase_order for header changes), but the usage condition is 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