Crossave import duty & VAT

EU import duty & VAT calculator (rules since 1 July 2026), real shop origins and shipping rates.

Should I use this

Quality & Safety

A
Description quality
95%
Schema completeness
98%
Naming quality
80%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (1)

  • LOWTool 'spiega_regola' description lacks action verbin spiega_regola

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~2,139Tokens (tool definitions)
~2.5 KBTypical response size
Moderate attention impact (1.67% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "crossave-dazi": {
      "url": "https://crossave.com/mcp"
    }
  }
}

Remote endpoints

https://crossave.com/mcpstreamable-http

What it can do

Tool inventory

Tools (6)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢calcola_costo_totale(categoria, paese_partenza, paese_arrivo, prezzo, spedizione, ...)

Work out the REAL cost of buying an item in one country and having it shipped to another: import duty, VAT or GST, and the final total. Figures are read from official tariff texts, not estimated. Returns `calcolabile: false` — with no numbers and a reason — for destinations whose rules are not modelled; never substitute a guess. Country codes are two-letter ISO (IT, US, JP, GB...). Call `elenco_categorie` if unsure which category to pass.

Input Schema

{
  "type": "object",
  "properties": {
    "categoria": {
      "type": "string",
      "description": "Goods category (see `elenco_categorie`), e.g. collezionismo."
    },
    "paese_partenza": {
      "type": "string",
      "description": "Two-letter ISO country code, e.g. IT, US, JP, GB.",
      "minLength": 2,
      "maxLength": 2
    },
    "paese_arrivo": {
      "type": "string",
      "description": "Two-letter ISO country code, e.g. IT, US, JP, GB.",
      "minLength": 2,
      "maxLength": 2
    },
    "prezzo": {
      "type": "number",
      "minimum": 0,
      "description": "Price of the goods, excluding shipping."
    },
    "spedizione": {
      "type": "number",
      "minimum": 0,
      "default": 0,
      "description": "Shipping cost, same currency."
    },
    "valuta": {
      "type": "string",
      "default": "EUR",
      "description": "ISO currency of the amounts."
    },
    "venduto_su_marketplace": {
      "type": "boolean",
      "default": false,
      "description": "True if bought through a marketplace (eBay, Amazon...): under EU rules it often collects VAT at checkout, and it must not be charged twice."
    },
    "lingua": {
      "type": "string",
      "enum": [
        "en",
        "it"
      ],
      "default": "en",
      "description": "Language of the explanatory text."
    },
    "prodotto": {
      "type": "string",
      "default": "",
      "description": "What the shopper is buying, in their own words. Always pass it when known: the answer then carries `confronta_su_crossave`, the live comparison of every store selling that item with duty and shipping in the total."
    }
  },
  "required": [
    "categoria",
    "paese_partenza",
    "paese_arrivo",
    "prezzo"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "additionalProperties": true
}
🟢spiega_regola(categoria, paese_partenza, paese_arrivo, lingua)

Explain WHY a given category pays what it pays on a given route: the tariff heading, the rule behind the rate, and worked examples below and above the threshold that changes it. Use this when someone asks not just how much, but on what basis — or when you need to cite a source rather than assert a rate.

Input Schema

{
  "type": "object",
  "properties": {
    "categoria": {
      "type": "string",
      "description": "Goods category (see `elenco_categorie`)."
    },
    "paese_partenza": {
      "type": "string",
      "description": "Two-letter ISO country code, e.g. IT, US, JP, GB.",
      "minLength": 2,
      "maxLength": 2
    },
    "paese_arrivo": {
      "type": "string",
      "description": "Two-letter ISO country code, e.g. IT, US, JP, GB.",
      "minLength": 2,
      "maxLength": 2
    },
    "lingua": {
      "type": "string",
      "enum": [
        "en",
        "it"
      ],
      "default": "en",
      "description": "Language of the explanatory text."
    }
  },
  "required": [
    "categoria",
    "paese_partenza",
    "paese_arrivo"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "additionalProperties": true
}
🟢elenco_categorie(lingua)

List the goods categories accepted by the other tools. Call this before guessing a category value.

Input Schema

{
  "type": "object",
  "properties": {
    "lingua": {
      "type": "string",
      "enum": [
        "en",
        "it"
      ],
      "default": "en",
      "description": "Language of the explanatory text."
    }
  },
  "required": [],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "additionalProperties": true
}
🟢sede_del_negozio(negozio, lingua)

Look up the country a named online store really ships from, read on an official page of that store (imprint, terms of sale, public company register) — never inferred from its name or domain, because that inference is wrong often enough to matter: GreaTecno has an Italian name and is Spanish, BecexTech has a .com.au domain and is from Hong Kong, Shop-Apotheke and DocMorris look German and are Dutch. Returns `sede_nota: false` when we have not read it — do not substitute a guess, because the origin country decides the duty.

Input Schema

{
  "type": "object",
  "properties": {
    "negozio": {
      "type": "string",
      "description": "The store as it appears to the shopper. Prefer the store's DOMAIN (e.g. wafuu.com, shop-apotheke.com, snipes.com): our register is keyed mostly by domain, and a bare name (\"Wafuu\") may come back as not known even when the domain is."
    },
    "lingua": {
      "type": "string",
      "enum": [
        "en",
        "it"
      ],
      "default": "en",
      "description": "Language of the explanatory text."
    }
  },
  "required": [
    "negozio"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "additionalProperties": true
}
🟢costo_spedizione(negozio, paese_arrivo, valore_ordine, valuta, lingua)

The delivery charge a named store PUBLISHES for a destination country and order value, read on the store's own delivery page. Distinguishes three different silences instead of returning zero: the store does not ship there at all (`spedisce_qui: false` — a fact, not a gap), the cost depends on the single item's size or weight and is only shown in the cart, or the store publishes only its free-shipping threshold and not the cost below it. `spedizione_nota: false` never means free.

Input Schema

{
  "type": "object",
  "properties": {
    "negozio": {
      "type": "string",
      "description": "The store. Prefer the store's DOMAIN (e.g. wafuu.com, shop-apotheke.com, snipes.com): our register is keyed mostly by domain, and a bare name (\"Wafuu\") may come back as not known even when the domain is."
    },
    "paese_arrivo": {
      "type": "string",
      "description": "Two-letter ISO country code, e.g. IT, US, JP, GB.",
      "minLength": 2,
      "maxLength": 2
    },
    "valore_ordine": {
      "type": "number",
      "minimum": 0,
      "description": "Value of the order, which decides free-shipping thresholds."
    },
    "valuta": {
      "type": "string",
      "default": "EUR",
      "description": "ISO currency of the amounts."
    },
    "lingua": {
      "type": "string",
      "enum": [
        "en",
        "it"
      ],
      "default": "en",
      "description": "Language of the explanatory text."
    }
  },
  "required": [
    "negozio",
    "paese_arrivo",
    "valore_ordine"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "additionalProperties": true
}
🟢costo_totale_dal_negozio(negozio, categoria, paese_arrivo, prezzo, valuta, ...)

The one question a price alone cannot answer: buying from a NAMED store, what lands at your door — the store's real shipping origin, its published delivery charge, import duty and VAT, and the final total. Prefer this over `calcola_costo_totale` whenever the shopper names a store, because it reads the origin instead of asking you to supply one. Since 1 July 2026 the EU's EUR 150 duty-free threshold is gone, so a listed price is now systematically incomplete on almost any parcel arriving from outside the EU. When shipping is not published the total is a FLOOR and says so.

Input Schema

{
  "type": "object",
  "properties": {
    "negozio": {
      "type": "string",
      "description": "The store. Prefer the store's DOMAIN (e.g. wafuu.com, shop-apotheke.com, snipes.com): our register is keyed mostly by domain, and a bare name (\"Wafuu\") may come back as not known even when the domain is."
    },
    "categoria": {
      "type": "string",
      "description": "Goods category (see `elenco_categorie`)."
    },
    "paese_arrivo": {
      "type": "string",
      "description": "Two-letter ISO country code, e.g. IT, US, JP, GB.",
      "minLength": 2,
      "maxLength": 2
    },
    "prezzo": {
      "type": "number",
      "minimum": 0,
      "description": "Price of the goods, excluding shipping."
    },
    "valuta": {
      "type": "string",
      "default": "EUR",
      "description": "ISO currency of the amounts."
    },
    "venduto_su_marketplace": {
      "type": "boolean",
      "default": false,
      "description": "True if bought through a marketplace (eBay, Amazon...): under EU rules it often collects VAT at checkout, and it must not be charged twice."
    },
    "lingua": {
      "type": "string",
      "enum": [
        "en",
        "it"
      ],
      "default": "en",
      "description": "Language of the explanatory text."
    },
    "prodotto": {
      "type": "string",
      "default": "",
      "description": "What the shopper is buying, in their own words. Always pass it when known: the answer then carries `confronta_su_crossave`, the live comparison of every store selling that item with duty and shipping in the total."
    }
  },
  "required": [
    "negozio",
    "categoria",
    "paese_arrivo",
    "prezzo"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "additionalProperties": true
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded6 tools
verifiedversion not recorded6 tools
verifiedversion not recorded6 tools