track_shipment
Public shipment status. Requires BOTH the reference and the delivery city (anti-enumeration). No PII returned.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| reference | Yes | e.g. BK-XXXXXX | |
| delivery_city | Yes |
Public shipment status. Requires BOTH the reference and the delivery city (anti-enumeration). No PII returned.
| Name | Required | Description | Default |
|---|---|---|---|
| reference | Yes | e.g. BK-XXXXXX | |
| delivery_city | Yes |
Changes observed during successful MCP inspections. Dates show when Glama detected each change.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It discloses that the status is public, that both inputs are intentionally required to prevent enumeration, and that no PII is returned. These are meaningful behavioral traits, though it does not mention rate limits, error behavior, or the exact status data returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with every clause earning its place: the main purpose is front-loaded, and the input requirement, rationale, and PII guarantee follow without redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter lookup tool, the description gives enough to understand the core call and safety model. Still, since there is no output schema and no annotation coverage, the description leaves details about the response shape, status values, and possible failures unstated, creating a moderate completeness gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers 'reference' with an example but leaves 'delivery_city' undocumented, so schema coverage is only 50%. The description adds the important semantic that both parameters are mandatory and that requiring the city is an anti-enumeration measure, but it does not clarify the expected format or semantics of delivery_city beyond its self-explanatory name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Public shipment status,' which is a specific verb-plus-resource statement that immediately identifies what the tool does. It also names the two required inputs and the security constraint, making it easy to distinguish from the currency, customs, and courier siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for checking shipment status and stresses that both reference and delivery city are required ('anti-enumeration'), which gives important usage context. However, it does not explicitly state when to prefer this tool over alternatives or exclude cases where a sibling tool should be used.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
Each tool targets a distinct resource or action: reference data, pricing, customs, courier discovery, storefronts, and tracking. Even closely related tools like get_courier, get_storefront, and search_couriers are clearly separated by function.
All tool names follow a consistent imperative verb_noun snake_case pattern. The get_ prefix is used for lookups, while convert_, estimate_, search_, and track_ clearly signal different actions.
Twelve tools is well within the ideal range, and each tool covers a distinct operational need for the EuroCollis pre-booking and tracking workflow. There is no obvious redundancy or bloat.
The set covers routes, cities, services, prohibited items, quotes, customs estimates, currency conversion, courier discovery, storefronts, and tracking, so nearly all public user intents are supported. Minor gaps remain around explicit supported-country/currency lists and the final booking step, but agents can work around these via get_routes and get_eurocollis_info.