Trade Compliance MCP — the two questions an importer asks that the tariff schedule alone cannot answer: (1) How has CBP classified this product before (CROSS ruling letters), and (2) Is there an antidumping or countervailing duty on this from that country (AD/CVD orders)
Four well-defined trade compliance tools with strong, domain-specific descriptions (194 - 380 chars each). All tools have complete input schemas with typed parameters and clear descriptions. cross_search and cross_ruling follow verb_noun naming; adcvd_orders and adcvd_case are slightly less action-oriented but acceptable. No output schemas documented. Error handling present but minimal, no recovery guidance or actionable error messages visible in code. All tools are READ_ONLY (safe), reducing risk. Missing: per-parameter validation rules, enum constraints for status fields (e.g., adcvd_orders 'status' values), and structured output schema documentation.
Look up a specific US antidumping/countervailing duty case by its case number (A-570-979 style: letter A=antidumping or C=countervailing, 3-digit country code, 3-digit case code) or by a Federal Register document number. Returns every Federal Register notice on file for that case with full abstract text and the FR URL — use after adcvd_orders when you already have the case number and need the underlying notices (initiation, order, continuation, revocation, amendments) in one place.
US antidumping duty (AD) and countervailing duty (CVD) trade-remedy orders — is there an import duty order in place on a product from a country. Searches Federal Register / International Trade Administration notices for a product and/or country, resolves current status per product-country pair (in_place, in_place_revoked_in_part when Commerce revoked an order only for named companies or a carved-out subset, or revoked), and returns AD/CVD case numbers, order type (antidumping, countervailing, or both), and the governing Federal Register notice. Use for "is there an antidumping/countervailing duty order on X from Y", "AD/CVD case number for X", "trade remedy duties on imports of X from Y", "is the dumping order on X still in place". Country matching is forgiving (pass "China", not "the People's Republic of China"). If an HTS code is passed it is used only as a search hint — the ORDER SCOPE LANGUAGE, not any HTS number, governs what merchandise is actually covered, so an HTS mismatch never means "not covered".
Get one CBP CROSS customs ruling letter in full by its ruling number (e.g. "N305619" or "H301481", from cross_search). Returns the complete ruling text — the facts presented, CBP's classification analysis, and the holding — plus the HTS tariff numbers assigned, issue date, and the rulings it modifies, revokes, or is revoked by. Use this to read the actual reasoning behind a tariff classification precedent before relying on it for an entry.
No output schemas documented. LLMs cannot predict response structure, forcing them to parse unstructured text and plan downstream calls blindly.
adcvd_orders status field ('in_place', 'in_place_revoked_in_part', 'revoked') lacks enum constraint in schema. Description mentions values but schema does not enforce them, inviting LLM hallucination.
Naming: 'adcvd_orders' and 'adcvd_case' are domain-specific nouns, not action verbs. Better: 'search_adcvd_orders' and 'get_adcvd_case' to clarify intent and match verb_noun baseline (90% of A+ tools).
Error handling in server.ts returns raw error messages without recovery guidance. 'Invalid ruling number' should suggest 'Try cross_search() first to find a valid ruling number.'
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | 2025-06-18+ | v2 |
Search CBP CROSS — the US Customs and Border Protection ruling letters database — for how Customs has classified a product before. Returns binding and informational ruling letters with ruling number, date, subject, HTS tariff numbers assigned, and whether the ruling was later modified or revoked. Use this to find tariff classification precedent for an import: what HTS code CBP assigned to a similar article, country-of-origin and marking determinations, USMCA/NAFTA eligibility rulings, and valuation rulings. Search by product description ("lithium ion battery pack", "cotton knit shirt"), by HTS code, or by ruling number.
Parameters 'limit' accept both number and string types. Schema should enforce a single type (number, 1 - 50) with min/max constraints, not union types that invite parsing errors.