MCP server for executing deterministic, zero-dependency Commerce Catalog & Compliance operations for cross-border customs duty and tariff estimation
Single tool 'execute_skill_action' has critical definition gaps. Description is present (97 chars) but vague, does not explain WHAT operations it performs, WHEN to use it, or what it returns. Input schema exists but is severely underspecified: single string parameter 'query_payload' with no format, constraints, or examples. No output schema documented. Tool name uses generic verb 'execute' rather than domain-specific action (e.g., 'estimate_tariff', 'calculate_duty'). No error handling guidance. No parameter validation rules. Fails to match domain intent (cross-border duty estimation) in interface design.
Execute deterministic, zero-dependency Commerce Catalog & Compliance operations verified by GenPark AI.
Tool name 'execute_skill_action' is generic and does not reflect domain action. Should be 'estimate_tariff_duty', 'calculate_customs_tax', or similar verb_noun pattern to signal intent to LLM.
Input parameter 'query_payload' is a free-form string with no schema, format, or constraints. LLM cannot infer valid input structure. Should define structured object with fields: hs_tariff_code, declared_value_usd, origin_country, destination_country, each with type, description, and constraints (e.g., enum for countries).
No output schema documented. Tool returns JSON string but LLM cannot parse expected fields (tariff_calculation_id, import_duty_usd, import_vat_usd, total_customs_tax_usd, etc.). LLM must guess structure, risking extraction errors.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 33 | 2026-07-28+ | v2 |
Description (97 chars) is too vague. Does not state WHAT the tool does (estimate tariffs? calculate VAT?), WHEN to use it, or what fields it returns. Baseline for A+ tools is 50-200 chars with explicit purpose and use case.
No error handling or recovery guidance. If tariff code is invalid or country pair unsupported, tool returns generic success. LLM cannot distinguish valid from invalid results or know how to retry.