Skip to main content
Glama

calculate_customs_duties

Calculates official EU customs duties (Common Customs Tariff / MFN) and import VAT for a given HS code and CIF customs value in EUR.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
hs_codeYesHS or TARIC code (e.g. 760421, 640411)
origin_countryNoISO-2 origin country code (default: CN)
customs_value_eurYesCIF customs value in EUR

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / properties / customs_value_eur / description
      Previous value: -"Customs CIF value in EUR (cost + insurance + freight to EU border)"New value: +"CIF customs value in EUR"
    • changedInput schema / properties / hs_code / description
      Previous value: -"HS code or TARIC code (2, 4, 6 or 10 digits, e.g. 640411 or 6404110000)"New value: +"HS or TARIC code (e.g. 760421, 640411)"
    • changedInput schema / properties / origin_country / description
      Previous value: -"ISO-2 country code of export/origin (e.g. CN, US, VN). Default: third country (MFN rate)"New value: +"ISO-2 origin country code (default: CN)"
  2. Added

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the full disclosure burden. It usefully names the tariff regime (CCT/MFN) so the agent knows preferential treatment is not applied, but it omits whether the operation is read-only, whether any auth is needed, and whether results are advisory or binding. Some behavioral context, but clearly incomplete.

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?

A single front-loaded sentence with no filler; the tariff basis and input units are stated immediately and nothing is redundant.

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

Completeness3/5

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

There is no output schema and no annotations, so the description should ideally describe what is returned (duty rate, duty amount, VAT) and any caveats. The calculation scope is clear, but the return shape and operational details are left unspecified.

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%, so the schema already documents all three parameters including defaults and formats. The description only restates hs_code and customs_value_eur at a high level and adds nothing about the optional origin_country's effect on the result (e.g. preferential rates), so baseline 3 applies.

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 (calculates) and resource (official EU customs duties under Common Customs Tariff/MFN plus import VAT), and scopes the required inputs (HS code, CIF value in EUR). This is clearly distinguishable from siblings like resolve_hs_code or check_import_restrictions, which resolve codes or restrictions rather than computing duty amounts.

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

Usage Guidelines3/5

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

The mention of 'EU' and 'MFN' implies the applicable context (EU imports, non-preferential rates), but there is no explicit when-to-use guidance and no routing to or away from sibling tools such as resolve_cbam_and_antidumping. Usage must be inferred.

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.