variotrip route eSIM configurator

One travel eSIM for up to 8 countries: live quotes by route, GB, days and networks, plus a buy link.

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
100%
Vollständigkeit des Schemas
97%
Qualität der Benennung
91%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~3,632Tokens (Tool-Definitionen)
~4.9 KBTypische Antwortgröße
Erhebliche Auswirkung auf die Aufmerksamkeit (2.84% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

{
  "mcpServers": {
    "esim-catalog": {
      "url": "https://variotrip.com/wp-json/variotrip/mcp"
    }
  }
}

Remote-Endpunkte

https://variotrip.com/wp-json/variotrip/mcpstreamable-http

Was es kann

Tool-Inventar

Tools (7)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢get_shop_facts(language, bucket)

What variotrip is and how it works, in the shop’s own words: one mobile-data eSIM for the whole route, one shared data pool, the trip length, ranges, delivery, payment, hotspot, activation, top-ups (data, days or a country), router activation, e-mails, support. Use for any question that is not a price.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "language": {
      "type": "string",
      "description": "ISO language of the conversation, e.g. en, de, ja. Localizes country names and sets the language/currency of links and prices."
    },
    "bucket": {
      "type": "string",
      "description": "Optional language-region bucket the customer shops in, e.g. en-gb, de-de (sets currency and link locale). Defaults from language."
    }
  }
}
🟢list_destinations(language, bucket, currency)

Every country variotrip can put on a route, with the number of selectable networks and the starting price of a one-country route (1 GB · 7 days · cheapest network). Use to check coverage or to see which countries of a trip are available.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "language": {
      "type": "string",
      "description": "ISO language of the conversation, e.g. en, de, ja. Localizes country names and sets the language/currency of links and prices."
    },
    "bucket": {
      "type": "string",
      "description": "Optional language-region bucket the customer shops in, e.g. en-gb, de-de (sets currency and link locale). Defaults from language."
    },
    "currency": {
      "type": "string",
      "description": "Optional ISO 4217 override for prices."
    }
  }
}
🟢get_networks(destination, language, bucket, currency)

The mobile networks the customer can tick for one country (operator name, 4G/5G) with the price of a reference one-country route on each network alone (1 GB · 7 days), so you can say which network is the cheapest and what the others add.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "destination": {
      "type": "string",
      "description": "Country in ANY language or its ISO code, e.g. \"Japan\", \"Japon\", \"jp\". Map a city to its country first."
    },
    "language": {
      "type": "string",
      "description": "ISO language of the conversation, e.g. en, de, ja. Localizes country names and sets the language/currency of links and prices."
    },
    "bucket": {
      "type": "string",
      "description": "Optional language-region bucket the customer shops in, e.g. en-gb, de-de (sets currency and link locale). Defaults from language."
    },
    "currency": {
      "type": "string",
      "description": "Optional ISO 4217 override for prices."
    }
  },
  "required": [
    "destination"
  ]
}
🟢quote_route(route, gb, days, language, bucket, ...)

Use while the customer is still deciding — "how much is …?": the exact price of ONE eSIM for the whole route — the countries in travel order (1–8) with their networks, ONE data pool in GB for all of them and the trip length — the server price the customer would pay. A single country is a route of one. Quote it as returned, never compute, add up or scale it yourself. The result carries a buy_url for reference; when the customer says they want to buy, call start_checkout.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "route": {
      "type": "array",
      "minItems": 1,
      "maxItems": 8,
      "description": "The countries of the trip in travel order (1–8, each once).",
      "items": {
        "type": "object",
        "properties": {
          "destination": {
            "type": "string",
            "description": "Country in ANY language or its ISO code, e.g. \"Vietnam\", \"Viêt Nam\", \"vn\". Map a city to its country first."
          },
          "networks": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Optional: operator names (or codes) from get_networks for this country. Omit = its cheapest network."
          }
        },
        "required": [
          "destination"
        ]
      }
    },
    "gb": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "description": "The data pool for the WHOLE route in whole GB (1–100), shared by every country. Omit = sized for normal use (1.5 GB × days). Not sure? Call recommend_config."
    },
    "days": {
      "type": "integer",
      "minimum": 1,
      "maximum": 90,
      "description": "Trip length in days (1–90) for the whole route, counted from the first connection anywhere on the route."
    },
    "language": {
      "type": "string",
      "description": "ISO language of the conversation, e.g. en, de, ja. Localizes country names and sets the language/currency of links and prices."
    },
    "bucket": {
      "type": "string",
      "description": "Optional language-region bucket the customer shops in, e.g. en-gb, de-de (sets currency and link locale). Defaults from language."
    },
    "currency": {
      "type": "string",
      "description": "Optional ISO 4217 override for prices."
    }
  },
  "required": [
    "route",
    "days"
  ]
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "route": {
      "type": "array",
      "description": "The countries on the eSIM in travel order with the networks of each.",
      "items": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "destination": {
            "type": "string",
            "description": "Country name (localized)."
          },
          "iso": {
            "type": "string",
            "description": "ISO 3166-1 alpha-2, lower case."
          },
          "networks": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Operator names included for this country."
          },
          "networks_unmatched": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Requested names this country does not have."
          }
        }
      }
    },
    "countries": {
      "type": "integer"
    },
    "data_gb": {
      "type": "integer",
      "description": "ONE data pool for every country on the route (whole GB), used wherever the customer is."
    },
    "days": {
      "type": "integer",
      "description": "Trip length, counted from the first connection anywhere on the route."
    },
    "price": {
      "type": "number",
      "description": "FULL price of this route in currency — the amount paid. Not per day, per GB or per country."
    },
    "currency": {
      "type": "string"
    },
    "price_basis": {
      "type": "string",
      "enum": [
        "total"
      ]
    },
    "price_is_final": {
      "type": "boolean"
    },
    "hotspot": {
      "type": "boolean"
    },
    "activation_trigger": {
      "type": "string",
      "description": "first_connection (anywhere on the route)"
    },
    "topup": {
      "type": "object",
      "additionalProperties": true,
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "route"
          ]
        },
        "how": {
          "type": "string"
        }
      },
      "description": "How the customer adds data, days or a country later (not through the tools)."
    },
    "not_available": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Requested countries variotrip cannot add (left out of the quote)."
    },
    "note": {
      "type": "string",
      "description": "Present when something about the request had to be adjusted — read it to the customer."
    },
    "buy_url": {
      "type": "string",
      "description": "The route builder pre-set to exactly this route. Use verbatim."
    }
  },
  "additionalProperties": true
}
🟢recommend_config(route, days, usage, gb_per_day, budget, ...)

Use when the customer describes a trip instead of a size: the countries (with the days in each, when known) and how they use data (usage light / normal / heavy, or gb_per_day). Sizes the shared pool from the trip length and returns three server-quoted routes — exact, comfortable (×1.5) and generous (×2) — each with the pool in GB, the full price, a one-line reason and its buy_url, plus an optional budget check. Same prices as quote_route.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "route": {
      "type": "array",
      "minItems": 1,
      "maxItems": 8,
      "description": "The countries of the trip in travel order (1–8, each once).",
      "items": {
        "type": "object",
        "properties": {
          "destination": {
            "type": "string",
            "description": "Country in ANY language or its ISO code, e.g. \"Vietnam\", \"Viêt Nam\", \"vn\". Map a city to its country first."
          },
          "networks": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Optional: operator names (or codes) from get_networks for this country. Omit = its cheapest network."
          },
          "days_in_country": {
            "type": "integer",
            "minimum": 1,
            "maximum": 90,
            "description": "Days the customer spends in this country. Without days, the trip length is the sum of the days_in_country given; with neither, the call fails with invalid_argument and asks for days."
          }
        },
        "required": [
          "destination"
        ]
      }
    },
    "days": {
      "type": "integer",
      "minimum": 1,
      "maximum": 90,
      "description": "Trip length in days (1–90). Give days, or days_in_country on the countries (then the trip length is their sum). With neither, the call fails with invalid_argument asking for days."
    },
    "usage": {
      "type": "string",
      "enum": [
        "light",
        "normal",
        "heavy"
      ],
      "description": "light ≈ 0.5 GB/day, normal ≈ 1.5 GB/day (default), heavy ≈ 4 GB/day."
    },
    "gb_per_day": {
      "type": "number",
      "minimum": 0.1,
      "maximum": 100,
      "description": "Optional: the customer's own estimate in GB per day (wins over usage)."
    },
    "budget": {
      "type": "number",
      "description": "Optional budget for the whole route in the quoted currency; options above it are marked."
    },
    "language": {
      "type": "string",
      "description": "ISO language of the conversation, e.g. en, de, ja. Localizes country names and sets the language/currency of links and prices."
    },
    "bucket": {
      "type": "string",
      "description": "Optional language-region bucket the customer shops in, e.g. en-gb, de-de (sets currency and link locale). Defaults from language."
    },
    "currency": {
      "type": "string",
      "description": "Optional ISO 4217 override for prices."
    }
  },
  "required": [
    "route"
  ]
}
🟢price_grid(route, days, gb, language, bucket, ...)

The same route priced for several trip lengths (days, max 8) and several pool sizes (gb, max 6), in one call — e.g. to compare with other providers or to find the best fit. Same server prices as quote_route; each cell has its own buy_url.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "route": {
      "type": "array",
      "minItems": 1,
      "maxItems": 8,
      "description": "The countries of the trip in travel order (1–8, each once).",
      "items": {
        "type": "object",
        "properties": {
          "destination": {
            "type": "string",
            "description": "Country in ANY language or its ISO code, e.g. \"Vietnam\", \"Viêt Nam\", \"vn\". Map a city to its country first."
          },
          "networks": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Optional: operator names (or codes) from get_networks for this country. Omit = its cheapest network."
          }
        },
        "required": [
          "destination"
        ]
      }
    },
    "days": {
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": 1,
        "maximum": 90
      },
      "minItems": 1,
      "maxItems": 8,
      "description": "Up to 8 trip lengths, e.g. [7,14,21,30]."
    },
    "gb": {
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": 1,
        "maximum": 100
      },
      "maxItems": 6,
      "description": "Optional: up to 6 pool sizes for the whole route in whole GB, e.g. [5,10,20]. Omit = sized for normal use from each trip length."
    },
    "language": {
      "type": "string",
      "description": "ISO language of the conversation, e.g. en, de, ja. Localizes country names and sets the language/currency of links and prices."
    },
    "bucket": {
      "type": "string",
      "description": "Optional language-region bucket the customer shops in, e.g. en-gb, de-de (sets currency and link locale). Defaults from language."
    },
    "currency": {
      "type": "string",
      "description": "Optional ISO 4217 override for prices."
    }
  },
  "required": [
    "route",
    "days"
  ]
}
🟢start_checkout(route, gb, days, language, bucket, ...)

Use only once the customer has decided to buy ("I'll take it", "how do I buy?"): the checkout handoff for one route (same input as quote_route). Returns the buy_url to give the customer, the final price and a ready-to-send checkout block (next_step, payment_methods, delivery) — on the page the route builder shows exactly this route; they press "Get it" and pay securely. No account needed; the eSIM is delivered on screen and by e-mail right after payment. No in-chat order tracking, no discount codes. For prices while the customer is still comparing, use quote_route.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "route": {
      "type": "array",
      "minItems": 1,
      "maxItems": 8,
      "description": "The countries of the trip in travel order (1–8, each once).",
      "items": {
        "type": "object",
        "properties": {
          "destination": {
            "type": "string",
            "description": "Country in ANY language or its ISO code, e.g. \"Vietnam\", \"Viêt Nam\", \"vn\". Map a city to its country first."
          },
          "networks": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Optional: operator names (or codes) from get_networks for this country. Omit = its cheapest network."
          }
        },
        "required": [
          "destination"
        ]
      }
    },
    "gb": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "description": "The data pool for the WHOLE route in whole GB (1–100), shared by every country. Omit = sized for normal use (1.5 GB × days). Not sure? Call recommend_config."
    },
    "days": {
      "type": "integer",
      "minimum": 1,
      "maximum": 90,
      "description": "Trip length in days (1–90) for the whole route, counted from the first connection anywhere on the route."
    },
    "language": {
      "type": "string",
      "description": "ISO language of the conversation, e.g. en, de, ja. Localizes country names and sets the language/currency of links and prices."
    },
    "bucket": {
      "type": "string",
      "description": "Optional language-region bucket the customer shops in, e.g. en-gb, de-de (sets currency and link locale). Defaults from language."
    },
    "currency": {
      "type": "string",
      "description": "Optional ISO 4217 override for prices."
    }
  },
  "required": [
    "route",
    "days"
  ]
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "route": {
      "type": "array",
      "description": "The countries on the eSIM in travel order with the networks of each.",
      "items": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "destination": {
            "type": "string",
            "description": "Country name (localized)."
          },
          "iso": {
            "type": "string",
            "description": "ISO 3166-1 alpha-2, lower case."
          },
          "networks": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Operator names included for this country."
          },
          "networks_unmatched": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Requested names this country does not have."
          }
        }
      }
    },
    "countries": {
      "type": "integer"
    },
    "data_gb": {
      "type": "integer",
      "description": "ONE data pool for every country on the route (whole GB), used wherever the customer is."
    },
    "days": {
      "type": "integer",
      "description": "Trip length, counted from the first connection anywhere on the route."
    },
    "price": {
      "type": "number",
      "description": "FULL price of this route in currency — the amount paid. Not per day, per GB or per country."
    },
    "currency": {
      "type": "string"
    },
    "price_basis": {
      "type": "string",
      "enum": [
        "total"
      ]
    },
    "price_is_final": {
      "type": "boolean"
    },
    "hotspot": {
      "type": "boolean"
    },
    "activation_trigger": {
      "type": "string",
      "description": "first_connection (anywhere on the route)"
    },
    "topup": {
      "type": "object",
      "additionalProperties": true,
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "route"
          ]
        },
        "how": {
          "type": "string"
        }
      },
      "description": "How the customer adds data, days or a country later (not through the tools)."
    },
    "not_available": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Requested countries variotrip cannot add (left out of the quote)."
    },
    "note": {
      "type": "string",
      "description": "Present when something about the request had to be adjusted — read it to the customer."
    },
    "buy_url": {
      "type": "string",
      "description": "The route builder pre-set to exactly this route. Use verbatim."
    },
    "next_step": {
      "type": "string",
      "description": "What the customer does now: open buy_url, press \"Get it\", pay."
    },
    "payment_methods": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "delivery": {
      "type": "string",
      "description": "How and when the eSIM arrives."
    },
    "message": {
      "type": "string",
      "description": "A ready-to-send line for the customer."
    }
  },
  "required": [
    "buy_url",
    "price",
    "currency",
    "next_step"
  ],
  "additionalProperties": true
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet7 Tools