Skip to main content
Glama
theluckystrike

mcp-packing-list

Weigh the cartons

carton_report

Reports per carton and shipment tare, net, gross, volume, volumetric and chargeable weight. Uses a volumetric divisor; returns null chargeable total when a carton has no dimensions.

Instructions

Per carton and for the shipment: tare, net, gross, volume, volumetric weight and the chargeable weight, the greater of gross and volumetric. A carton with no dimensions makes the chargeable total null, never a guess.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
divisorNoVolumetric divisor in cm3 per kg: 5000 courier air (default), 6000 IATA air, 4000 some road tariffs
packing_listYesThe packing list id, e.g. PL-2026-0001, or the order reference when only one list carries it

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.21.0

TDQS

A3.5/5.0
Behavior4/5

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

With no annotations, the description must carry the fullness of behavioral disclosure. It clearly describes the output fields and an explicit edge-case behavior ('chargeable weight goes null, not guessed'). It stops short of stating it is read-only or requires any permissions, but the report-like wording makes side effects unlikely.

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?

Two short sentences, front-loaded with the report contents, followed by a one-line edge-case rule. No fluff, no repeated schema details, no redundancy with the title.

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?

The description tells an agent what the report includes and one important null behaviorhol does not cover what happens for missing carton dimensions beyond 'null', whether an empty packing list is valid, or what units/output format is returned. Since there is no output schema, a bit more operational guidance would round it out.

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 covers both parameters (packing_list, divisor) descriptively. The tool description adds general output context but does not deepen understanding of how each parameter affects the result; it only implies that the packing list identifies the shipment and that the divisor factor influences volumetric weight.

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 clearly identifies the resource ('per carton and for the shipment') and enumerates the specific metrics it reports (net, gross, chargeable weight, volume, etc.). It lacks an explicit verb like 'calculates' or 'lists,' and does not contrast with sibling reporting tools, but the intent is unmistakable.

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

Usage Guidelines2/5

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

The description explains what the report contains but gives no guidance on when to use this tool over siblings like packing_slip or packing_list_show. There are no prerequisites, no mention of whether a packing list must exist, and no direction to alternative tools for other use cases.

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