Skip to main content
Glama

Customs Code Search (HTS / Schedule B)

hs_code_search
Read-only

Find the customs code for a product: 10-digit HTS codes for goods imported into the US, or Schedule B codes for US exports (origin US). Search by short keywords as the official tariff wording uses them (e.g. 'chairs', 'seats', 'cotton t-shirts', 'bolts'), not marketing names; one or two words work best, and a code prefix (e.g. '9401') lists the codes under it. Show the user the matches and let them pick; the code they ship under is their call. Free, no account needed.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "query": "<query>",
      "origin": "<origin>"
    },
    "name": "hs_code_search"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNoMatches to return, default 10
queryYesProduct keywords or the start of a code
originYesISO alpha-2 country the freight ships FROM: 'US' for an export (Schedule B), the supplier's country for an import (HTS)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.1/5.0
Behavior4/5

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

readOnlyHint=true is consistent with the described search behavior. Beyond annotations, it discloses that the service is free with no account required, and sets the decision boundary that the agent should not choose the code on the user's behalf. It does not describe result ordering, truncation behavior, or what an empty match set means.

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 and the HTS/Schedule B split are front-loaded, and every clause carries operational content. It is a single dense run-on paragraph, though, with the query-format advice and the interaction advice interleaved rather than separated.

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 implies the return is a set of matches the user picks from, which is adequate for a lookup tool. It does not state what each match contains (code plus description) or how results are ordered, a minor gap for a tool whose only job is retrieval.

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 coverage is 100%, so origin's ISO/import-vs-export meaning and limit's default of 10 are already fully documented in the schema. The description adds real value only for query (tariff wording, two-word limit, code-prefix form) and says nothing about limit. Baseline 3 is appropriate given the schema does the heavy lifting.

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 and resource ("Find the customs code for a product") and immediately splits the domain into the two code systems it covers: 10-digit HTS for US imports, Schedule B for US exports. That distinction separates it cleanly from siblings like international_customs and international_duty_estimate without naming them.

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?

Gives concrete querying guidance: use short tariff-style keywords rather than marketing names, one or two words, or a code prefix like '9401'. It also prescribes the workflow ("Show the user the matches and let them pick; the code they ship under is their call"), which is a clear usage posture. It stops short of naming an alternative tool or stating when not to use it.

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.