Skip to main content
Glama

SOS Inventory MCP by usefulapi

Create sales order

sosinventory_create_sales_order

WRITE: creates a new sales order for an EXISTING customer with line items for existing items (a customer or item cannot be created inside an order: use the create tools first). The order number is assigned automatically (SOS auto-numbering) unless you pass one. Confirm the customer, items, quantities and prices with the user before calling. POST /api/v2/salesorder.

Input Schema

NameRequiredDescriptionDefault
dateNoOrder date (YYYY-MM-DDTHH:MM:SS); defaults to now in SOS.
linesYesOrder lines.
numberNoOrder number; leave out for SOS's automatic numbering.
commentNoInternal comment (not shown to the customer).
customerYesExisting customer (sosinventory_list_customers).
locationNoLocation (type=location).
customer_poNoCustomer purchase order reference.
customer_messageNoMessage shown to the customer.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior3/5

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

Annotations already declare the mutation profile (readOnlyHint=false, destructiveHint=false, openWorldHint=true, idempotentHint=false), so the description's main added value is the auto-numbering behavior and the confirmation requirement, both genuinely useful. However, it says nothing about side effects beyond creation (inventory allocation/reservation, price-floor enforcement is only in the schema), and the non-idempotent, open-world nature is left entirely to the 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?

Three tight sentences, front-loaded with the 'WRITE:' marker and the core action, followed by the constraint and the pre-call confirmation rule. The trailing POST endpoint adds integration context without padding; nothing is redundant.

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 an 8-parameter nested mutation with no output schema, the description covers preconditions and the confirmation workflow well. The one real gap is the return value: the agent isn't told whether the created order (its id or assigned number) comes back, which matters since a follow-up get_sales_order call would need that identifier.

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 description coverage is 100%, so the baseline is 3; the description still adds a bit by explaining that the order number is auto-assigned unless one is passed, which frames the optional 'number' field as a fallback rather than a requirement. The remaining parameters (date, comment, customer_po, location, line-level pricing) are left to the already-verbose schema.

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?

States a specific verb and resource ('creates a new sales order') and immediately scopes it to an existing customer with existing line items. The parenthetical exclusion ('a customer or item cannot be created inside an order: use the create tools first') cleanly separates it from the sibling create_customer/create_item tools.

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?

Gives an explicit prerequisite (customer and items must already exist, create them first) plus a workflow rule ('Confirm the customer, items, quantities and prices with the user before calling'). The schema further routes to sosinventory_list_customers and sosinventory_list_items for lookup, so alternatives are named rather than implied.

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.