MCP.Market

Trade Compliance MCP server

online · 100% uptime
by pipeworx-io·io.github.pipeworx-io/trade-compliance·v0.2.0

Trade Compliance MCP — the two questions an importer asks that the tariff schedule alone cannot…

B77/100grade B
What users say
No reviews yet
Be the first
Safety scan
B77/100

not scanned yet

Adoption
Growing

0 stars

Reviews

Write one

Nobody has reviewed Trade Compliance yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

Trade Compliance tools

Tool list not cached yet. `describe` through the gateway fetches it live.

Not scanned yet. New listings are scanned within a day or two of arriving.

How Trade Compliance compares

Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
77/100
higher than 50% of 48,255 servers
Uptime
100%
of our recent checks; the typical remote server answers 100%
Response time
253 ms
faster than 55% of 30,031 servers

Release history: 3 versions in the registry since 2026-09-16, latest 2026-10-29, typically one every 34 days.

Install Trade Compliance in Claude Code, Cursor or VS Code

claude mcp add --transport http trade-compliance https://gateway.pipeworx.io/trade-compliance/mcp
Add to Cursor

What the publisher says

From the Trade Compliance repository's README, as published. We do not edit it. Read it on GitHub

@pipeworx/trade-compliance

US import compliance — CBP customs ruling letters (CROSS) and antidumping / countervailing duty (AD/CVD) orders. Keyless, no auth.

Part of Pipeworx — an MCP gateway connecting AI agents to 1576+ live data sources.

Answers the two questions the tariff schedule alone cannot: how has Customs classified this product before and is there a trade-remedy duty on it from this country.

Tools

  • cross_search(query, hts?, since?, limit?) — search CBP CROSS ruling letters for tariff classification precedent. Returns ruling number, date, subject, assigned HTS numbers, and whether the ruling was later modified or revoked.
  • crossruling(rulingnumber, max_chars?) — one ruling letter in full: the facts, CBP's analysis, and the holding.
  • adcvd_orders(product?, country?, hts?, limit?) — AD/CVD orders by product and/or country, grouped per product-country pair with current status and case numbers.
  • adcvdcase(casenumber | document_number) — every Federal Register notice on file for one AD/CVD case.

Auth

None. Both upstreams are public US government endpoints with no key and no registration.

Two things that will bite you

AD/CVD scope is set by scope language, not by HTS code. The HTS numbers in an AD/CVD notice are advisory cross-references. Merchandise can be in scope under an HTS code that looks unrelated, or out of scope under one that looks like a match. Never conclude "not covered" because an HTS code is absent — read the scope language in the linked notice. Every adcvdorders response carries this as scopenote.

adcvdorders reports recent order activity, not a census. It searches the 100 most recent matching Federal Register notices, newest first. China has hundreds of AD/CVD orders in place; a country-only query returns the handful with recent order, continuation, or revocation notices. Treat an absence as "no recent notice found", not "no order exists". Every response carries this as coveragenote.

Status values

adcvd_orders resolves a status per product-country pair:

The partial case is the common one and the dangerous one to flatten: reporting it as revoked would tell an importer a duty is gone when it still applies to them.

Notes on the upstreams

  • CROSS returns HTTP 500 for a ruling number that does not exist, not a 404, and serves its SPA's index.html with a 200 for any unknown path. crossruling therefore probes with a second search call to tell "no such ruling" (reason: rulingnotfound) from a genuine outage (reason: upstreamerror), and every response is JSON-parsed rather than trusted by status.
  • CROSS search rows carry tariffs/categories; the detail endpoint returns them null. cross_ruling merges the search row so tariff numbers are present either way.
  • AD/CVD case numbers come from the Federal Register list endpoint's docketids** — no per-document fetch needed. Elements are sometimes one code and sometimes several comma-joined in a single string, so codes are regexed out of the joined array rather than trusted per element.
  • Federal Register full-text search is noisy: a query mentioning China returns notices about Japan. Product and country are parsed out of the notice title and filtered on the parsed values, never on the query terms.
  • Order type comes from case-number prefixes (A- antidumping, C- countervailing), not title text — titles share "Duty" across a conjunction ("Antidumping and Countervailing Duty Orders"), which defeats naive phrase matching.

Related packs

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

Trade Compliance: common questions

Is Trade Compliance MCP server safe?
Mostly: it is graded B (77/100). Read the Trade Compliance safety report
How do I install Trade Compliance?
It runs remotely at gateway.pipeworx.io. Add it to Claude Code, Cursor, VS Code or Claude Desktop with the snippets above, or call it through the mcp.market gateway without installing anything.
Does Trade Compliance need an API key?
Yes. The registry entry asks for PIPEWORX_API_KEY.
Is Trade Compliance maintained?
The last commit was 40 days ago (2026-09-25). The latest release is v0.2.0.
Is Trade Compliance up?
100% of our last 28 checks got an answer. We check remote servers about four times a day.
How does Trade Compliance compare with other MCP servers?
safety score 77/100 (higher than 50% of 48,255 servers); uptime 100% (of our recent checks; the typical remote server answers 100%); response time 253 ms (faster than 55% of 30,031 servers). Full comparison.

More from pipeworx-io →