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

TableJSON 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

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already declare read-only, idempotent, and non-destructive behavior, and the description adds valuable context beyond that: it never raises a protocol error, returns a structured error object, and is safe to retry after correcting input. The example output also clarifies what the caller can expect.

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?

The description is information-dense and well-structured: purpose, example, usage guidance, exclusions, and error behavior are all covered in a compact block. Every sentence contributes meaningful guidance without unnecessary padding.

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 tool with 6 parameters, rich annotations, and an output schema, the description covers all essential context: what it computes, when to use it, how it behaves on errors, and its safety profile. The output schema handles return-value details, so the description does not need to enumerate every output field.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/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 adds extra meaning through a typical input/output example and a specific error example involving custom_divisor. It does not repeat every parameter definition but demonstrates how the parameters interact, which is useful beyond the schema.

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?

The description opens with a specific verb and resource: 'Work out whether a parcel bills on its size or its weight.' It clearly distinguishes the tool from siblings by explicitly naming parcel_fit as the alternative for box selection.

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?

The description gives explicit use cases: deciding whether a smaller box is worth packing effort, or explaining why an invoice exceeded scale weight. It also states what the tool is NOT for and points to parcel_fit as the correct alternative.

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.

TDQS

A4.8/5.0
Disambiguation5/5

Each tool serves a clearly distinct calculation: billable weight, free shipping break-even, freight class from density, landed cost, box selection, and rate card generation. The descriptions explicitly cross-reference which tool to use instead when there's potential overlap, eliminating ambiguity.

Naming Consistency4/5

Tool names follow a consistent lowercase snake_case style, but the pattern is mostly noun phrases (dim_weight, freight_class, rate_card) with one deviation (parcel_fit uses a noun+verb combo). This is minor and does not hinder readability.

Tool Count5/5

With 6 tools, the set is well-scoped for a shipping mathematics server. Each tool addresses a distinct functional need without redundancy, fitting comfortably in the ideal range.

Completeness5/5

The surface covers the core shipping calculations: dimensional weight, packaging selection, freight classification, landed cost, pricing thresholds, and rate tables. No obvious missing operations for the stated domain, especially given the read-only and idempotent nature of the tools.

Resources