Skip to main content
Glama

Find the HS code for a product

hs_search
Read-only

Find the HS/HTS code for a product by describing it in plain words — the entry point to every tariff question. Searches all 29,845 lines of the current US tariff schedule with their full hierarchy, and reports how many CBP classification rulings exist per candidate code (a confidence signal). Example: "electric standing desk", "lithium battery pack", "frozen shrimp". No API key required.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMax candidates (default 8, max 20)
productYesPlain-language product description

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Added

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false; the description adds meaningful context by stating it searches all 29,845 tariff lines, includes the full hierarchy, reports CBP ruling counts as a confidence signal, and requires no API key. It adds non-obvious behavioral details without contradicting the annotations.

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 concise and well-structured: the first sentence states the core action, followed by scope/behavior, examples, and auth requirement in four tight sentences. Every sentence earns its place with no redundant filler.

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?

With no output schema, the description reasonably explains what the tool returns (candidate codes plus CBP ruling counts) and the full search scope. It is complete enough for an agent to select and invoke the tool, though it could be slightly more explicit about the output list shape or limit behavior.

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?

The schema already covers both parameters at 100% coverage, but the description adds value by elaborating on the product parameter's intended use ('plain words') and providing concrete examples. This goes beyond the schema's brief one-line parameter descriptions.

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 uses a specific verb ('Find') with a clear resource ('HS/HTS code for a product') and scope ('current US tariff schedule'), making its purpose unmistakable. Concrete examples like 'electric standing desk' and 'lithium battery pack' reinforce the plain-language search intent and distinguish it from sibling tools.

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 frames the tool as 'the entry point to every tariff question,' giving clear guidance on when to use it. It does not name specific alternatives or exclusions, so it lacks the strongest possible when/when-not guidance, but the positioning is still clear.

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.

TDQS

A3.9/5.0
Disambiguation2/5

Several tools overlap significantly in the tariff/trade domain: tariff_story explicitly replaces hs_search, tariff_lookup, and tariff_burden, and trade_query also returns duty data. This creates ambiguity about which tool to invoke for a given tariff question, though non-tariff tools (compare, event_studies, month_in_review) are clearly distinct.

Naming Consistency2/5

Tool names follow mixed conventions: some are verb-first (compare, query_series, tariff_lookup), others are noun-first (commodity_profile, tariff_burden, event_studies), and there's no consistent prefix or verb pattern. While readable, the lack of a unified naming scheme makes the set feel less coherent.

Tool Count4/5

With 13 tools, the set is within a reasonable range for a trade data service and covers most query needs. It's slightly larger than necessary given the overlapping tariff tools, but not excessive.

Completeness4/5

The surface covers tariff lookup, actual duties paid, trade volumes, comparisons, profiles, event studies, and rulings search, which is comprehensive for a read-only trade data resource. Minor gaps exist (e.g., no tool for gateway-specific tariff burden, and the meta-tool ledger_meta hides a set of archived tools), but core workflows are well supported.