MCP server for international trade: customs duties calculation (Kazakhstan/EAEU), HS code classification, Incoterms 2020, shipping cost estimation (China→Central Asia), currency conversion. For AI agents doing import/export, procurement, logistics.
Five tools with complete input schemas and descriptions, but significant quality gaps. All tools have descriptions (good baseline), but they lack actionable detail for LLM selection. Parameter descriptions are present but generic. No output schemas documented. No error handling guidance. Tools are READ_ONLY (safe), but lack composition hints and chaining IDs. Naming is clear (verb_noun pattern: customs_calculate, hs_classify, incoterms_check, logistics_estimate, currency_rate), but descriptions read like API docs rather than LLM-optimized prompts. No enum constraints on string parameters (e.g., 'transport' accepts 'auto, rail, sea' as free text). No pagination support despite logistics_estimate and currency_rate potentially returning large datasets. Average description length ~150 chars (within baseline 194), but lacks WHEN/WHY context for tool selection.
Get current exchange rates for Kazakhstan trade: KZT/USD, KZT/CNY, USD/CNY. Real-time market data.
Calculate full customs clearance costs for importing goods into Kazakhstan (EAEU). Includes import duty, VAT (16%), recycling fee, registration fees. Legal bases: EAEU CET, Tax Code RK, PP RK 867.
Classify goods by HS/TN VED code. Returns customs code, duty rate, and product description. Supports industrial equipment, machinery, vehicles. EAEU Common External Tariff.
Explain Incoterms 2020 rules. Recommends best term for Kazakhstan-China trade. Covers EXW, FCA, CPT, CIP, DAP, DPU, DDP, FAS, FOB, CFR, CIF.
Estimate shipping cost and time from China to Kazakhstan. Supports auto, rail, sea transport. Routes: Guangzhou, Shenzhen, Shanghai to Almaty, Astana, Horgos.
No output schemas documented. LLMs cannot plan downstream calls or extract structured data. Responses are JSON blobs with no field documentation.
String parameters lack enum constraints. 'transport' in logistics_estimate accepts free text ('auto, rail, sea') instead of enum. LLMs may hallucinate invalid values like 'truck' or 'air'.
Descriptions lack WHEN/WHY context. 'Calculate full customs clearance costs...' tells WHAT but not WHEN to call this vs hs_classify. LLMs struggle to select the right tool.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 53 | 2026-07-28+ | v2 |
No error handling guidance. If Bankr API fails or returns x402 payment error, LLM receives raw JSON with no recovery hint. Should guide: 'If payment required, connect Bankr wallet' or 'Retry with different HS code'.
No composition hints. customs_calculate requires hs_code (optional), but hs_classify returns hs_code. Response should include hs_code so agent can chain: hs_classify → customs_calculate. Currently missing chaining IDs.