MCP server for logistics: shipping routes, freight costs, currency conversion, customs documentation. China→Kazakhstan/Central Asia trade routes.
All 7 tools share identical, severely deficient schemas and descriptions. Each tool accepts only a single 'input' parameter (type: string, description: 'Input data (JSON)') with no structured schema, no parameter validation, and no guidance on expected JSON structure. Descriptions are minimal (8-34 chars) and fail to explain WHAT the tool does, WHEN to use it, or what it returns. No output schemas documented. No error handling guidance. Tools are thin pass-through wrappers to an external Bankr API with no input validation, sanitization, or recovery guidance. This violates 15+ core patterns from arcade.dev.
100+ currency converter
KZT/USD/CNY exchange rates
Incoterms 2020 guide
Full Incoterms with country recommendations
Shipping cost China→Kazakhstan (auto/rail/sea)
Optimal shipping route calculator
Global shipping routes any origin→destination
All tools accept only a single 'input' parameter of type string with description 'Input data (JSON)'. No structured schema, no field validation, no guidance on expected JSON structure. LLMs cannot determine what fields to pass or what format is required.
Descriptions are 8-34 characters, far below the 50-200 char baseline for A+ tools. They state WHAT (e.g. 'Shipping cost') but omit WHEN to use, prerequisites, and what the tool returns. LLMs cannot reliably select the correct tool.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 29 | 2026-07-28+ | v2 |
No output schemas documented. Callers cannot know what fields to expect from the Bankr API responses. Agents must guess at response structure, risking failed downstream tool calls and context loss.
No input validation or error handling. The callBankr() function catches exceptions but returns generic '{status: "error", error: e.message}'. No guidance on retryability, user-fixable errors, or recovery steps. LLMs cannot self-correct.
Duplicate tools: 'incoterms_check' and 'incoterms_v2' appear to serve the same purpose (Incoterms guidance). LLMs will waste reasoning cycles deciding between them. Consolidate into one canonical tool.