Jithox EU Import Preflight
Server Details
Read-only EU import preflight over MCP: EORI, TARIC candidates, measures, low-value cost
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Available Tools
5 toolscheck_eu_import_measuresCheck EU import measures for a classificationARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| code | No | Candidate TARIC/CN code. | |
| date | No | ISO date to evaluate (defaults to today). | |
| itemCount | No | Number of items (optional). | |
| goodsValueEur | No | Customs value in EUR (optional). | |
| originCountry | No | ISO alpha-2 country of origin. | |
| destinationCountry | No | ISO alpha-2 EU destination. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| billing | Yes | |
| product | Yes | |
| receipt | Yes | |
| decision | Yes | |
| retryable | Yes | |
| capability | Yes | |
| provenance | Yes | |
| generatedAt | Yes | |
| limitations | Yes | |
| schemaVersion | Yes | |
| receiptEnvelope | No | |
| decisionCategory | Yes |
TDQS
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.
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.
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.
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.
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.
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.
estimate_low_value_import_costEstimate low-value import costARead-onlyInspect
Estimate the landed cost for a low-value consignment (intrinsic value ≤ EUR 150) to an EU state on a given date: EUR 150 duty relief until 2026-06-30, then the temporary EUR 3-per-item duty from 2026-07-01, plus destination import VAT. All amounts are candidates; missing data is returned as 'missing', never guessed. TARIC carries no national VAT/excise — those are separate. Every result carries its source, retrieval time and validity window.
| Name | Required | Description | Default |
|---|---|---|---|
| items | No | The consignment items. | |
| asOfDate | No | ISO date that selects the duty regime. | |
| currency | No | ISO 4217 currency of the values. | |
| iossUsed | No | Whether IOSS is used for VAT (optional). | |
| originCountry | No | ISO alpha-2 origin (optional). | |
| destinationCountry | No | ISO alpha-2 EU destination. | |
| destinationVatRatePercent | No | Destination VAT rate % (optional). |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| billing | Yes | |
| product | Yes | |
| receipt | Yes | |
| decision | Yes | |
| retryable | Yes | |
| capability | Yes | |
| provenance | Yes | |
| generatedAt | Yes | |
| limitations | Yes | |
| schemaVersion | Yes | |
| receiptEnvelope | No | |
| decisionCategory | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond readOnlyHint and destructiveHint, the description discloses key behaviors: all amounts are candidates, missing data is returned as 'missing' (never guessed), and every result carries source, retrieval time, and validity window. This significantly enhances transparency for a calculation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, front-loaded with purpose, and every sentence adds value: scope, date rules, missing-data policy, TARIC limitation, and result metadata. No redundant or wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is complex (7 params, layered duty rules), but the description covers the core calculation logic, exceptions, data handling, and output guarantees. With an output schema present, return values need not be described. The description is sufficiently complete for an agent to understand what this tool does and how to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% so baseline is 3. The description adds meaning by defining 'low-value' (≤ EUR 150), explaining the date-dependent duty relief and EUR 3 fee (relevant to asOfDate), and clarifying that TARIC does not include national VAT/excise (relevant to taricCandidate and destinationVatRatePercent). This enriches parameter understanding beyond schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool estimates landed cost for low-value consignments (≤ EUR 150) to an EU state, with specific verb 'estimate' and resource 'landed cost'. It distinguishes from siblings by focusing on cost calculation rather than checking measures, preparing receipts, searching codes, or validating EORI.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context: low-value consignments to EU states on a given date. It implies when to use (within the EUR 150 threshold) but does not explicitly name alternatives or exclusions. The caveat about TARIC lacking national VAT/excise adds partial usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prepare_import_preflight_receiptPrepare an import-preflight receiptARead-onlyInspect
Bundle the preflight checks (EORI, candidate classification, measures, cost) into one idempotent Ed25519-signed receipt committing to the inputs, sources, retrieval times and validity dates — provable evidence of WHAT was checked and WHEN. Attests the checks, not a compliance or clearance outcome. Read-only preflight; not customs/tax/legal advice, not a customs decision or clearance.
| Name | Required | Description | Default |
|---|---|---|---|
| bundle | Yes | The preflight results to attest (EORI/classification/measures/cost). | |
| createdAt | Yes | ISO timestamp the bundle was assembled. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| billing | Yes | |
| product | Yes | |
| receipt | Yes | |
| decision | Yes | |
| retryable | Yes | |
| capability | Yes | |
| provenance | Yes | |
| generatedAt | Yes | |
| limitations | Yes | |
| schemaVersion | Yes | |
| receiptEnvelope | No | |
| decisionCategory | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint=true, destructiveHint=false), the description discloses important behavioral traits: idempotency, Ed25519 signing, commitment to inputs/sources/times/dates, and the scope of attestation (checks, not compliance outcomes). This significantly enriches the agent's understanding of the tool's side effects and guarantees.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but efficient. It front-loads the primary action and packs critical details (idempotent, signed, read-only, legal disclaimer) into two coherent sentences with no filler. Every clause serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (two parameters, nested bundle object, output schema present) and rich annotations, the description is complete. It covers purpose, behavior, limitations, and the non-decision status, leaving no significant ambiguity for an agent deciding to invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (both bundle and createdAt have detailed descriptions). The description adds meaning by explaining that the bundle contains preflight results and that the receipt commits to inputs, sources, retrieval times, and validity dates, which clarifies the expected content of the 'bundle' parameter beyond the schema's brief mention.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies a clear action ('Bundle the preflight checks ... into one idempotent Ed25519-signed receipt') and resource (receipt). It distinguishes itself from sibling tools by focusing on packaging all preflight checks into a single attestation, rather than performing individual checks like EORI validation or cost estimation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use the tool (after preflight checks, to create provable evidence) and explicitly states exclusions ('not a customs decision or clearance', 'not customs/tax/legal advice'). It does not explicitly name alternative tools, but the sibling list makes it clear that individual check tools are alternatives for specific checks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_taric_codesSearch candidate TARIC classificationsARead-onlyInspect
From a plain-language product description, return CANDIDATE TARIC/CN codes from a dated TARIC snapshot, ranked with the evidence used. Returns 'needs_review' (candidates to confirm) or 'unavailable' when no snapshot is provisioned — never an invented code. 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.
| Name | Required | Description | Default |
|---|---|---|---|
| knownProperties | No | Optional known attributes (material, use, form). | |
| productDescription | No | Plain-language description of the good. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| billing | Yes | |
| product | Yes | |
| receipt | Yes | |
| decision | Yes | |
| retryable | Yes | |
| capability | Yes | |
| provenance | Yes | |
| generatedAt | Yes | |
| limitations | Yes | |
| schemaVersion | Yes | |
| receiptEnvelope | No | |
| decisionCategory | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnly, non-destructive), the description adds significant behavioral details: it returns 'needs_review' or 'unavailable', never invented codes, always includes source, retrieval time, and validity window, and clarifies that only a BTI binds. This provides rich context not captured in annotations, and aligns with them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loaded with the core purpose in the first sentence. Each subsequent sentence adds crucial caveats and behavioral guarantees without redundancy, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity, the description covers return conditions (needs_review/unavailable), data provenance (dated snapshot, source, retrieval time, validity), limitations (BTI binding, no VAT/excise), and safety (never invented). The output schema handles return structure, so the description is comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are already described (productDescription and knownProperties). The description only restates 'plain-language product description' without adding new semantics for either parameter. It does not clarify how knownProperties influences ranking or evidence, so it stays at baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: returning candidate TARIC/CN codes from a plain-language product description, ranked with evidence. This distinguishes it from sibling tools which handle measures, cost estimation, preflight receipts, and EORI validation, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage: from a plain-language product description, get candidate codes. It also provides when-not guidance by stating TARIC carries no national VAT/excise, signaling users should seek separate tools for those. However, it does not explicitly name alternative sibling tools, so it lacks explicit exclusions/alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_eoriValidate an EORI numberARead-onlyInspect
Structural check of an EORI number and, when the EU EOS provider is configured, an authoritative existence check. Provider outage or unknown status returns 'unavailable'/'needs_review', never a false 'invalid'. Structural validity is not proof of customs authorisation. Read-only preflight; not customs/tax/legal advice, not a customs decision or clearance.
| Name | Required | Description | Default |
|---|---|---|---|
| eori | No | An EORI number, e.g. "BE0123456749". |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| billing | Yes | |
| product | Yes | |
| receipt | Yes | |
| decision | Yes | |
| retryable | Yes | |
| capability | Yes | |
| provenance | Yes | |
| generatedAt | Yes | |
| limitations | Yes | |
| schemaVersion | Yes | |
| receiptEnvelope | No | |
| decisionCategory | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint, openWorldHint, destructiveHint), the description discloses critical behavior under provider outage or unknown status, stating it returns 'unavailable'/'needs_review' and never a false 'invalid'. It also clarifies the configuration dependency and disclaims legal/customs decision authority, adding substantial transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loaded with the core purpose, and every sentence contributes unique value (function, edge-case behavior, limitations). No redundant or filler content exists.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the single-parameter input, existing output schema, and annotations, the description covers the key operational aspects: conditional behavior, provider unavailability, the meaning of structural validity, and disclaimers. It is sufficiently complete for an agent to understand when and how to use it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema fully describes the 'eori' parameter with an example and length constraints (100% coverage). The description does not add further parameter-level semantics beyond the schema, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool performs a 'structural check' and, conditionally, an 'authoritative existence check' of an EORI number. This clearly differentiates it from siblings that handle import measures, costs, receipts, and tariff codes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context that this is a read-only preflight used for EORI validation, and it cautions against relying on structural validity as proof of customs authorisation. However, it does not explicitly name alternative tools for exclusion, so it falls short of a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user or an account that owns the GitHub organization, then choose Claim with GitHub.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Read-only EU counterparty sanctions preflight over MCP: screen names & identifiers, evidence
Read-only e-invoice readiness over MCP: VAT format, VIES, Peppol lookup, invoice & readiness
Read-only EU energy-label preflight over MCP: supplier-declared EPREL records, evidence-first
EU VIES VAT-number validation MCP (European Commission).
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceProvides 14 customs and trade operations as MCP tools, enabling AI agents to query tariff, track declarations, screen dual-use items, and generate AI-powered declarations.271MIT
- AlicenseNot gradedqualityCmaintenanceMCP server for international trade operations focused on Kazakhstan/EAEU/Central Asia routes, providing tools for landed cost calculation, HS classification, Incoterms guidance, logistics estimation, and currency conversion.29MIT
- FlicenseNot gradedqualityAmaintenanceRead-only MCP server that performs deterministic local preflights of agent-payment boundary documents and x402 v2 PaymentRequired JSON, and prepares unsubmitted public quote-request drafts without network calls or fund movement.
- AlicenseAqualityCmaintenanceEnables MCP-capable agents to validate EU VAT numbers, IBANs, and EORI customs numbers, look up company data by LEI or VAT, and fetch current VAT rates, with built-in service health checks.7MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Each tool targets a distinct aspect of the preflight workflow: classification, measures, cost, EORI validation, and receipt generation. There is no overlap in purpose, and the descriptions reinforce the boundaries. An agent can accurately select the right tool for a given step.
All tool names follow a consistent verb_noun pattern with snake_case: check_, estimate_, prepare_, search_, validate_. This makes the tools predictable and easy to navigate. No mixed conventions or ambiguous verbs.
Five tools is well-scoped for an EU import preflight service. Each tool earns its place by covering a key step in the workflow, from product classification to cost estimation and evidence generation. There is no bloat or missing essential function.
The tool surface covers the full preflight lifecycle: search codes, check measures, estimate cost for low-value consignments, validate EORI, and bundle results into a signed receipt. The descriptions explicitly call out out-of-scope areas (national VAT/excise) so gaps are intentional. No dead ends or missing critical operations for the stated purpose.