Skip to main content
Glama

Look up HTS code

lookup_hts_code
Read-onlyIdempotent

Find the US HTS (Harmonized Tariff Schedule) code for a product, by plain-language product name or numeric prefix, from the official USITC schedule (19,856 10-digit codes). Use this first whenever you have a product name rather than a code (e.g. "laptop", "t-shirt", "water bottle", "wireless earbuds", "toys", "e-bike", "running shoes"), then pass a code to calculate_tariff or compare_origins. Everyday shopping words that a plain search of the schedule misses are mapped to the official heading that covers them (e.g. laptop -> 8471.30 "Portable automatic data processing machines"), and the answer names that heading; when a word commonly falls under more than one heading (water bottle: 7323.93 stainless, 9617.00 vacuum flasks, 3924.10 plastic) each is listed, with the 10-digit lines ranked by match to the query. Otherwise descriptions are matched as one phrase; if a phrase matches nothing the tool retries single words and says which word it used. Returns up to 12 codes.

Input Schema

NameRequiredDescriptionDefault
queryYesProduct keyword (e.g. "footwear") or HTS code prefix (e.g. "6404"). Minimum 2 characters. Single keywords match best.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/openWorld, but the description adds substantive behavior beyond them: a 19,856-code dataset, a cap of 12 returned codes, ambiguity handling (multiple headings listed with 10-digit lines ranked by match), and a documented fallback where a failed phrase match retries single words and reports which word was used. Those are exactly the runtime traits an agent can't infer from the schema.

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?

Purpose is front-loaded and the sentence order follows the actual call flow. The parenthetical list of seven example products plus the illustrative heading mapping is more example volume than strictly needed, but nothing is genuinely off-topic.

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?

No output schema exists, yet the description covers the return shape (up to 12 codes, named heading, ranked 10-digit lines) and the ambiguous-query and no-match paths. For a one-parameter lookup tool, an agent has everything needed to call it and interpret the response.

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% and the single parameter already documents keyword vs. code prefix and the 2-character minimum. The description still adds matching semantics the schema lacks — everyday shopping words are mapped to official headings, phrases are matched whole then word-by-word, and 'single keywords match best' — which tells the agent how to phrase the query.

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 ('Find the US HTS code for a product') and immediately scopes the input as a plain-language name or numeric prefix from the official USITC schedule. It also names the sibling tools that consume its output, so the agent can place it in the workflow without reading further.

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 routing: 'Use this first whenever you have a product name rather than a code ... then pass a code to calculate_tariff or compare_origins.' That gives both the trigger condition and the downstream handoff to both siblings.

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.