Skip to main content
Glama
GPX MCP Server
by gpxco

List shipments

list_shipments
Read-onlyIdempotent

Retrieve and filter account shipments by status, carrier, origin or destination geofence, and pickup or delivery dates; search by shipment name to find a specific record.

Instructions

List shipments

Lists the account's shipments, filterable by status, carrier, origin or destination geofence, and pickup or delivery dates. Use search to find one by name. Each shipment's page in the GPX app is https://app.gpx.co/shipments/{id}.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "list_shipments"
  }
}

Input Schema

NameRequiredDescriptionDefault
pageNoPage number, starting at 1. Must be at least 1.
sortNoSort column, prefixed with - for descending.
searchNoPartial match on the shipment name or carrier. Must not be greater than 255 characters.
statusNoDisplay status. Comma-separate for several.
carrierNoExact carrier name. Comma-separate for several.
per_pageNoResults per page. Defaults to 50, capped at 100. Must be at least 1. Must not be greater than 100.
pickup_afterNoEarliest pickup — actual once departed, otherwise scheduled. Must be a valid date.
pickup_beforeNoLatest pickup — actual once departed, otherwise scheduled. Must be a valid date. Must be a date after or equal to <code>pickup_after</code>.
delivery_afterNoEarliest delivery — actual once delivered, otherwise scheduled. Must be a valid date.
delivery_beforeNoLatest delivery — actual once delivered, otherwise scheduled. Must be a valid date. Must be a date after or equal to <code>delivery_after</code>.
origin_geofence_idNoOnly shipments departing this geofence.
destination_geofence_idNoOnly shipments arriving at this geofence.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.3

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is fully covered structurally. The description adds the account-level scope and a useful app URL template (https://app.gpx.co/shipments/{id}) for constructing deep links, but says nothing about default sort order, default page size behavior, or how results are returned.

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?

Three short sentences, front-loaded with the core action, then filters, then the alternative pointer and URL. Nothing is padding, though the quoted `search` reference is slightly muddy and could be rephrased to point at the parameter unambiguously.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 12-parameter list tool with no output schema, the description covers filtering well but leaves the result shape and pagination envelope unexplained — the agent cannot tell what a shipment record contains or whether paging metadata is returned. Annotations handle the safety dimension, so the remaining gap is moderate rather than severe.

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 every one of the 12 parameters is already documented in the schema, including the date semantics and the -prefix sort convention. The description only echoes a subset of the filters (status, carrier, geofences, pickup/delivery dates) and omits page, per_page, sort and search, so it adds no meaning beyond the schema. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ("Lists the account's shipments") and enumerates the filterable dimensions, so the agent knows exactly what is returned. It stops short of naming get_shipment as the single-record alternative, and the phrase "Use `search` to find one by name" is ambiguous — `search` is a parameter of this tool, not a sibling, which could momentarily read as a tool reference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage context is implied by the filter list and the "account's shipments" scoping, which tells the agent this is the broad retrieval call. However, there is no explicit routing statement such as "use get_shipment for a single shipment by id," even though that sibling exists, and no guidance on when to page versus narrow with filters.

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