Skip to main content
Glama

Othermile border costs

What a parcel may cost at the door

door_cost_estimate
Read-onlyIdempotent

Estimate what a shopper may pay at the door for one parcel shipped between Canada and the United States: duty, tariffs and surtaxes, sales tax and carrier or postal fees, with the official rules in force today. Describe the product in plain words; a tariff code is suggested from it. Use for questions like "what will I pay on a hoodie from a US store shipped to Ontario?"

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "from": "<from>",
      "to": "<to>",
      "product": "<product>",
      "madeIn": "<madeIn>",
      "value": "<value>",
      "currency": "<currency>"
    },
    "name": "door_cost_estimate"
  }
}

Input Schema

NameRequiredDescriptionDefault
toYesCountry the parcel goes to
fromYesCountry the parcel ships from
modeNoPostal mail (USPS, Canada Post) or a courier (UPS, FedEx, Purolator, DHL); courier if unknowncourier
valueYesWhat the goods in the parcel cost
madeInYesCountry where the product was made, for example CN; ask if unknown
productYesWhat the product is, in a few words, for example cotton hoodie
currencyYes
provinceNoProvince or territory when it goes to Canada, for example ON; leave out if unknown
cusmaClaimNoTrue only if the seller says the goods qualify for CUSMA and claims it
tariffCodeNoThe product's tariff code, only if known

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • removedInput schema / additionalProperties
      Removed value: -false
  2. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower. The description still adds real behavioral context: it enumerates the components of the estimate and notes that rules are "in force today" (results are time-sensitive) and that a tariff code is inferred from the product description. It doesn't describe result shape, but no output schema exists either.

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 sentences: the first front-loads what is estimated and which cost components are included, the second gives input guidance and a realistic example question. No filler and nothing repeated from the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 10 parameters, 6 required, and no output schema, the description adequately frames what comes back (a duties-and-fees breakdown) and how to supply the fuzzy product input. The remaining gap is guidance on conditional inputs like province, madeIn, and cusmaClaim, which affect the estimate but are only explained in the schema.

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 90%, so the baseline is 3. The description adds genuine meaning beyond the schema by clarifying the product/tariffCode relationship: the agent supplies plain words and the code is suggested from it, so tariffCode is optional context rather than something the agent must resolve. It says nothing about madeIn, currency, province, or cusmaClaim, leaving those entirely to 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?

States a specific verb ("estimate") and resource ("what a shopper may pay at the door for one parcel shipped between Canada and the United States") plus the exact cost components computed: duty, tariffs, surtaxes, sales tax, carrier/postal fees. That scope cleanly separates it from siblings like border_quote or border_rules_status without opening a schema.

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

Usage Guidelines4/5

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

Gives a concrete trigger example ("what will I pay on a hoodie from a US store shipped to Ontario?") and tells the agent to describe the product in plain words, so the usage context is clear. It stops short of naming when to prefer a sibling such as border_quote, so the routing exclusion is implicit rather than stated.

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.

Resources