Skip to main content
Glama

Moltline Shipping Maths

Dim Weight

dim_weight
Read-onlyIdempotent

Work out whether a parcel bills on its size or its weight. FREE.

Carriers charge the greater of actual weight and dimensional weight, so a light bulky box costs more than the scale suggests. Typical input {"length": 18, "width": 12, "height": 10, "actual_weight": 6} returns {"cubic": 2160.0, "dim_weight": 15.54, "actual_weight": 6.0, "billable_weight": 15.54, "billed_on": "dimensional", "overage": 9.54, "divisor_used": 139.0, "note": "..."}.

Use when deciding whether a smaller box is worth the packing effort, or why an invoice exceeded the scale weight. Not for choosing a box from a list of candidates: that is parcel_fit. Errors: on invalid, missing, or malformed input this tool never raises a protocol error; it returns {"error": ""} (for example {"error": "custom_divisor must be greater than 0 when divisor is 'custom'"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.

Input Schema

NameRequiredDescriptionDefault
widthYesSecond side, same unit as length. Must be greater than 0.
heightYesThird side, same unit as length. Must be greater than 0.
lengthYesLongest side of the packed parcel, in inches (or centimetres when using a metric divisor). Must be greater than 0.
divisorNoWhich published divisor to apply. "ups_daily" is 139 and "ups_retail" is 166 cubic inches per pound, as UPS states them; "usps" is 166; the metric options are cubic centimetres per kilogram. Use "custom" to supply a contracted divisor.ups_daily
actual_weightYesScale weight in pounds (or kilograms with a metric divisor). Must be greater than 0.
custom_divisorNoYour contracted divisor, used only when divisor is "custom". Must be greater than 0 in that case.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the readOnly/idempotent/destructive annotations, it discloses the error contract (never raises a protocol error; returns {"error": ...} with an example) and states retry is safe after correction. That error-and-retry semantics is exactly the kind of context annotations cannot convey.

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?

The opening line is front-loaded and the usage/exclusion follow logically. The full worked input/output JSON is somewhat redundant with the existing output schema and lengthens the text without adding selection value.

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 six-parameter read-only calculator with an output schema, the description covers purpose, alternatives, error behavior, and retry safety. Nothing needed to call it correctly is missing.

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% with units, defaults, and the custom_divisor constraint already documented, so the description's parameter contribution is limited to an illustrative example call. That example is mildly useful but adds no semantics the schema lacks.

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 computation and its decision purpose ('whether a parcel bills on its size or its weight'), and explicitly names the sibling it is not (parcel_fit). An agent can separate it from rate_card or freight_class without opening any 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?

Gives two concrete use cases ('deciding whether a smaller box is worth the packing effort' and 'why an invoice exceeded the scale weight') plus an explicit exclusion routing to parcel_fit. The when/when-not pair is fully spelled out.

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.