Skip to main content
Glama

usitc-tariffs-mcp-server

Look up published base duty columns

usitc_lookup_duty_rate
Read-onlyIdempotent

Retrieve an eight-digit rate line or exact ten-digit statistical number with all published General, Special and Column 2 cells. An explicit eight-digit row takes precedence; an absent one resolves only through a unique ten-digit source row, retaining its identity. Multiple suffixes stay unresolved. Blank statistical cells inherit only from the matching eight-digit legal ancestor. With countryCode, report edition-matched General Note 3(b) listing; Special-program membership stays unknown. Neither comparison establishes qualification or selects a column. Follow usitc_check_additional_duties for partial Chapter 99 research.

Input Schema

NameRequiredDescriptionDefault
codeYesExact eight- or ten-digit HTS identifier, bare or conventionally dotted.
countryCodeNoAssigned ISO 3166-1 alpha-2 country; comparison only, never sent upstream.

Output Schema

NameRequiredDescriptionDefault
rowNoOriginal published source row, including a unique combined row when resolving an absent eight-digit number.
codeNoCanonical requested exact identifier.
errorNoPresent when the call failed. Absent on success.
foundNoWhether an exact source row or unique combined eight-digit relationship resolves.
noticeNoActionable next call for this particular empty result.
sourceNoSource provenance.
noticesNoPersistent source and coverage limitations.
releaseNoEdition checked for this result.
guidanceNoExact research follow-up for a successful miss.
totalCountNoComplete locally filtered item count.
resolvedRatesNoAll resolved duty columns when the exact number exists.
specialProgramsNoDecoded nonblank Special cell, preserving unmatched text.
chapter99PointersNoResearch pointer with no fabricated candidate count.
countryAssessmentNoEdition-pinned Column 2 listing with unresolved Special-program membership, qualification and column choice.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already establish read-only, idempotent, open-world behavior, yet the description adds real substance: eight-digit rows take precedence, absent rows resolve only through a unique ten-digit source row, multiple suffixes stay unresolved, blank statistical cells inherit from the matching eight-digit ancestor. It also discloses limits (Special-program membership stays unknown; neither comparison establishes qualification or selects a column). Deduction only because several clauses ("retaining its identity") are cryptic rather than clarifying.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the purpose, which is good, but the body is a run of dense, comma-chained legal-technical clauses with no structure; sentences like "Multiple suffixes stay unresolved" and "retaining its identity" cost parsing effort without clear payoff. Shorter, separated statements would serve better.

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?

An output schema exists, so return values need not be described. For a two-parameter, read-only lookup the description covers the essential caveats an agent needs: resolution precedence, unresolved cases, inheritance of blank cells, and the countryCode limitation. Complete enough to call 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 genuine meaning for `code` by explaining how eight- versus ten-digit forms resolve and what happens when resolution is ambiguous. It reinforces that countryCode is a local comparison never sent upstream — though that is already in the schema, so the gain is modest.

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?

States a specific verb and resource: retrieve an eight-digit rate line or ten-digit statistical number with all General, Special and Column 2 cells. It is clearly distinguishable from browse/search/get_heading siblings and explicitly hands off Chapter 99 work to usitc_check_additional_duties. It stops short of a plain one-line statement of purpose, burying the core action under resolution jargon.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The only explicit routing is "Follow usitc_check_additional_duties for partial Chapter 99 research." Nothing tells the agent when to use this rather than usitc_get_heading or usitc_search_hts, which is the more likely confusion given the sibling set. Usage is largely implied by the tool's narrow input (a single HTS code).

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.