Skip to main content
Glama

Assign an order to a driver

shipday_assign_order_to_carrier
Idempotent

WRITE: assign a delivery order to one of the account's own carriers (drivers); the driver is notified in the Shipday driver app. Re-assigning to the same driver changes nothing. Shipday: PUT /orders/assign/{orderId}/{carrierId}.

Input Schema

NameRequiredDescriptionDefault
order_idYesShipday's internal numeric order id (the `orderId` field, not the order number).
carrier_idYesNumeric carrier (driver) id from shipday_list_carriers.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.2/5.0
Behavior4/5

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

Adds real context beyond the annotations: the driver is notified in the Shipday driver app, which is a user-visible side effect an agent should know about, and it reinforces the idempotentHint with "re-assigning to the same driver changes nothing". It does not say what happens if the order is already assigned to a different driver (overwrite vs. error), which is the main remaining behavioral gap.

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, led by "WRITE:" so the mutation nature is front-loaded, then side effect, then idempotency, then endpoint. No wasted text.

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 2-parameter mutation with full schema coverage and annotations, this is nearly complete. The only missing piece an agent might need is behavior on conflict (reassignment to a different driver) and error conditions.

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 both parameter descriptions clearly explain order_id vs. order number and where carrier_id comes from, so the schema carries the weight. The description's URL template mirrors the parameter order but adds no semantics of its own.

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 ("assign a delivery order to one of the account's own carriers") and scopes it to the account's own drivers, which separates it from the on-demand siblings. The PUT endpoint mapping removes any ambiguity about what operation is performed.

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?

"one of the account's own carriers (drivers)" implicitly excludes the on-demand service tools and points to shipday_list_carriers via the schema. "Re-assigning to the same driver changes nothing" gives a clear precondition, but no explicit alternative is named (e.g. shipday_unassign_order for removing an assignment).

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.