Releases: cyanheads/un-comtrade-mcp-server
Release list
v0.1.6: mcp-ts-core ^0.10.6 -> ^0.12.3 — SDK v2 baseline, enrichment notices, strict inputs
mcp-ts-core ^0.10.6 -> ^0.12.3 — SDK v2 baseline, enrichment notices, strict inputs
- Empty-result and truncation notices moved off the output schema onto
ctx.enrichacross all eight tools; they reachstructuredContentandcontent[] - Tool inputs are strict: unrecognized argument keys are rejected by name (
additionalProperties: false) - Invalid HS classification levels throw
ValidationErrorinstead ofNotFound - Protocol revision 2026-07-28 served alongside the 2025 era; advertised schemas are 2020-12 with the error envelope declared
- Bun 1.4.0 image and packageManager pins; supply-chain install guard (3-day release-age hold + Socket scanner)
- Plugin marketplace manifests, LICENSE, SECURITY.md, .gitattributes scaffolded; vendored skills and devcheck scripts synced
- deps:
@cyanheads/mcp-ts-core^0.10.6 -> ^0.12.3,typescript^6.0.3 -> ^7.0.2 (+ dev-dep bumps)
v0.1.5: mcp-ts-core 0.10.6 adoption, search truncation flags
mcp-ts-core 0.10.6 adoption, search truncation flags
Adopts the @cyanheads/mcp-ts-core ^0.10.6 framework and adds explicit truncation signalling to the search tools.
Added:
truncatedboolean oncomtrade_search_commoditiesandcomtrade_list_service_categories, surfaced informat()
Changed:
createApp()pinsname/titleto the hyphenated server identitybundleprunes dependency-shipped agent docs from the .mcpb viaclean-mcpb.tsDockerfileadds APP_VERSION label and a bun-native HEALTHCHECK
Dependency bumps:
@cyanheads/mcp-ts-core^0.9.9 → ^0.10.6@biomejs/biome^2.4.16 → ^2.5.0@types/node^25.9.2 → ^25.9.3
86 tests pass; bun run devcheck clean.
v0.1.4: Trade data correctness fixes
Trade data correctness fixes
Fixes three data-accuracy bugs in fetchTradeData: trade totals no longer sum dimension-expanded breakdown rows, partner rankings deduplicate per-partner, and services descriptions resolve via EBOPS instead of HS.
Fixed:
- Trade totals now read the API's aggregate row (motCode=0/customsCode=C00/partner2Code=0); Germany 2022 exports: was ~$13.57T (sum of 90 rows), now $1.696T (#4)
- Partner deduplication keeps max-value row per partnerCode; Poland no longer appears at two ranks (#5)
- Services descriptions resolve via EBOPS: cmdCode=3 → Transport, not Cereals (#6)
- RawTradeRow declares motCode, customsCode, partner2Code, isAggregate fields explicitly
Also adds CITATION.cff, manifest.json/server.json metadata alignment (COMTRADE_SUBSCRIPTION_KEY in stdio environmentVariables), and service tests.
Dependency bumps:
@biomejs/biome^2.4.15 → ^2.4.16@types/node^25.9.1 → ^25.9.2vitest^4.1.7 → ^4.1.8
86 tests pass; bun run devcheck clean.
v0.1.3: package metadata, bun run scripts, install badges, Docker image
package metadata, bun run scripts, install badges, Docker image
Aligns package.json metadata, scripts, README badges, and Docker with fleet-standard patterns.
Added:
.github/FUNDING.yml— GitHub Sponsors and Buy Me a Coffee- Install badges (Claude Desktop, Cursor, VS Code) in README
- Docker badge, MCP SDK badge, npm badge in README
funding/author/bugs/homepage/packageManagerin package.jsonmanifest.jsonin package.jsonfilesarray
Changed:
- Scripts migrated from
tsxtobun run scripts/*.ts; start scripts usebun ./dist/index.js tsxremoved from devDependencies- Docker image pushed to ghcr.io/cyanheads/un-comtrade-mcp-server:0.1.3
bun run devcheck clean.
v0.1.2: MCP Registry compliance fixes
MCP Registry compliance fixes
Fixes mcpName missing from package.json and server.json description exceeding the 100-char limit.
Fixed:
- mcpName added to package.json
- server.json description trimmed to ≤ 100 characters
75 tests pass; bun run devcheck clean.
v0.1.1: International trade data via UN Comtrade
International trade data via UN Comtrade
Initial public release. 9 tools and 2 resources covering the full UN Comtrade workflow — country and HS code lookup, bilateral trade flows, balance computation, partner/commodity rankings, services trade, and data availability checks.
Fixed:
- Reference data load crash — Comtrade reference files wrap their arrays in a results envelope that wasn't being unwrapped
- isGroup / isLeaf normalization — live API returns booleans; types accepted only string | number
- comtrade_get_top_commodities aggrLevel filter — preview endpoint returns null for aggrLevel; infer from cmdCode length
- Startup log drop — reference-data-loaded message was emitted before the logger initialized
75 tests pass; bun run devcheck clean.