Skip to main content
Glama

Jithox EU Import Preflight

Check EU import measures for a classification

check_eu_import_measures
Read-only

For a candidate TARIC code + origin, list EU-level import measures from a dated snapshot: third-country duty, tariff preferences, prohibitions/restrictions, surveillance. A restriction hit is a 'not_ready' signal to review, not a legal determination; compound/unknown measures return 'needs_review'; no snapshot → 'unavailable'. Classifications/measures are CANDIDATES for a declarant to confirm; only a BTI binds. TARIC carries no national VAT/excise — those are separate. Every result carries its source, retrieval time and validity window.

Input Schema

NameRequiredDescriptionDefault
codeNoCandidate TARIC/CN code.
dateNoISO date to evaluate (defaults to today).
itemCountNoNumber of items (optional).
goodsValueEurNoCustoms value in EUR (optional).
originCountryNoISO alpha-2 country of origin.
destinationCountryNoISO alpha-2 EU destination.

Output Schema

NameRequiredDescriptionDefault
dataYes
billingYes
productYes
receiptYes
decisionYes
retryableYes
capabilityYes
provenanceYes
generatedAtYes
limitationsYes
schemaVersionYes
receiptEnvelopeNo
decisionCategoryYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedOutput schema / properties / receiptEnvelope
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "algorithm": {
      +      "type": "string"
      +    },
      +    "canonicalizationVersion": {
      +      "type": "string"
      +    },
      +    "keyId": {
      +      "type": "string"
      +    },
      +    "payload": {
      +      "type": "object"
      +    },
      +    "publicKeyUrl": {
      +      "type": "string"
      +    },
      +    "receiptVersion": {
      +      "type": "string"
      +    },
      +    "resultHash": {
      +      "type": "string"
      +    },
      +    "signature": {
      +      "type": "string"
      +    },
      +    "verificationUrl": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "receiptVersion",
      +    "canonicalizationVersion",
      +    "algorithm",
      +    "keyId",
      +    "payload",
      +    "signature",
      +    "publicKeyUrl",
      +    "verificationUrl"
      +  ],
      +  "type": "object"
      +}
  2. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "billing": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "billable": {
      +          "type": "boolean"
      +        },
      +        "category": {
      +          "enum": [
      +            "billable",
      +            "non_billable"
      +          ],
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "billable",
      +        "category"
      +      ],
      +      "type": "object"
      +    },
      +    "capability": {
      +      "const": "check_eu_import_measures"
      +    },
      +    "data": {
      +      "type": "object"
      +    },
      +    "decision": {
      +      "enum": [
      +        "found",
      +        "code_not_found",
      +        "missing_input",
      +        "stale",
      +        "unavailable",
      +        "needs_review"
      +      ],
      +      "type": "string"
      +    },
      +    "decisionCategory": {
      +      "enum": [
      +        "proceed",
      +        "review",
      +        "blocked",
      +        "no_result",
      +        "invalid_input",
      +        "unavailable",
      +        "stale"
      +      ],
      +      "type": "string"
      +    },
      +    "generatedAt": {
      +      "type": "string"
      +    },
      +    "limitations": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "product": {
      +      "const": "com.jithox/eu-import-preflight"
      +    },
      +    "provenance": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "checksum": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "date": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "freshness": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "source": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        }
      +      },
      +      "required": [
      +        "source",
      +        "date",
      +        "checksum",
      +        "freshness"
      +      ],
      +      "type": "object"
      +    },
      +    "receipt": {
      +      "oneOf": [
      +        {
      +          "type": "null"
      +        },
      +        {
      +          "additionalProperties": false,
      +          "properties": {
      +            "keyId": {
      +              "type": "string"
      +            },
      +            "publicKeyUrl": {
      +              "type": "string"
      +            },
      +            "receiptId": {
      +              "type": "string"
      +            },
      +            "signature": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "receiptId",
      +            "keyId",
      +            "signature",
      +            "publicKeyUrl"
      +          ],
      +          "type": "object"
      +        }
      +      ]
      +    },
      +    "retryable": {
      +      "type": "boolean"
      +    },
      +    "schemaVersion": {
      +      "const": "jithox.fleet-trust-contract/v1"
      +    }
      +  },
      +  "required": [
      +    "schemaVersion",
      +    "product",
      +    "capability",
      +    "decision",
      +    "decisionCategory",
      +    "data",
      +    "provenance",
      +    "limitations",
      +    "receipt",
      +    "billing",
      +    "retryable",
      +    "generatedAt"
      +  ],
      +  "title": "Jithox Fleet Trust Contract V1 — check_eu_import_measures",
      +  "type": "object"
      +}
  3. First observed

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond annotations (readOnlyHint=true, destructiveHint=false), the description adds valuable behavioral context: it returns statuses like 'not_ready', 'needs_review', and 'unavailable', notes that results are non-binding candidates, and states that every result includes source and validity window. This enriches the agent's understanding beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is four sentences, front-loaded with the core action, and each subsequent sentence adds value (status behavior, legal caveats, metadata). It is efficient, though slightly dense, so a 4 is deserved.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is adequately described for an agent to invoke correctly: it covers inputs, outputs, limitations, and safety profile. The output schema (implied) handles return value details, so the description doesn't overburden itself. This level of detail is sufficient for a 6-parameter tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has full descriptions for all 6 parameters, so the description doesn't need to add parameter details. It reinforces 'candidate TARIC code + origin' and 'dated snapshot' but adds no new meaning beyond the schema, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists EU-level import measures for a candidate TARIC code and origin, naming specific measure types. This distinguishes it from siblings like search_taric_codes or estimate_low_value_import_cost, which serve different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context (checking measures for classification) and provides a clear exclusion: TARIC carries no national VAT/excise, indicating when not to rely on this tool. However, it does not explicitly name alternative sibling tools, so it falls short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources