Skip to main content
Glama

Tariff & HS Code Duty Finder

Find an HS code, HTS or customs code

find_tariff_codes
Read-onlyIdempotent

Use this when the user asks for the tariff code, commodity code, customs code, HS code, HTS code, Harmonized System code or customs classification for a product, for example "what is the tariff code for a ceramic flower pot in the UK?", "HTS code for a lithium-ion battery" or "which heading covers cotton t-shirts for import into the US?". Pass a plain description of the product and country GB (United Kingdom) or US (United States). Returns candidate codes from the official schedule, each with its description, the headings above it and whether goods are declared under it, plus a notice that they are candidates and not a binding classification. Do not use it to classify goods with certainty, to give a binding customs ruling, to compute shipping or landed cost, or for countries other than GB and US.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMost candidates to return. Default 8.
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.
descriptionYesPlain description of the product: what it is, what it is made of, what it is used for. Or a code, to look that code up.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
noteNo
queryYes
noticeYes
sourceYes
countryYes
candidatesYes
totalMatchesNo

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

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

Beyond the readOnly/idempotent/openWorld annotations, it discloses that results come from the official schedule, that each candidate includes its description, parent headings and declaration status, and that a non-binding caveat notice is attached to the response. It also discloses the country scope limit, which annotations cannot convey.

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-loads the trigger condition, then examples, then input instructions, then exclusions in one dense paragraph. It is somewhat long due to the three example queries, but each sentence carries substantive information, so waste is minimal.

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?

An output schema exists, so return-value detail is optional, yet the description still summarizes the candidate shape and the non-binding notice. Combined with 100% schema coverage, enum documentation and explicit scope limits, an agent has everything needed to call this correctly.

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 description, country and limit in full, including enum values and the max-15 limit. The description only restates 'pass a plain description and country GB or US', adding no syntax or format detail beyond the schema, so the baseline of 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 (find) and resource (tariff/commodity/customs/HS/HTS code) and lists the synonyms an agent or user might use, so intent matching is unambiguous. It is clearly distinct from the sibling tools (get_duty_rate, submit_feedback, index_tools), which do unrelated things.

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?

Gives explicit trigger conditions ('use this when the user asks for the tariff code...'), three concrete example queries, and a clear negative list: no binding rulings, no certainty claims, no shipping/landed cost, and no countries other than GB/US. When-to-use and when-not-to-use are both spelled out.

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.