Skip to main content
Glama

Final POS – Custom POS Builder

Send stock transfer

hub_create_stock_transfer
Destructive

Move stock from one outlet to another — 'send 10 of these from the warehouse to the King Street shop'. CONFIRM WITH THE MERCHANT FIRST, naming both outlets and every quantity: this writes immediately and there is no undo from here. The stock LEAVES the source outlet at once; the destination only gains it when someone confirms arrival with receive_stock_transfer, so until then those units are in transit and count in neither shop. Tell the merchant that. Variant ids come from get_products, outlet ids from get_outlets. Check availability with get_stock first: sending more than the source holds is rejected, and so is sending a variant whose stock is not tracked at the source — there is no count there to move. To correct a count in place (damage, theft, a recount) use adjust_stock instead; to book in a supplier delivery use adjust_stock with STOCK_RECEIVED.

Input Schema

NameRequiredDescriptionDefault
noteNoA note staff will read on the transfer
itemsYesWhat to move. One entry per variant
invoiceNoInvoice or reference number, if the merchant gave one
toOutletIdYesDestination outlet id from get_outlets — must differ from the source
fromOutletIdYesSource outlet id from get_outlets — stock leaves here immediately

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the destructiveHint annotation, it discloses that the write is immediate and irreversible, that stock leaves the source at once while the destination only gains it on receive_stock_transfer, that in-transit units count in neither shop, and that over-sending or sending untracked variants is rejected. These are the operationally decisive facts an agent needs.

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 core action and the confirm-first warning are front-loaded, and every sentence carries operational weight. It is dense as a single block of prose and could be scannable with structure, but there is no filler.

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, non-idempotent mutation with no output schema, it covers the write's side effects, the two-step nature of the flow, validation rejections, prerequisite reads, and alternatives. Nothing needed to call it safely is missing.

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 parameters are already documented in the schema. The description reinforces id provenance and the 'one entry per variant' semantics but adds little syntax or meaning beyond what the schema already states, so the baseline 3 applies.

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 gives a concrete verb+resource ('move stock from one outlet to another') plus a worked example ('send 10 of these from the warehouse to the King Street shop'). It explicitly distinguishes itself from receive_stock_transfer (arrival confirmation) and adjust_stock, so an agent can route correctly without opening sibling schemas.

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?

It states prerequisites (check availability with get_stock first), where ids come from (get_products, get_outlets), and names two alternatives with the conditions that select them: adjust_stock for in-place corrections and adjust_stock with STOCK_RECEIVED for supplier deliveries. It also mandates confirming with the merchant before calling.

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.