Skip to main content
Glama

Search shipments

search_shipments
Read-onlyIdempotent

Find shipments in the organization, newest first. Use it to answer "which shipments are on their way", "what arrives next week", "find the shipment for booking ABC123" or "what did we ship from Guayaquil". query matches references, B/L and container numbers, parties, ports and produce. Each result is a short summary: status, route, ETD and ETA, carrier, container numbers, failed checks, and latest_event, the last thing that actually happened (milestone, time, place, vessel). That answers "where is each shipment" for a whole list, so do not call get_tracking_timeline per shipment for an overview; call it only for one shipment's full history. Pass detail: "full" for every field (parties, cargo, notes, tracking state), or use get_shipment for one shipment with its free time. Use the id (such as "shp_123") for the other tools. Each has a url: link the shipment's container or air waybill number to it, never a made-up URL. Archived shipments are excluded unless archived says otherwise. Results are paged: when has_more is true, pass the last id as starting_after.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoHow many results to return, 1 to 100.
queryNoFree text: a reference, B/L or container number, party, port or product.
detailNo"summary" (default) for the short result, "full" for every field of each shipment.summary
archivedNo"false" (default) for live shipments, "true" for archived ones, "any" for both.false
statusesNoOnly these statuses. Omit for all of them.
eta_afterNoOnly shipments whose effective ETA is on or after this ISO 8601 date or date-time.
eta_beforeNoOnly shipments whose effective ETA is on or before this ISO 8601 date or date-time.
starting_afterNoPaging cursor: the id of the last result of the previous page. Only when has_more was true.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive) and the description does not contradict them. It adds genuinely useful behavior: archived shipments excluded by default, results are paged with a has_more/starting_after cursor, and the url field must be linked rather than fabricated. Missing only rate-limit or error behavior.

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 purpose and scoping in the first sentence, then usage, results, and paging guidance in a logical order. It is dense and long for a search tool, but nearly every sentence carries actionable information rather than filler.

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?

With no output schema, the description compensates by enumerating the summary result fields (status, route, ETD/ETA, carrier, containers, failed checks, latest_event) and explaining paging and the url contract. Combined with the full schema, an agent has everything needed to call and interpret this tool.

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%, so the baseline is 3. The description restates much of what the schema already documents (query matching references/B/L/containers/parties/ports/produce, detail:full, archived default) and adds only marginal detail such as 'use the id for the other tools' and the url linking instruction.

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 (find/search) and resource (shipments), scoped to the organization with a defined order ('newest first'). It explicitly distinguishes itself from siblings get_tracking_timeline and get_shipment, so an agent can route correctly without opening a schema.

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?

Names concrete user questions it answers, gives an explicit when-not ('do not call get_tracking_timeline per shipment for an overview; call it only for one shipment's full history'), and names the alternative for single-shipment needs (get_shipment). Routing is unambiguous.

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.

Resources