Skip to main content
Glama
SoapyRED

FreightUtils MCP Server

incoterms_lookup

Read-onlyIdempotent

Look up Incoterms 2020 rules to see who pays transport, insurance, customs, and where risk transfers from seller to buyer. Covers all 11 rules, filterable by any-mode or sea-only.

Instructions

Look up the 11 Incoterms 2020 trade rules — who pays for transport, insurance and customs clearance, and where risk transfers from seller to buyer. 7 rules work for any transport mode (EXW, FCA, CPT, CIP, DAP, DPU, DDP); 4 are sea/inland-waterway only (FAS, FOB, CFR, CIF).

Provide code for one rule, category (any_mode | sea_only) for a filtered list, or neither to list all 11. Behavior: read-only reference; an unknown code errors with the valid code list. Rate-limited (anonymous use: 25 requests/day per IP): a 429 error body carries retry_after_seconds and a Retry-After header — back off and retry, or call get_subscribe_link for higher limits.

Returns: the rule record — name, category, summary, seller_responsibility, buyer_responsibility, risk_transfer, cost_transfer, insurance, export/import clearance, best_for and watch_out — under result, plus confidence, _source and citation (the FreightUtils v1 response envelope).

Limitations: summarised guidance on ICC Incoterms 2020; the ICC publication is the binding text and specific contract wording prevails.

Related: uk_duty_calculator (accepts an incoterm when composing the CIF value), shipment_summary (composite analysis).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
codeNoThree-letter Incoterms 2020 code. Examples: "FOB", "CIF", "EXW", "DAP".
categoryNoFilter the list: any_mode (7 rules) or sea_only (4 rules).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
okYes
resultYes
_sourceYes
citationYes
validityNo
warningsNo
confidenceYes
blocking_errorsNo
envelope_versionYes
normalized_inputNo
Install Server

TDQS

A4.6/5.0
Behavior5/5

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

The description is read-only, idempotent, and harmful: true for readOnlyHint, so the baseline transparency burden is reduced. It meaningfully adds behavior: read-only reference, errors on unknown codes, rate-limited to 25 requests/day for anonymous use, with retry semantics for 429 responses and a Retry-After header. It also summarizes the response fields, giving more than annotations alone would provide.

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 efficient and logically structured: purpose first, then parameter modes, then behavior/error/rate-limit considerations, then return value. Every sentence adds operational value, and the wording is compact with no repetitive padding.

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?

For a simple two-optional-parameter tool, the description covers invocation, list filtering, error behavior, rate limits, retry handling, and output shape. It is slightly ambiguous about whether code and category can be combined, and it does not explicitly state that list results are an array, but the output schema is available and covered most of that. Overall it provides enough context for correct use.

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% because both code and category have descriptions and examples. The description adds meaning beyond the schema by defining the three valid modes: single code, category-filtered list, or neither to list all 11. This clarifies interaction between the two optional parameters, though it does not explicitly state what happens if both code and category are sent.

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: lookup the 11 Incoterms 2020 trade rules, and specifically covers payment for transport/insurance/customs plus risk transfer. It sharpens purpose by splitting the rules into any-mode versus sea-only modes, which clearly differentiates the domain from sibling lookup tools. This is not a tautology and gives a clear, distinct purpose.

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?

The description explicitly explains how to call the tool: provide a code, provide a category, or provide neither for a complete listing, and it warns that unknown codes error with the valid code list. It also directs heavy users to get_subscribe_link for higher rate limits. It lacks an explicit 'when not to use this' statement relative to other lookup siblings, but the intended invocation context is otherwise clear.

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

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/SoapyRED/freightutils-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server