roamflat Flat configurator
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Unlimited travel eSIMs at 5–50 Mbps: live quotes by country, speed and days, plus a buy link.
| Author | com.roamflat |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 3041 ms |
| Last measured | 2026-10-26 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"roamflat Flat configurator": {
"url": "https://roamflat.com/wp-json/roamflat/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (8)
get_shop_factsread-onlyWhat roamflat is and how the Flat works, in the shop's own words: speeds, networks, when the days start, delivery, payment, refund policy, adding days, My Flat, e-mails, app, devices, support. Use for any question that is not a price.
Parameters:
bucket— string — Optional language-region bucket the customer shops in, e.g. en-gb, de-de (sets currency and link locale). Defaults from language.language— string — ISO language of the conversation, e.g. en, de, ja. Localizes country names and sets the language/currency of links and prices.
Hints: read-only yes · destructive no · idempotent yes · open-world no
list_destinationsread-onlyEvery country roamflat builds a Flat for, with the number of networks, whether 5G (and so 25/50 Mbps) is available, and the starting price per day (5 Mbps, cheapest network). Use to check coverage or compare countries.
Parameters:
bucket— string — Optional language-region bucket the customer shops in, e.g. en-gb, de-de (sets currency and link locale). Defaults from language.currency— string — Optional ISO 4217 override for prices.language— string — ISO language of the conversation, e.g. en, de, ja. Localizes country names and sets the language/currency of links and prices.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_flatsread-onlyThe networks of one country (operator, 5G) and the Flats built from them — each Flat with the networks it includes and the price for every speed for the given days (null = that speed needs a 5G network). Use to explain the choice between networks and speeds.
Parameters:
destination(required) — string — Country in ANY language or its ISO code, e.g. "Japan", "Japon", "jp". Map a city to its country first. One country per Flat.days— integer — Days of mobile data (1–30).bucket— string — Optional language-region bucket the customer shops in, e.g. en-gb, de-de (sets currency and link locale). Defaults from language.currency— string — Optional ISO 4217 override for prices.language— string — ISO language of the conversation, e.g. en, de, ja. Localizes country names and sets the language/currency of links and prices.
Hints: read-only yes · destructive no · idempotent yes · open-world no
quote_flatread-onlyUse while the customer is still deciding — "how much is …?": the exact price of one configuration (country, speed, days and optionally which Flat / networks), the server price the customer would pay. Quote it as returned, never compute or scale it yourself. The result carries a buy_url for reference; when the customer says they want to buy, call start_checkout instead.
Parameters:
destination(required) — string — Country in ANY language or its ISO code, e.g. "Japan", "Japon", "jp". Map a city to its country first. One country per Flat.days(required) — integer — Days of mobile data (1–30).flat— integer — Optional: which Flat of the country, as get_flats numbers them. Omit = the cheapest Flat that allows the speed.mbps— integer — Maximum speed in Mbps (5, 10, 25, 50; default 5). Data is unlimited at that speed. 25 Mbps and up need a 5G network.bucket— string — Optional language-region bucket the customer shops in, e.g. en-gb, de-de (sets currency and link locale). Defaults from language.currency— string — Optional ISO 4217 override for prices.language— string — ISO language of the conversation, e.g. en, de, ja. Localizes country names and sets the language/currency of links and prices.networks— array — Optional: operator names from get_flats that must be included (the cheapest Flat holding all of them is used). Ignored when flat is given.
Hints: read-only yes · destructive no · idempotent yes · open-world no
price_gridread-onlyPrices for several speed × days combinations of one Flat in one call (up to 8 day values; speeds default to all), e.g. to compare with other providers or to find the best fit. Same server prices as quote_flat.
Parameters:
destination(required) — string — Country in ANY language or its ISO code, e.g. "Japan", "Japon", "jp". Map a city to its country first. One country per Flat.days(required) — array — Up to 8 day values, e.g. [3,7,14,30].flat— integer — Optional: which Flat of the country, as get_flats numbers them. Omit = the cheapest Flat that allows the speed.mbps— array — Speeds to include (default all: 5, 10, 25, 50).bucket— string — Optional language-region bucket the customer shops in, e.g. en-gb, de-de (sets currency and link locale). Defaults from language.currency— string — Optional ISO 4217 override for prices.language— string — ISO language of the conversation, e.g. en, de, ja. Localizes country names and sets the language/currency of links and prices.networks— array — Optional: operator names from get_flats that must be included (the cheapest Flat holding all of them is used). Ignored when flat is given.
Hints: read-only yes · destructive no · idempotent yes · open-world no
recommend_configread-onlyUse when the customer describes the trip instead of a speed: country (or up to 5), days and what will be connected (devices: phone, phone_laptop, small_group, family, creator_posting, creator_live, creator_hd_live, creator_pro). Picks the speed from the roamflat speed guide and returns it server-quoted together with the step below and the step above (where offered), each with price, networks, a one-line reason and its buy_url, plus trip totals and an optional budget check. A speed that needs 5G in a country without 5G falls back to the highest speed there and says so. Prices are the same as quote_flat. Give destination (one country) or destinations (several) — one of the two is required; a call without a country fails with invalid_argument.
Parameters:
days(required) — integer — Days of mobile data (1–30).flat— integer — Optional: which Flat of the country, as get_flats numbers them. Omit = the cheapest Flat that allows the speed.bucket— string — Optional language-region bucket the customer shops in, e.g. en-gb, de-de (sets currency and link locale). Defaults from language.budget— number — Optional budget for the whole trip in the quoted currency; options above it are marked.devices— string — phone = one phone (5 Mbps); phone_laptop = phone + laptop; small_group = a travel router for two or three devices; family = one travel router for the whole family; creator_posting = stories, reels, TikToks; creator_live = going live from the phone; creator_hd_live = Full HD live streams; creator_pro = multi-camera live and 4K uploads. Default phone.currency— string — Optional ISO 4217 override for prices.language— string — ISO language of the conversation, e.g. en, de, ja. Localizes country names and sets the language/currency of links and prices.networks— array — Optional: operator names from get_flats that must be included (the cheapest Flat holding all of them is used). Ignored when flat is given.destination— string — Country in ANY language or its ISO code, e.g. "Japan", "Japon", "jp". Map a city to its country first. One country per Flat. Required unless destinations is given.per_country— array — Optional days per country for a multi-country trip.destinations— array — Several countries (max 5), any language or ISO codes. Use instead of destination for a multi-country trip. Required unless destination is given.
Hints: read-only yes · destructive no · idempotent yes · open-world no
plan_tripread-onlyA trip through several countries (max 5): one Flat per country, each quoted at the same speed and days unless given per country. Returns one line per country with price and buy_url, plus the total. Use when the customer names two or more countries and a speed (2–5 destinations); for one country call quote_flat; use recommend_config when they describe devices or usage instead.
Parameters:
destinations(required) — array — Countries of the trip (2–5), any language or ISO codes, in travel order.days— integer — Days of mobile data (1–30).mbps— integer — Maximum speed in Mbps (5, 10, 25, 50; default 5). Data is unlimited at that speed. 25 Mbps and up need a 5G network.bucket— string — Optional language-region bucket the customer shops in, e.g. en-gb, de-de (sets currency and link locale). Defaults from language.currency— string — Optional ISO 4217 override for prices.language— string — ISO language of the conversation, e.g. en, de, ja. Localizes country names and sets the language/currency of links and prices.per_country— array — Optional overrides per country (days and/or mbps).
Hints: read-only yes · destructive no · idempotent yes · open-world no
start_checkoutread-onlyUse only once the customer has decided to buy ("I'll take it", "how do I buy?"): the checkout handoff. 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 they press "Get your Flat" and pay securely. No account needed; the eSIM is delivered on screen and by email within seconds of payment. No in-chat order tracking, no discount codes. For prices while the customer is still comparing, use quote_flat.
Parameters:
destination(required) — string — Country in ANY language or its ISO code, e.g. "Japan", "Japon", "jp". Map a city to its country first. One country per Flat.days(required) — integer — Days of mobile data (1–30).flat— integer — Optional: which Flat of the country, as get_flats numbers them. Omit = the cheapest Flat that allows the speed.mbps— integer — Maximum speed in Mbps (5, 10, 25, 50; default 5). Data is unlimited at that speed. 25 Mbps and up need a 5G network.bucket— string — Optional language-region bucket the customer shops in, e.g. en-gb, de-de (sets currency and link locale). Defaults from language.currency— string — Optional ISO 4217 override for prices.language— string — ISO language of the conversation, e.g. en, de, ja. Localizes country names and sets the language/currency of links and prices.networks— array — Optional: operator names from get_flats that must be included (the cheapest Flat holding all of them is used). Ignored when flat is given.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.