EU Trade Explorer
EU customs-trade & industrial-production statistics (Eurostat Comext/PRODCOM)
| Endpoint | https://mcp.tradedashboard.eu/mcp (streamable-http) |
|---|---|
| Registry version | 1.0.2 |
| Now | 37 tools · grade D (55) · pin ts_4eea2e3f5b0d610273e688745bac0b44 · protocol 2025-06-18 |
| First / last listed | 2026-10-28 04:31 UTC / 2026-10-28 04:31 UTC |
| Grade over time | 2026-10-28: D (55), 37 tools |
Is this your server? Own a server? ToolFit hosted watch re-checks it every 24 h ($0.25 per 30 days) or 6 h ($0.60) and sends you an HMAC-signed webhook when its tools or grade change: POST https://api.youraitools.co/toolfit/v1/watch. To opt out, see About & opt-out.
Tools: guidelines_for_a_short_report guidelines_for_a_long_report get_countries get_chapters get_subtree validate_code search_codes get_data_range get_overview get_partner_detail get_reporter_detail get_reporter_benchmark get_map_data get_top_entities get_production_series get_product_compare get_concentration get_concentration_compare get_concentration_map get_specialisation get_production_concentration get_volatility get_pattern_shift get_supply_shocks get_price_shocks get_net_import_reliance get_trade_intensity get_export_propensity get_subcontracting get_subcontracting_members resolve_product_code get_product_profile get_market_summary get_market_structure_summary get_volatility_summary get_autonomy_summary get_full_report
guidelines_for_a_short_report | Read this first for a quick report. Returns the short-report
workflow: resolve a product code, then call `get_full_report` for the
five most important report sections in one shot -- enough for a quick,
simple report. Also covers access, the shared `query` object and
the `compact` option. params: none |
guidelines_for_a_long_report | Read this first for an in-depth report. Returns the long-report
workflow: which of the 35+ tools to combine per angle (partners,
concentration, volatility & shocks, autonomy), the dashboard menu/tab
structure for pointing readers at views, and the methodological notes
needed to interpret and cite figures correctly. Call this before
guessing at tool use. params: none |
get_countries | Reference data for reporters/partners: selectable EU/Euro-area/member
states, named partner presets, predefined reporter/partner groups, and
per-language country-name translations. Use this to find valid values
for the `reporter`, `partner_set`, `partners` and `reporter_members`
fields used throughout the other tools' `query` argument. params: none |
get_chapters | List all top-level Combined Nomenclature chapters (2-digit codes).
Bootstraps browsing the nomenclature top-down; drill into a chapter with
`get_subtree`. params: lang |
get_subtree | Return the Combined Nomenclature sub-tree rooted at `code` (its
children, and their children, ...), each with a `code` and a `text`
description. Use this to see whether a heading you're about to use (e.g.
as `query.product` elsewhere) is actually a clean match, or bundles
several distinct sub-products together. params: code*, lang |
validate_code | Validate and describe one or more Combined Nomenclature codes.
For a single code, returns the full hierarchy of description levels
(`levels`), the resolved `product_name`, and `has_subcodes`. For a
comma-separated list, returns `{"results": [...]}` with one entry per
code (each either a success dict or an `{"code", "error"}` pair). params: code*, lang |
search_codes | Keyword/code search over the Combined Nomenclature (or PRODCOM).
Returns ranked `{code, label, path}` candidates. Prefer
`resolve_product_code` for a one-call keyword-or-code helper; use this
directly if you specifically want the raw ranked candidate list. params: q*, source, lang, limit |
get_data_range | Return the period coverage (`data_min`/`data_max`, 'YYYY-MM') actually
cached for the given product code(s) -- use before picking
`period_start`/`period_end` so you don't request an empty window. params: products |
get_overview | Headline figures: total import/export quantities, values and
weighted-average prices per period, the trade balance, and a top-partner
breakdown. The best first call for any new product/reporter slice. params: query*, compact |
get_partner_detail | Per-partner import/export breakdown. For each flow, the top-N trading
partners ranked both by quantity and by value (so you can compare
volume-based vs. value-based rankings), each with its own quantity,
value and price time series, plus an optional 'Other' bucket. params: query*, compact |
get_reporter_detail | Per-EU-member-state import/export breakdown -- the reporter-side
counterpart of `get_partner_detail`. Top-N member states (by quantity and
by value) with their quantity, value and price series. Aggregate
reporters (EU, Euro area, groups) are excluded from the ranking. params: query*, compact |
get_reporter_benchmark | Every EU reporter ranked by value for one year -- the country-view
counterpart of `get_reporter_detail`. Returns a single-year snapshot
(every real EU member state's quantity, value and price per flow,
ranked by value) plus a benchmark price time series: the weighted
average across whichever reporters `query.reporter` resolves to (the
whole EU by default, or narrower when `query.reporter` is itsel params: query*, year, compact |
get_map_data | Choropleth-ready aggregates: per-period totals (quantity, value,
price) for imports and exports, keyed by GISCO country code on both the
reporter and partner sides. params: query*, compact |
get_top_entities | Just the ordered list of top entities for a slice -- no time series.
A lightweight helper for populating entity pickers or quickly checking
who the top partners/reporters are without pulling full series. params: query*, entity_level, flow, n |
get_production_series | EU27 and per-country PRODCOM production series: EU quantity, EU
production unit value, and the same two per reporting country (all
DS-059358 reporters, not just EU-27, since production data carries no
trade columns). Country-level figures are heavily confidentiality
-suppressed; suppressed/absent values come back as null, not zero. Use
`query.prodcom_code` to pin a specific PRODCOM mapping when a params: query*, compact |
get_product_compare | Sub-product comparison: for a single parent CN code, expands into its
children (or, for a multi-code request, compares the entered codes
directly) and returns per-subcode quantity/value/price series for both
flows -- so each sub-product plots as its own line instead of being
aggregated away. A leaf code with no children returns `leaf: true`. params: query*, compact |
get_concentration | Herfindahl-Hirschman Index (HHI) of trade concentration across
partners or member states, per period (0 = perfectly spread, 10000 = one
entity holds the whole market), plus the top-8-by-value share breakdown
(rest bundled as 'Others'). Higher HHI = more dependent on a handful of
counterparties. params: query*, entity_level, partner_name, compact |
get_concentration_compare | Partner-concentration (HHI) compared across sub-products: one HHI
line per sub-product rather than per flow, to see which sub-products
drive a parent code's overall concentration. params: query*, n_subcodes, compact |
get_concentration_map | Cross-sectional HHI per country for one year -- the choropleth
counterpart of get_concentration. 'partner' entity_level = for every EU
member state, HHI of its trade across partners; 'reporter' = for every
partner, HHI of its trade across EU member states (subject to the
Rotterdam/Antwerp entry-point distortion). params: query*, year, entity_level, partner_name, compact |
get_specialisation | Intra-EU revealed symmetric comparative advantage (RSCA) per member
state -- a Balassa index benchmarked against the EU instead of the
world. Runs -1 (under-specialised) to +1 (strongly specialised), value
-based and intra-EU only. Treat with caution: intra-EU flows are
distorted by the Rotterdam/Antwerp quasi-transit effect. params: query*, year, compact |
get_production_concentration | How concentrated production of a product is across all DS-059358
reporting countries (PRODCOM; EU member states plus EFTA/candidate/other
reporters -- not only the EU-27). HHI of PRODVAL across countries over
time, plus each country's production share. Suppressed/absent country
figures come back as null, not zero. Use `query.prodcom_code` to pin a
specific PRODCOM mapping. params: query*, compact |
get_volatility | Coefficient-of-variation (CV = stdev / mean) volatility per
partner/reporter x product pair, over inactive-period-excluded history.
Higher CV = the flow swings more relative to its typical level. Returns
per-entity CV bars (with drill-down series) and, unless
include_heatmap=false, an entity x sub-product CV heatmap. params: query*, n_top_entities, n_top_products, include_heatmap, combos, flow, indicator, entity_level, partner_name, compact |
get_pattern_shift | Before/after trade-pattern shift around a split point
(`query.midpoint`): for each entity, compares average quantity and price
before vs. after, and returns scatter points (quantity-change % vs.
price-change %) with quadrant labels -- top-right = demand-driven growth,
top-left = supply constraint/monopoly risk, bottom-right =
dumping/oversupply risk, bottom-left = market contraction. Suggested
wor params: query*, compact |
get_supply_shocks | Detect abnormal collapses in trade volumes ("sudden volume changes").
Flags periods where a partner/product pair's volume drops well below its
historical average (>2 sigma by default). Returns ranked shock events
per flow, each with timeline phases (baseline, decline, disruption,
recovery, ...), magnitude, abnormality score and underlying series. params: query*, entity_level, partner_name, min_abnormality, relative_threshold, min_active_years, cumulative_share, max_tolerated_gap, compact |
get_price_shocks | Detect sudden price regime shifts ("rapid price changes"), accounting
for each flow's usual volatility so naturally volatile flows aren't
over-flagged. Returns ranked shock events per flow with timeline phases
(price spike/drop, volatile trade, return to baseline, ...), magnitude
and series. params: query*, entity_level, partner_name, min_abnormality, lookback_years, cumulative_share, max_shocks_per_pair, compact |
get_net_import_reliance | Net Import Reliance (NIR) = (Imports - Exports) / Apparent
consumption, annual, joining PRODCOM production with Comext trade. E.g.
40% means 40% of EU consumption is met by imports; negative means the EU
is a net exporter. Returns the NIR % series, its supply/disposition
components, sibling-category/per-code comparisons, the resolved PRODCOM
codes and availability notes (CN-to-PRODCOM mapping is n params: query*, compact |
get_trade_intensity | Trade Intensity (TI) = (Imports + Exports) / (Imports + Production),
annual. Near 1 = highly trade-exposed sector; near 0 = predominantly
domestic. Used in the Commission's CEEAG methodology for carbon-leakage
/ State-aid eligibility. Returns the TI series, its components,
sibling-category/per-code comparisons, resolved PRODCOM codes and
availability notes. params: query*, compact |
get_export_propensity | Export Propensity = Exports / Production, annual: the share of EU
production that is exported. Not clamped -- values above 100% are
legitimate (re-exports, stock drawdown, scope differences). Returns the
export-propensity matrix, a sibling/per-code comparison, resolved
PRODCOM codes and availability notes. params: query*, compact |
get_subcontracting | EU27 sub-contracting intensity: the share of sold production that is
toll (sub-contracted) manufacturing rather than own-account output.
Returns intensity (%) across value/quantity, its component series,
per-period data-quality status, resolved PRODCOM codes and availability
notes. The own/sub split only exists from 2021 onward. params: query*, compact |
get_subcontracting_members | Per-country sub-contracting intensity (PRODCOM): for each reporting
country, the share of its sold production that is toll manufacturing --
which countries act as processing hubs vs. autonomous producers. Spans
all DS-059358 reporters that report the own/sub split; others simply
don't appear. Country cells are heavily confidentiality-suppressed
(null, not zero, when absent). params: query*, compact |
resolve_product_code | Resolve a free-text query or CN code(s) into validated product
code(s) with descriptions -- the recommended first step before using
a code as `product` in any other tool's `query`. Saves the search ->
validate -> (optional) subtree round-trip: a bare keyword runs a search,
a single code (or comma-separated list) is validated and described
directly.
Tip: Comext/CN nomenclature is frequently coarse params: query*, lang, limit, include_children |
get_product_profile | Report-section helper ("Scope & definitions"): the resolved product
code + label, a one-sentence caveat when the code bundles several
sub-products (`has_subcodes`), the data-coverage window actually cached
for it, and whether it has a usable PRODCOM mapping (gating the
autonomy/vulnerability section). Deliberately thin -- no full CN
hierarchy breadcrumb or sibling enumeration.
Returns `{narrative params: query*, lang |
get_market_summary | Report-section helper ("General overview"): condensed, report-ready
digest of how a market has evolved over the chosen window -- one call
instead of separately fetching and cross-referencing get_overview +
get_reporter_detail + get_concentration + get_net_import_reliance
yourself. Set `query.frequency = "year"` for a multi-year evolution
summary (recommended over the model's default of "quarter"). params: query* |
get_market_structure_summary | Report-section helper ("Market structure"): combines, in priority
order, the intra-EU specialisation snapshot (`get_specialisation`,
already map-ready), partner-concentration detail (`get_concentration`,
keeping the top-8-by-value share breakdown as `chart_data` alongside the
condensed HHI trend) and, when a PRODCOM mapping exists for the product,
EU production volumes (`get_production_series`). T params: query* |
get_volatility_summary | Report-section helper ("Volatility & shocks"): the entities analysed
are picked by `get_volatility` (ranks by trade volume, reports each
one's CV) and by `get_price_shocks`/`get_supply_shocks` at default
parameters (both already scoped to top-value partners via
`cumulative_share=0.8`) -- never re-picked from the shocks themselves.
Retries shock detection once with loosened thresholds before conclu params: query* |
get_autonomy_summary | Report-section helper ("Autonomy & vulnerability"): net import
reliance (`get_net_import_reliance`) is always the headline fact/chart.
Trade intensity and export propensity (`get_trade_intensity` /
`get_export_propensity`) are both computed, then a deterministic
salience score -- distance from an unremarkable ~50% band, plus the
magnitude of its own change -- decides which one leads the narrative; params: query* |
get_full_report | Fetch every report section (scope, overview, market structure,
volatility, autonomy) for one shared `query` in a single call, instead
of calling `get_product_profile` / `get_market_summary` /
`get_market_structure_summary` / `get_volatility_summary` /
`get_autonomy_summary` separately yourself. Guarantees all five
sections describe the exact same product/reporter/partner/period
slice -- five separ params: query*, lang |
Entries describe changes in tool definitions. They are not statements about a server, its quality or its author. The grade measures how the tool definitions fit model providers (token cost, schema compatibility, confusable names) as scored by the ToolFit engine at the time of the listing. JSON: append .json. Opt-out: how or hello@youraitools.co.