HS code classifier for AI agents. Classifies products to official 6-digit tariff codes before customs declarations or duty calculations. VERIFIED verdict in one call.
Two well-named tools with comprehensive input schemas and strong descriptions (150-200 chars each). Both tools declare enums for response_format and country parameters, include minLength/maxLength constraints, and provide clear guidance on input format. Output schemas are documented in descriptions. However, output structure is not formally declared in JSON Schema, and error handling guidance is minimal. Tool composition is sound (classify vs validate are distinct concerns). No security issues detected, no credentials in parameters.
Classifies a product description to official 6-digit HS tariff codes using AI-assisted matching against government tariff schedules. Returns CLASSIFIED, AMBIGUOUS, or NOT_FOUND verdict with confidence level and reasoning.
Validates a supplier-provided HS code against a product description using AI-powered mismatch detection. Returns VALID, INVALID, MISMATCH, or OUTDATED verdict with risk level and optional correction suggestions.
Output schemas not formally declared in JSON Schema format. Descriptions mention return fields (hs_code, confidence, verdict, reasoning) but no structured output schema is visible in tool registration.
Error handling lacks recovery guidance. No indication of what the LLM should do if classification fails (e.g., 'Try a more specific product description' or 'Verify country code is valid').
No tool annotations (readOnlyHint, idempotentHint) visible in source. Both tools are read-only and idempotent but this is not formally declared to the MCP client.
No pagination or result limits documented. If classification returns multiple candidate codes, no guidance on how many are returned or how to paginate.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | A | 83 | 2025-06-18+ | v2 |
Parameter 'country' uses length constraint (length:2) instead of minLength/maxLength. While functionally correct, inconsistent with product_description and hs_code which use minLength/maxLength.