Skip to main content
Glama

Create order

create_order
Idempotent

Create an order with line items. Idempotent by externalId — use a stable unique id such as 'mcp-' (re-sending returns the existing order). Enforces the workspace plan limit; the result echoes the operating workspace. Items snapshot productName/sku/unitPrice; use search_products first to quote real products.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
itemsYesOrder line items (1-100). Each snapshots productName/sku/unitPrice.
notesNoInternal note stored on the order. For a delivery instruction from the buyer use delivery.comment instead.
currencyNoISO 4217 currency code for the order (uppercase, e.g. UAH). Default UAH.UAH
customerNoOptional buyer snapshot (name/email/phone, or a storefront customer externalId). Omit for an anonymous order.
deliveryNoHow the buyer asked to receive the order: carrier, branch/courier/pickup, branch text, recipient, cash-on-delivery and a delivery note. This is the buyer's choice at checkout — it does not dispatch anything. Record what actually ships with POST /orders/{externalId}/shipments.
externalIdYesA stable unique id for this order in your system — the idempotency key. Re-sending the same externalId returns the existing order instead of creating a duplicate (e.g. 'mcp-<uuid>').

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the idempotentHint annotation, the description details the idempotency key format and that re-sending returns the existing order. It also discloses plan-limit enforcement, workspace echoing, and snapshot behavior for line items, which are not visible in annotations.

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?

The description is three purposeful sentences with the core action front-loaded. Every sentence contributes unique context: action, idempotency, then snapshot and plan-limit behavior, with no redundancy against the schema.

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?

The definition is strong for a complex nested-object tool, and the schema self-documents all parameters. Since there is no output schema, a slightly fuller return description would be an improvement, but the workspace-echo note partially mitigates this gap.

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 the baseline is 3. The description adds valuable meaning by explaining that externalId is the idempotency key, that productName/sku/unitPrice are snapshotted onto line items, and that search_products should be used first to source valid values.

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 opens with 'Create an order with line items', a specific verb and resource that clearly distinguishes this from add_order_item/update_order_item/remove_order_item. It also adds idempotency and snapshot context, so an agent can tell exactly what this tool does.

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 explicitly instructs agents to call search_products first to quote real products, and explains how to use externalId for idempotent retries. It does not explicitly enumerate when not to use this tool versus siblings like add_order_item, but the workflow context is clear enough.

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.

TDQS

A3.9/5.0
Disambiguation4/5

Tools are generally separated by entity and action, with helpful cross-references such as get_marketplace vs list_channel_products vs check_channel_readiness. The main soft spots are update_product vs adjust_stock for stock changes and the many list_/search_/get_ triplets, but descriptions mostly make the boundaries clear.

Naming Consistency5/5

All tools follow a consistent lowercase snake_case verb_noun pattern: create_*, get_*, list_*, search_*, update_*, transition_deal, configure_pipeline, and so on. Despite the large count, the naming is highly predictable.

Tool Count1/5

52 tools is an extreme surface for an agent to reason over, even though the underlying domain is broad. The set could be consolidated substantially without losing core functionality.

Completeness3/5

Most core lifecycle workflows are covered across leads, contacts, companies, products, orders, and activities. However, there are notable gaps: deals cannot be updated except by stage transition, activities cannot be edited or rescheduled, and there are no delete operations at all, only status-based archiving.

Resources