Skip to main content
Glama

TradeStats - customs trade statistics

get_seasonality

Seasonal pattern of one product of one reporter: for the 3 latest full calendar years before the year of the latest published month (data through 2026-08 gives 2023 to 2025; the years are stated in the answer), each calendar month's share of the 3-year value total and of the 3-year quantity total, the lowest and highest share of that month in any single year, and the peak and trough months (adjacent months merged, e.g. Oct-Nov, with their share of the year). Covers the world total and the 5 largest partners by latest-12-month value, or one partner with country. Not produced where the 3-year annual average is below min_value (default 1,000,000 US dollars) or trade is missing in any of the 3 years; seasonality_unavailable_reason then says not_enough_history, below_threshold, or (no month beyond 0.8x to 1.2x of an even share) no_peak_or_trough. Months are the months goods left (exports) or entered (imports) the reporting country. Use it for "when is the busy season?" or "which months are weak?" (e.g. knitted sweaters 6110 or frozen shrimp 030617); for month-by-month history use get_series. 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_seasonality"
  }
}

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.
countryNoPartner country: ISO 3166 alpha-2 code (e.g. "VN") or the name as published. Omit for the world total plus the 5 largest partners. Only those partners have seasonality; another country is reported as not produced.
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 3-year annual average in US dollars for a partner to be shown (default 1000000; a lower value does not add partners).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations, the description carries the full behavioral burden and does so thoroughly: it discloses the year window, aggregation rules, partner coverage, unavailable reasons, currency handling, rounding behavior, and access limits. It also notes row limits and API-key restrictions, so an agent knows the operational boundaries.

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?

The description is front-loaded and logically ordered, but it is a very long single paragraph that includes generic details such as rounding rules, null-reason conventions, and ranking/key limits—some of which are global boilerplate or not directly tied to this tool's parameters. It is information-rich but not tight.

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?

For a complex tool with no output schema, the description is complete enough to call correctly: it explains the return structure, the conditions under which seasonality is unavailable, partner coverage, and data provenance. Nothing critical is left implicit.

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 schema already documents all parameters. The description still adds useful meaning for country (only the world total plus top five partners have seasonality) and min_value (below-threshold partners are omitted), going beyond 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 description states a specific resource—seasonal pattern for one product and one reporter—and explains exactly what is computed: monthly shares, high/low shares, and peak/trough months. It explicitly distinguishes the use case from get_series for month-by-month history.

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?

It gives explicit when-to-use guidance with example questions ('when is the busy season?', 'which months are weak?') and names get_series as the alternative for monthly history. It also directs the agent to get_catalog or get_item_summary when appropriate.

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