Comtrade
Server Details
Comtrade MCP — UN Comtrade API for international bilateral trade data
Glama couldn't complete the latest health check. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.
If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.
- Status
- Unhealthy
- Uptime
- 19.4% over 62 days
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- pipeworx-io/mcp-comtrade
- GitHub Stars
- 0
- Server Listing
- mcp-comtrade
TDQS
Scored across 40 tools
The set has several overlapping tool families: ask_pipeworx/ask_pipeworx_beta/ask_pipeworx_grounded/deep_research all route natural-language questions, discover_tools/suggest_questions/pipeworx_trending all serve meta-discovery, and bet_research/polymarket_edges/polymarket_arbitrage overlap on prediction-market scanning. The long descriptions help differentiate them, but an agent can still easily misselect among the router and market-analysis variants.
Nearly all names are snake_case, with readable domain prefixes (comtrade_, polymarket_, pipeworx_) that group related tools. However, the set mixes verb_noun names (resolve_entity, validate_claim, scan_dependency) with noun phrases (entity_profile, company_facts, release_calendar_markets) and uses beta/grounded suffix variants, so the pattern is not fully predictable.
At 40 tools, this is well above the 3-15 well-scoped range and includes many overlapping meta-routers, memory helpers, subscription tools, and prediction-market variants. Even for a broad data gateway, the surface feels bloated rather than curated; several tools earn their place, but too many are alternate entry points to the same underlying capability.
For a broad Pipeworx-style gateway, the surface covers company research, prediction markets, memory, subscriptions, and basic Comtrade trade data. But several advertised domains (weather, real estate, clinical trials, general stock quotes) lack direct tools and depend on router fallbacks, and the Comtrade side itself is thin relative to the overall 40-tool surface.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Changed
release_calendar_markets2 fields changed- added
Output schema / properties / empty_reasonAdded value: +{ + "description": "Present ONLY on a zero-release window: \"no_releases_in_window\". The window was queried and nothing is scheduled — this is an answer, not a failure.", + "type": "string" +} - added
Output schema / properties / hintAdded value: +{ + "description": "Present ONLY on a zero-release window: what to change (usually a wider `hours`).", + "type": "string" +}
9 tool updates
- Changed
ask_pipeworx3 fields changed- added
Input schema / properties / askAdded value: +{ + "description": "Alias for question.", + "type": "string" +} - added
Input schema / properties / messageAdded value: +{ + "description": "Alias for question.", + "type": "string" +} - changed
Input schema / properties / question / descriptionPrevious value: -"Your question or request in natural language. Accepts query, q, prompt, text, input as aliases."New value: +"Your question or request in natural language. Accepts query, q, prompt, text, input, ask, message as aliases."
- Changed
ask_pipeworx_beta3 fields changed- added
Input schema / properties / askAdded value: +{ + "description": "Alias for question.", + "type": "string" +} - added
Input schema / properties / messageAdded value: +{ + "description": "Alias for question.", + "type": "string" +} - changed
Input schema / properties / question / descriptionPrevious value: -"Your question or request in natural language. Accepts query, q, prompt, text, input as aliases."New value: +"Your question or request in natural language. Accepts query, q, prompt, text, input, ask, message as aliases."
- Changed
ask_pipeworx_grounded3 fields changed- added
Input schema / properties / askAdded value: +{ + "description": "Alias for question.", + "type": "string" +} - added
Input schema / properties / messageAdded value: +{ + "description": "Alias for question.", + "type": "string" +} - changed
Input schema / properties / question / descriptionPrevious value: -"Your question in natural language. Accepts query, q, prompt, text, input as aliases."New value: +"Your question in natural language. Accepts query, q, prompt, text, input, ask, message as aliases."
- Changed
comtrade_top_partners6 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "flow": "X", - "limit": 10, - "reporter_code": "842", - "year": "2024" - }, - { - "flow": "M", - "reporter_code": "156", - "year": "2023" - }, - { - "flow": "X", - "frequency": "monthly", - "limit": 5, - "reporter_code": "682", - "year": "202401" - } -]New value: +[ + { + "flow": "X", + "limit": 10, + "reporter_code": "842", + "year": "2024" + }, + { + "flow": "M", + "reporter_code": "156", + "year": "2023" + }, + { + "flow": "X", + "frequency": "monthly", + "limit": 5, + "reporter_code": "682", + "year": "202401" + }, + { + "commodity_code": "2603", + "flow": "M", + "limit": 5, + "reporter_code": "China", + "year": "2024" + } +] - added
Input schema / properties / cmd_codeAdded value: +{ + "description": "Alias for hs_code — HS commodity code. Use this OR hs_code, not both.", + "type": "string" +} - added
Input schema / properties / commodityAdded value: +{ + "description": "Alias for hs_code — HS commodity code. Use this OR hs_code, not both.", + "type": "string" +} - added
Input schema / properties / commodity_codeAdded value: +{ + "description": "Alias for hs_code — HS commodity code (e.g. \"2603\" for copper ores). Use this OR hs_code, not both.", + "type": "string" +} - added
Input schema / properties / hsAdded value: +{ + "description": "Alias for hs_code — HS commodity code. Use this OR hs_code, not both.", + "type": "string" +} - changed
Input schema / properties / hs_code / descriptionPrevious value: -"Optional HS commodity code to filter by specific product"New value: +"Optional HS commodity code to filter by specific product (e.g. \"2603\" for copper ores) — omit for all commodities (TOTAL). Aliases accepted: commodity_code, commodity, hs, cmd_code (pass exactly one)."
- Changed
comtrade_trade_data5 fields changed- added
Input schema / properties / cmd_codeAdded value: +{ + "description": "Alias for hs_code — HS commodity code. Use this OR hs_code, not both.", + "type": "string" +} - added
Input schema / properties / commodityAdded value: +{ + "description": "Alias for hs_code — HS commodity code. Use this OR hs_code, not both.", + "type": "string" +} - added
Input schema / properties / commodity_codeAdded value: +{ + "description": "Alias for hs_code — HS commodity code (e.g. \"2603\" for copper ores). Use this OR hs_code, not both.", + "type": "string" +} - added
Input schema / properties / hsAdded value: +{ + "description": "Alias for hs_code — HS commodity code. Use this OR hs_code, not both.", + "type": "string" +} - changed
Input schema / properties / hs_code / descriptionPrevious value: -"HS commodity code at 2/4/6 digit level (e.g., \"8471\" for computers). Optional — omit for all commodities."New value: +"HS commodity code at 2/4/6 digit level (e.g., \"8471\" for computers, \"2603\" for copper ores). Optional — omit for all commodities. Aliases accepted: commodity_code, commodity, hs, cmd_code (pass exactly one of hs_code/commodity_code/commodity/hs/cmd_code — do not need hs_code as well)."
- Changed
deep_research8 fields changed- added
Input schema / properties / askAdded value: +{ + "description": "Alias for question.", + "type": "string" +} - added
Input schema / properties / inputAdded value: +{ + "description": "Alias for question.", + "type": "string" +} - added
Input schema / properties / messageAdded value: +{ + "description": "Alias for question.", + "type": "string" +} - added
Input schema / properties / promptAdded value: +{ + "description": "Alias for question.", + "type": "string" +} - added
Input schema / properties / qAdded value: +{ + "description": "Alias for question.", + "type": "string" +} - added
Input schema / properties / queryAdded value: +{ + "description": "Alias for question.", + "type": "string" +} - changed
Input schema / properties / question / descriptionPrevious value: -"The research question, in natural language. Broad/multi-part is fine — decomposition is the point."New value: +"The research question, in natural language. Broad/multi-part is fine — decomposition is the point. Accepts query, q, prompt, text, input, ask, message as aliases." - added
Input schema / properties / textAdded value: +{ + "description": "Alias for question.", + "type": "string" +}
- Changed
forget4 fields changed- added
Input schema / properties / kAdded value: +{ + "description": "Alias for key.", + "type": "string" +} - changed
Input schema / properties / key / descriptionPrevious value: -"Memory key to delete"New value: +"Memory key to delete. Accepts name, k, label as aliases." - added
Input schema / properties / labelAdded value: +{ + "description": "Alias for key.", + "type": "string" +} - added
Input schema / properties / nameAdded value: +{ + "description": "Alias for key.", + "type": "string" +}
- Changed
recall4 fields changed- added
Input schema / properties / kAdded value: +{ + "description": "Alias for key.", + "type": "string" +} - changed
Input schema / properties / key / descriptionPrevious value: -"Memory key to retrieve (omit to list all keys)"New value: +"Memory key to retrieve (omit to list all keys). Accepts name, k, label as aliases." - added
Input schema / properties / labelAdded value: +{ + "description": "Alias for key.", + "type": "string" +} - added
Input schema / properties / nameAdded value: +{ + "description": "Alias for key.", + "type": "string" +}
- Changed
remember9 fields changed- added
Input schema / properties / contentAdded value: +{ + "description": "Alias for value.", + "type": "string" +} - added
Input schema / properties / dataAdded value: +{ + "description": "Alias for value.", + "type": "string" +} - added
Input schema / properties / kAdded value: +{ + "description": "Alias for key.", + "type": "string" +} - changed
Input schema / properties / key / descriptionPrevious value: -"Memory key (e.g., \"subject_property\", \"target_ticker\", \"user_preference\")"New value: +"Memory key (e.g., \"subject_property\", \"target_ticker\", \"user_preference\"). Accepts name, k, label as aliases." - added
Input schema / properties / labelAdded value: +{ + "description": "Alias for key.", + "type": "string" +} - added
Input schema / properties / nameAdded value: +{ + "description": "Alias for key.", + "type": "string" +} - added
Input schema / properties / textAdded value: +{ + "description": "Alias for value.", + "type": "string" +} - added
Input schema / properties / vAdded value: +{ + "description": "Alias for value.", + "type": "string" +} - changed
Input schema / properties / value / descriptionPrevious value: -"Value to store (any text — findings, addresses, preferences, notes)"New value: +"Value to store (any text — findings, addresses, preferences, notes). Accepts content, text, data, v as aliases; a non-string value is stored as JSON."
26 tool updates
- Changed
ai_visibility_check1 field changed- added
Input schema / examplesAdded value: +[ + { + "entity": "Tesla" + } +]
- Changed
ask_pipeworx_beta1 field changed- added
Input schema / examplesAdded value: +[ + { + "question": "What is the current US unemployment rate?" + } +]
- Changed
ask_pipeworx_grounded1 field changed- added
Input schema / examplesAdded value: +[ + { + "question": "What was Apple's fiscal 2023 revenue?" + } +]
- Added
company_facts - Changed
compare_entities1 field changed- added
Input schema / examplesAdded value: +[ + { + "type": "company", + "values": [ + "AAPL", + "MSFT" + ] + } +]
- Changed
deep_research1 field changed- added
Input schema / examplesAdded value: +[ + { + "depth": "quick", + "question": "What is the current US unemployment rate and how has it changed over the past year?" + } +]
- Changed
entity_profile1 field changed- added
Input schema / examplesAdded value: +[ + { + "type": "company", + "value": "AAPL" + } +]
- Changed
generate_llms_txt1 field changed- added
Input schema / examplesAdded value: +[ + { + "url": "https://pipeworx.io" + } +]
- Added
kalshi_weather_edge - Changed
pipeworx_feedback1 field changed- added
Input schema / examplesAdded value: +[ + { + "message": "Fleet #2184 smoke test: verifying pipeworx_feedback example call returns non-empty.", + "type": "other" + } +]
- Changed
pipeworx_trending1 field changed- added
Input schema / examplesAdded value: +[ + { + "window": "7d" + } +]
- Changed
polymarket_arbitrage1 field changed- added
Input schema / examplesAdded value: +[ + { + "topic": "Fed rate decision" + } +]
- Changed
polymarket_edge_tracker1 field changed- added
Input schema / examplesAdded value: +[ + { + "days": 14, + "window": "1wk" + } +]
- Changed
polymarket_edges3 fields changed- added
Input schema / examplesAdded value: +[ + { + "limit": 5, + "window": "1wk" + } +] - changed
Input schema / properties / min_edge_pp / descriptionPrevious value: -"Minimum |edge| in percentage points to include (default 0.5). Edge is evaluated NET of slippage."New value: +"Minimum |edge| in percentage points to include (default 0.5). Edge is evaluated NET of slippage and Polymarket's own taker fee." - changed
Input schema / properties / slippage_pp / descriptionPrevious value: -"Assumed execution slippage in percentage points per leg (default 0.3). Subtracted from raw |edge| before ranking and Kelly sizing. Polymarket has zero trading fees as of 2024 but bid/ask + thin depth typically eats 20-50bp per trade. Bump for very thin partitions; drop to 0 if you have a smarter fill model."New value: +"Assumed execution slippage in percentage points per leg (default 0.3), for bid/ask + thin depth cost that a last-trade price does not show. Subtracted from raw |edge| before ranking and Kelly sizing, ON TOP OF Polymarket's own taker fee — which is NOT zero (rate 0.04-0.07 depending on category, read off each market's own published fee schedule; see fees_pp_applied on every row and fees.ts for the full schedule). Bump slippage for very thin partitions; drop to 0 if you have a smarter fill model — the fee still applies regardless."
- Changed
polymarket_fill_risk1 field changed- added
Input schema / examplesAdded value: +[ + { + "market": "will-the-fed-increase-interest-rates-by-25-bps-after-the-december-2026-meeting-20260729232808636", + "side": "buy_yes", + "size_usd": 1000 + } +]
- Changed
recent_changes1 field changed- added
Input schema / examplesAdded value: +[ + { + "since": "30d", + "type": "company", + "value": "AAPL" + } +]
- Added
release_calendar_markets - Changed
remember1 field changed- added
Input schema / examplesAdded value: +[ + { + "key": "target_ticker", + "value": "AAPL" + } +]
- Added
resolution_audit - Added
resolution_diff - Changed
resolve_entity1 field changed- added
Input schema / examplesAdded value: +[ + { + "type": "company", + "value": "AAPL" + } +]
- Changed
scan_competitor_ai_presence1 field changed- added
Input schema / examplesAdded value: +[ + { + "entities": [ + "Pipeworx", + "Zapier" + ] + } +]
- Changed
scan_dependency1 field changed- added
Input schema / examplesAdded value: +[ + { + "package": "left-pad" + } +]
- Changed
search_within1 field changed- added
Input schema / examplesAdded value: +[ + { + "query": "supply-chain risk", + "text": "Apple Inc. reported fiscal 2023 revenue of $383.285 billion, driven by strong iPhone and Services growth. Net income was $96.995 billion. The company faced supply-chain risk in China during the quarter." + } +]
- Changed
suggest_questions1 field changed- added
Input schema / examplesAdded value: +[ + { + "topic": "finance" + } +]
- Changed
validate_claim1 field changed- added
Input schema / examplesAdded value: +[ + { + "claim": "Apple's fiscal 2023 revenue was $383 billion" + } +]
1 tool update
- Changed
bet_research2 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "market": "when-will-bitcoin-hit-150k" - }, - { - "market": "https://polymarket.com/event/when-will-bitcoin-hit-150k" - } -]New value: +[ + { + "market": "will-kristi-noem-win-the-2028-republican-presidential-nomination" + }, + { + "market": "https://polymarket.com/event/will-kristi-noem-win-the-2028-republican-presidential-nomination" + } +] - changed
Input schema / properties / market / descriptionPrevious value: -"Polymarket slug (\"when-will-bitcoin-hit-150k\"), full URL (\"https://polymarket.com/event/...\"), or question text (\"Will Bitcoin hit $150k?\"). Dated slugs stop resolving once they settle — Polymarket de-indexes resolved markets — so prefer an undated one."New value: +"Polymarket slug (\"will-kristi-noem-win-the-2028-republican-presidential-nomination\"), full URL (\"https://polymarket.com/event/...\"), or question text (\"Will Bitcoin hit $150k?\"). Dated slugs stop resolving once they settle — Polymarket de-indexes resolved markets — so prefer an undated one."
2 tool updates
- Changed
bet_research2 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "market": "will-bitcoin-reach-100k-in-july-2026" - }, - { - "market": "https://polymarket.com/event/will-bitcoin-hit-150k-by-june-30-2026" - } -]New value: +[ + { + "market": "when-will-bitcoin-hit-150k" + }, + { + "market": "https://polymarket.com/event/when-will-bitcoin-hit-150k" + } +] - changed
Input schema / properties / market / descriptionPrevious value: -"Polymarket slug (\"will-bitcoin-hit-150k-by-june-30-2026\"), full URL (\"https://polymarket.com/event/...\"), or question text (\"Will Bitcoin hit $150k by June 30?\")"New value: +"Polymarket slug (\"when-will-bitcoin-hit-150k\"), full URL (\"https://polymarket.com/event/...\"), or question text (\"Will Bitcoin hit $150k?\"). Dated slugs stop resolving once they settle — Polymarket de-indexes resolved markets — so prefer an undated one."
- Changed
polymarket_kalshi_spread2 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "topic": "fed" - }, - { - "topic": "btc" - } -]New value: +[ + { + "topic": "fed" + }, + { + "topic": "btc" + }, + { + "topic": "bitcoin" + }, + { + "topic": "fed rate decision" + } +] - changed
Input schema / properties / topic / descriptionPrevious value: -"Pre-mapped: fed | btc | cpi | gdp | sp500 | recession | next_pope | next_uk_pm | next_israel_pm | 2028_president"New value: +"Subject to compare. Canonical keys: fed | btc | eth | cpi | gdp | sp500 | recession | next_pope | next_uk_pm | next_israel_pm | 2028_president — but aliases and keywords resolve too (\"bitcoin\", \"fed rate decision\", \"ethereum\", \"inflation\", \"s&p 500\", \"us recession\", \"next pope\", \"2028 election\"). Check resolution.topic_matched_by in the response: \"exact\"/\"alias\" is a curated pairing, \"phrase\"/\"token\" is a keyword guess."
3 tool updates
- Changed
comtrade_top_commodities2 fields changed- added
Input schema / properties / frequencyAdded value: +{ + "description": "Data frequency: \"annual\" (default) or \"monthly\". Monthly coverage is thinner — not every reporter files monthly, and recent months lag. When \"monthly\", pass `year` as YYYYMM.", + "type": "string" +} - changed
Input schema / properties / year / descriptionPrevious value: -"Trade year (e.g., \"2024\")"New value: +"Trade period. For frequency=\"annual\" (default): a year, e.g. \"2024\". For frequency=\"monthly\": year+month as YYYYMM, e.g. \"202401\"."
- Changed
comtrade_top_partners3 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "flow": "X", - "limit": 10, - "reporter_code": "842", - "year": "2024" - }, - { - "flow": "M", - "reporter_code": "156", - "year": "2023" - } -]New value: +[ + { + "flow": "X", + "limit": 10, + "reporter_code": "842", + "year": "2024" + }, + { + "flow": "M", + "reporter_code": "156", + "year": "2023" + }, + { + "flow": "X", + "frequency": "monthly", + "limit": 5, + "reporter_code": "682", + "year": "202401" + } +] - added
Input schema / properties / frequencyAdded value: +{ + "description": "Data frequency: \"annual\" (default) or \"monthly\". Monthly coverage is thinner — not every reporter files monthly, and recent months lag; a reporter with no filing for the requested month is absent from the ranking, not shown at zero. When \"monthly\", pass `year` as YYYYMM.", + "type": "string" +} - changed
Input schema / properties / year / descriptionPrevious value: -"Trade year (e.g., \"2024\")"New value: +"Trade period. For frequency=\"annual\" (default): a year, e.g. \"2024\". For frequency=\"monthly\": year+month as YYYYMM, e.g. \"202401\"."
- Changed
comtrade_trade_data3 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "partner_code": "156", - "reporter_code": "842", - "year": "2024" - }, - { - "flow": "M", - "hs_code": "8471", - "partner_code": "156", - "reporter_code": "842", - "year": "2023" - } -]New value: +[ + { + "partner_code": "156", + "reporter_code": "842", + "year": "2024" + }, + { + "flow": "M", + "hs_code": "8471", + "partner_code": "156", + "reporter_code": "842", + "year": "2023" + }, + { + "frequency": "monthly", + "partner_code": "818", + "reporter_code": "682", + "year": "202401" + } +] - added
Input schema / properties / frequencyAdded value: +{ + "description": "Data frequency: \"annual\" (default) for yearly totals, or \"monthly\" for month-level data. Monthly coverage is thinner than annual — not every reporter files monthly, and recent months lag by reporter; a country-month with no filing is simply omitted from the results, not returned as zero. When \"monthly\", pass `year` as YYYYMM.", + "type": "string" +} - changed
Input schema / properties / year / descriptionPrevious value: -"Trade year (e.g., \"2024\")"New value: +"Trade period. For frequency=\"annual\" (default): a year, e.g. \"2024\". For frequency=\"monthly\": year+month as YYYYMM, e.g. \"202401\" for January 2024."
1 tool update
- Changed
entity_profile3 fields changed- changed
Input schema / properties / type / descriptionPrevious value: -"Entity type. Only \"company\" supported today; person/place coming soon."New value: +"\"company\" or \"ticker\" — both are accepted and behave identically; `value` can be a ticker, CIK, or company name either way. person/place coming soon." - changed
Input schema / properties / type / enumPrevious value: -[ - "company" -]New value: +[ + "company", + "ticker" +] - changed
Input schema / properties / value / descriptionPrevious value: -"Ticker (e.g., \"AAPL\") or zero-padded CIK (e.g., \"0000320193\"). Names not supported — use resolve_entity first if you only have a name."New value: +"Ticker (e.g., \"AAPL\"), zero-padded CIK (e.g., \"0000320193\"), or company name (e.g., \"Moderna\") — names resolve via SEC EDGAR company-name match."
Related MCP Connectors
UN Comtrade international trade statistics via MCP. Country/HS lookups, flows, balances, rankings.
Trade Intel MCP — Compound tools that chain Comtrade, Census, Treasury,
Census Trade MCP — US Census Bureau International Trade data
Brazil Comex Stat MCP — Brazilian foreign trade statistics from MDIC
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceAccess UN Comtrade international merchandise and services trade statistics via MCP tools for country lookups, HS commodity search, bilateral trade flows, balances, rankings, and data availability.92 npm3Apache 2.0
- AlicenseDqualityDmaintenanceServidor MCP para a API do ComexStat, ferramenta de acesso às estatísticas de comércio exterior do Brasil.203 npm2MIT
- AlicenseAqualityCmaintenanceAn MCP server for the U.S. Census Bureau's International Trade Data API, enabling queries of monthly export and import statistics by HS, NAICS, end-use, and other classifications, with tools for trade balance, top partners, and country code lookup.7Creative Commons Zero v1.0 Universal
- FlicenseAqualityBmaintenanceEnables querying Brazilian foreign trade data through MCP tools for trade flows, freight costs, code resolution, and dataset caveats, with known data defects corrected in responses.4-
Glama MCP Gateway
Add one secure layer between your agents and this server.