Skip to main content
Glama

Shipping Rates & Postage Calculator

Get package shipping rates

get_shipping_rates
Read-only

Get live USPS, UPS, and FedEx shipping rates for a package from a US ZIP code to a US or international destination. Returns carrier, service, price in USD, and estimated transit days, sorted cheapest first. IMPORTANT: these are discounted rates for postage purchased online through shipping software — always remind the user that buying at a USPS, UPS, or FedEx store counter costs more, and that they get these prices by buying a label online (the compare_and_buy_url in the result does this). Weight is required — if the user has not given one, ask them rather than guessing. Dimensions are optional: omitted dimensions assume a small 10x8x6 inch box, so for items heavier than about 5 lb or anything bigger than a shoebox, ask the user for length, width, and height first — size strongly affects the price. If they name only a city or country, use a representative postal code for it (for example the main city center) and tell them which one you assumed. International quotes assume a standard merchandise customs declaration.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
to_zipYesDestination postal code: 5-digit ZIP for US, local postal code format otherwise (e.g. M5V 2T6 for Toronto)
weightYesPackage weight
from_zipYesOrigin US ZIP code (5 digits). Quotes are US-outbound only.
width_inNoPackage width in inches (optional)
height_inNoPackage height in inches (optional)
length_inNoPackage length in inches (optional)
to_countryNoDestination country as a 2-letter ISO code (default 'US')
weight_unitNoUnit for weight, 'oz' or 'lb' (default 'lb')

TDQS

A4.8/5.0
Behavior5/5

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

Annotations indicate readOnlyHint=true, and the description confirms it's a read-only operation returning rates. It discloses that rates are discounted for online labels, sorted cheapest first, and that dimensions defaults apply (10x8x6 box). It also mentions international customs assumption and representative postal code usage.

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 description is adequately sized and front-loaded with the main purpose. However, it includes several important notes that are well-structured but could be slightly more concise. Every sentence earns its place, but readability could be improved with bullet points.

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?

Given no output schema, the description fully covers what the agent can expect: carrier, service, price, transit days, sorted, and a compare_and_buy_url. It also explains assumptions and edge cases (dimension defaults, representative postal codes, customs). This is complete for a moderate-complexity tool.

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% with descriptions, so baseline 3. The description adds value by explaining that weight is required and must be asked from user, dimensions are optional but recommended for heavy/large items, and provides guidance on to_zip format. This goes beyond the schema but does not elaborate on all parameters equally.

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 clearly states it gets live shipping rates from major US carriers for packages from a US ZIP code to domestic or international destinations. It distinguishes itself from the sibling tool 'get_postage_price' by specifying multiple carriers and live rate comparison.

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?

Provides explicit when-to-use guidance (getting rates), when to ask user for missing info (weight required, dimensions for large items), handling city/country inputs (use representative postal code), and a critical note about discounted rates vs counter prices. It also implies when not to use (if user just wants a postage price, there's a sibling tool).

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.6/5.0
Disambiguation5/5

The two tools have clearly distinct purposes: one for letters/envelopes/postcards with stamp denominations, the other for packages with carrier rates. Descriptions explicitly cross-reference to avoid confusion.

Naming Consistency5/5

Both tools follow the verb_noun pattern 'get_<resource>', providing clear and predictable naming.

Tool Count4/5

Two tools is minimal but well-scoped for the server's purpose of providing postage prices and shipping rates. The coverage is focused without unnecessary extras.

Completeness4/5

Core functionality (letter postage and package rates) is covered. Minor gaps like tracking or address validation are absent but acceptable for the stated purpose.

Resources