Skip to main content
Glama

Book a product on an order

booqable_book_product
Destructive

Add a quantity of a product to an order, allocating inventory (creates a planning and a line). By default adds to an existing planning for the same product if there is one. Booqable: POST /api/4/order_fulfillments with a book_product action.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeNoinfer_planning (default): reuse the product's planning if any; create_new: always a new line; update_existing: add to planning_id.
order_idYesThe order id (UUID).
quantityYesUnits to book.
product_idYesThe product id (UUID).
planning_idNoRequired when mode is update_existing.
confirm_shortageNotrue to accept a shortage warning when booking on a reserved or started order.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.6/5.0
Behavior4/5

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

Annotations only supply destructiveHint=true, so the description's disclosure that booking creates a planning AND a line and allocates inventory is genuine added context about mutation side effects. It stops short of explaining why the operation is flagged destructive, what happens on shortage, or any permission requirements.

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?

Two tightly written sentences with the core action front-loaded and the default-merging rule immediately after. The trailing API endpoint reference ("POST /api/4/order_fulfillments with a book_product action") is implementation detail an agent rarely needs and is the one non-earning element.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, yet the description says nothing about what the call returns (e.g., created line/planning identifiers) or how shortage confirmation surfaces. For a mutating booking tool with six parameters, that leaves a real gap, though the core mechanics are covered.

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% and the mode enum is already fully documented in the schema, so parameter meaning is carried structurally. The description only restates the infer_planning default, adding nothing beyond what the schema already says.

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?

Names a specific verb and resource ("Add a quantity of a product to an order") and goes further by stating the side effects ("allocating inventory (creates a planning and a line)"). However, it never names or contrasts itself with a sibling such as update_order or booqable_list_plannings, so an agent must infer the boundary itself.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"By default adds to an existing planning for the same product if there is one" gives useful default behavior, but the description never says when to prefer this tool over update_order or create_order, nor when to avoid it. Usage is implied rather than stated, and the mode alternatives live only in the schema.

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.