Skip to main content
Glama

Manifest Shipments by Tracking Number

starshipit_manifest_by_tracking
Idempotent

Manifest selected shipments by tracking or order numbers to submit them to the carrier, generate a manifest PDF, and lock the shipments from further edits.

Instructions

Manifest (close/submit) specific shipments to the carrier by their tracking numbers or order numbers.

This closes the selected shipments and submits them to the carrier, creating a manifest document. After manifesting, shipments are locked and can no longer be edited.

Body parameters:

  • tracking_numbers (required): Array of tracking numbers to manifest. Must not be empty.

  • use_order_numbers (optional): Set to true if the values in tracking_numbers are actually order numbers rather than carrier tracking numbers. Default: false.

Returns:

  • file_name: Name of the manifest document

  • pdf: Base64 manifest PDF (JSON format only)

  • success: Whether the manifest was created successfully

  • errors: Any per-shipment errors (e.g. shipment already manifested)

Error cases:

  • 400: Invalid or unrecognised tracking/order numbers

  • 409: One or more shipments already manifested

  • 422: Request body validation failure

Use this tool when:

  • Closing a specific set of shipments for carrier pickup

  • You have a list of tracking numbers ready to hand to the carrier

  • You want to manifest a subset of shipments rather than all shipments for a carrier

Input Schema

NameRequiredDescriptionDefault
response_formatNoOutput format: 'markdown' for human-readable or 'json' for machine-readablemarkdown
tracking_numbersYesArray of tracking numbers (or order numbers if use_order_numbers=true) to manifest. Must contain at least one value.
use_order_numbersNoSet to true if the values in tracking_numbers are order numbers rather than carrier tracking numbers (default: false)

Output Schema

NameRequiredDescriptionDefault
errorsNoValidation or processing errors returned by StarShipIt
objectNoThe response payload when StarShipIt returns a non-object value
successNoStarShipIt success flag (a boolean on most endpoints)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior5/5

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

Annotations only declare readOnly=false, idempotent=true and destructive=false; the description goes well beyond them by disclosing the irreversible consequence ('shipments are locked and can no longer be edited'), the manifest document side effect, and the 400/409/422 failure semantics. The already-manifested 409 case is consistent with the idempotent hint rather than contradicting it.

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?

Front-loads the one-line purpose before the bolded sections, and each block (parameters, returns, errors, when-to-use) is scannable. Minor redundancy: the parameter block largely duplicates the 100%-covered schema, which costs a little space without adding information.

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 state-changing, adjacent-to-destructive operation it covers the operation's effect, the irreversible post-state, return fields, and per-status error conditions — everything an agent needs before calling. The output schema exists, yet the returns summary is still a useful index of what comes back, not padding.

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 description coverage is 100%, so the schema already defines tracking_numbers, use_order_numbers and response_format. The description restates the two body parameters with essentially the same meaning (non-empty array, boolean switch to order numbers) and adds no syntax, format, or batching detail beyond what the schema provides.

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 ('Manifest (close/submit) specific shipments to the carrier by their tracking numbers or order numbers') and scopes it to a supplied list, which clearly separates it from starshipit_manifest_by_carrier and starshipit_manifest_shipment.

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?

Three explicit 'Use this tool when' bullets cover the positive cases, and the phrase 'subset of shipments rather than all shipments for a carrier' implicitly routes away from the carrier-wide sibling. It stops short of naming the alternative tool or stating exclusions (e.g. when to use manifest_shipment instead), so it is strong but not exhaustive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.