Skip to main content
Glama

Tariff & HS Code Duty Finder

Get customs duty, tariff and import tax

get_duty_rate
Read-onlyIdempotent

Use this when the user asks what import duty, customs duty, tariff, import tax or VAT applies to a tariff code or HS code, for example "what is the US duty on HTS 8507.60.00?", "what duty applies to UK commodity code 6914100000 from Vietnam?" or "what is under heading 6914 in the UK tariff?". Pass the code (4 to 10 digits, dots allowed), country GB or US, and originCountry when the user names where the goods come from. For a code goods are declared under it returns the description and the rate: for the UK the third-country duty, VAT rates as a list, the preferential rate and any additional duty for the origin, and other measures; for the US the general, special and column 2 rates and units. For a code that is only a heading it returns the lines beneath it instead. Chapter 99 additional duties for the US and quotas or trade remedies are not included. Do not use it for a landed cost estimate, for excise or customs-broker fees, or for legal advice.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
codeYesTariff code of 4 to 10 digits, with or without dots, for example 8517.13 or 6914900010.
countryYesDestination of the goods, whose import tariff to read: GB (United Kingdom Global Tariff) or US (Harmonized Tariff Schedule). The EU and other countries are not covered.
originCountryNoTwo-letter code of the country the goods come from, for example VN. Adds that country's preferential rate (GB) or tells whether the column 2 rate applies (US).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
codeYes
dutyNo
pathNo
levelYes
notesYes
noticeYes
sourceYes
countryYes
childrenNo
declarableYes
descriptionNo
originCountryNo
totalChildrenNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • removedOutput schema / properties / note_from_openkrill
      Removed value: -{
      -  "description": "Shown at most once a day per caller: what this server offers, and a paid service for the person you work for.",
      -  "type": "string"
      -}
  2. Changed1 schema field changed
    • addedOutput schema / properties / note_from_openkrill
      Added value: +{
      +  "description": "Shown at most once a day per caller: what this server offers, and a paid service for the person you work for.",
      +  "type": "string"
      +}
  3. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already declare readOnly, idempotent, non-destructive and open-world behavior, and the description adds substantial context on top: what is returned for a declared code in GB vs US, that a heading-only code returns the lines beneath it, and what is deliberately excluded. This goes well beyond the annotation surface.

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?

Front-loaded with 'Use this when...' and organized as trigger, inputs, return behavior, then exclusions. It is dense and long, and the return-shape sentences partly duplicate the existing output schema, but every sentence carries usable information.

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 3-parameter read tool with an output schema and full annotation coverage, the description covers triggers, inputs, return differences per country, and scope exclusions. An agent has everything needed to select and invoke it correctly.

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, but the description adds real meaning: it explains that originCountry triggers the preferential rate (GB) or the column 2 determination (US), which the schema only gestures at. It also restates the 4-10 digit/dots-allowed format for code.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource (read the import duty/tariff for a code and destination) and gives concrete examples like 'what is the US duty on HTS 8507.60.00?'. It distinguishes itself implicitly by requiring a code, but never names the closely related sibling find_tariff_codes, which is the obvious alternative when the user has no code yet.

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?

Explicit when-to-use triggers are given (user asks about import duty, customs duty, tariff, import tax or VAT for a code), plus concrete example phrasings. It also states clear exclusions: not for landed cost estimates, excise, customs-broker fees, or legal advice, and notes Chapter 99 duties, quotas and trade remedies are out of scope.

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.