Skip to main content
Glama

TradeStats - customs trade statistics

get_new_markets

Partner countries that are new or surging for one product of one reporter, comparing the latest 12 months with the 12 months before. "new": the 12-month value is at least min_value (default 1,000,000 US dollars; never below 100,000) and the previous 12 months were lower and under 100,000 US dollars (no trade counts as 0). "surging": the 12-month value is at least min_value and grew +100% or more in US dollars (at least doubled), not counting the new ones. Each list is ordered by 12-month value, largest first; limit caps the rows of both lists together ("new" is filled first, then "surging"). Partners whose previous 12 months are unknown are in neither list. Use it for questions like "which countries started buying Japanese auto parts (8708)?" or "which markets are taking off?". For the whole partner ranking use get_partners (sort "growth"); for a one-call overview of a product use get_item_summary. Customs trade statistics of several reporting countries (Japan JP, United States US, United Kingdom GB, European Union (27 member states) EU) from their official customs data, monthly, by HS product code and partner country. value fields are in the reporter's currency (currency: JPY, USD, GBP or EUR) and _usd fields in US dollars; ratios and shares are fractions precomputed from the full dataset; every answer carries reporter, currency, data_through (latest published month), the reporter's attribution, and notes. Maximum 200 rows per answer. Numbers in answers are rounded once, at the end: amounts (value, _usd, v12 ...) to 2 decimals, quantity and kg to 3, unit prices (unit_price) to 4 significant digits below 100 and 2 decimals from 100 up (never rounded to 0), and ratios, shares and growth rates (yoy, mom*, share*, hhi*, chg3y) to 6; whole numbers and null are left as they are. A null quantity, kg or unit price comes with a *_unavailable_reason (mixed_units, weight_only, no_quantity_in_source, no_weight_in_source, source_gap, withheld; get_catalog lists them in null_reasons), and a missing seasonality with seasonality_unavailable_reason. The national level (JP 9-digit, US 10-digit, GB 8-digit codes) differs between reporters and between import and export; EU has no national level (HS6 only); HS6, HS4 and HS2 are shared. Import and export are separate datasets, so reporter and flow are always required for product figures. Rankings (limit) are limited to the top 20 without an API key (more is refused with out_of_scope) and to 100 with a free API key. Start with get_catalog (coverage, your access limits, which tool to use) or, when you already know the code, get_item_summary for a one-call overview of a product.

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": {
      "reporter": "<reporter>",
      "flow": "<flow>",
      "code": "<code>"
    },
    "name": "get_new_markets"
  }
}

Input Schema

NameRequiredDescriptionDefault
codeYesHS product code with 2, 4 or 6 digits, or the reporter's national code (JP 9 digits, US 10, GB 8; a reporter without a national level, such as EU, has HS6 as its finest level); dots are ignored (e.g. "85", "8507", "850760" or "8507.60"). National codes differ between reporters and between import and export; find codes with search_items. On a build that serves HS6 and above a national code without a series answers fine_digits_not_served: retry with its 6-digit parent.
flowYesRequired. "import" (goods entering the reporting country) or "export" (goods leaving it); there is no combined view: "both" does not exist. For a comparison across countries use compare_countries, for exports minus imports use get_balance.
levelNoOptional. The level of the code: the reporter's national level (JP hs9, US hs10, GB cn8; EU has none), hs6, hs4 or hs2; it follows from the number of digits, and a value that disagrees is rejected.
limitNoMaximum rows in total across the two lists, filled with "new" first, then "surging" (default 20). Without an API key the maximum is 20 (more is refused with out_of_scope); with a free API key 100.
reporterYesRequired. The reporting country whose customs statistics are read: "JP" (Japan), "US" (United States), "GB" (United Kingdom) or "EU" (European Union (27 member states)). Partners are the other countries.
min_valueNoSmallest 12-month value in US dollars for a partner to be listed (default 1000000; for "new" it is never below 100000).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does so well: it defines the thresholds for "new" and "surging", the ordering, that "new" is filled before "surging" under limit, the 200-row cap, the 20-vs-100 row access limit, unknown-previous-period exclusion, and null-seasonality reasons. What it does not say is that this is a read-only query with no side effects, or what the returned rows contain beyond ordering.

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?

Purpose and the two definitions are front-loaded and earn their place, but the single paragraph then carries a long tail of dataset-wide boilerplate (currency conventions, rounding rules, national-level digit differences, null reason codes) that applies to every tool in the family rather than to this one. It is dense and readable rather than wasteful, but not tightly scoped.

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?

There is no output schema, so the description must convey return behavior; it does cover ordering and limits, but not the fields each list returns. For a tool of this complexity with six parameters and access tiers, coverage of inputs, semantics, limits and caveats is otherwise thorough.

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%, and the description's notes on min_value (default 1,000,000; never below 100,000 for "new") and limit (caps both lists together, "new" first) largely restate the schema. It adds a little by tying min_value to the US-dollar 12-month value in the context of the definition, but the heavy lifting is done by the schema.

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 opening sentence states a specific resource and comparison scope (partner countries that are new or surging for one product of one reporter, latest 12 months vs. prior 12 months) and then defines both terms operationally. It is clearly distinguishable from get_partners and get_item_summary, which are named.

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 concrete example questions ("which countries started buying Japanese auto parts (8708)?") and explicitly routes to alternatives: get_partners (sort "growth") for the whole ranking and get_item_summary for a one-call overview. It also advises starting with get_catalog when coverage/limits are unknown.

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.

Resources