Compare eSIMs with your AI.

Connect Claude or ChatGPT. Use Grok through the xAI API.

Your MCP connection

https://roamsonar.com/mcp

流式 HTTP · No authentication · Read-only

Choose your AI assistant

ClaudeWeb & desktop · View setup steps
  1. Open Customize → Connectors, then choose + Add → Add custom connector.
  2. Name it RoamSonar, paste the server URL and continue. Select No sign in; leave credentials empty.
  3. Add the connector. In a chat, use + → Connectors to enable RoamSonar and try a trip comparison.

Custom connectors require a supported plan. A team workspace may need its owner to add the connector first.

Official Claude setup guide →

ChatGPTCustom MCP plugin · View setup steps
  1. In ChatGPT on the web, open Plugins. Use the plus button and choose Create custom MCP server.
  2. Enter RoamSonar and paste the server URL. Choose No authentication, review the permissions and create the plugin.
  3. Install the resulting plugin. In a conversation, type @, select RoamSonar and ask for a trip comparison.

If the option is missing, check your workspace’s custom-server permissions.

Official ChatGPT setup guide →

GrokVia the xAI API · View integration steps

Connect Grok through an app using the xAI API. This is not a Grok.com one-click installer.

  1. Use an xAI API account and a model with remote MCP support.
  2. Add this object to the Responses API request’s tools array.
  3. Ask Grok to use RoamSonar for your destination, trip length and data needs.
{
  "type": "mcp",
  "server_url": "https://roamsonar.com/mcp",
  "server_label": "roamsonar",
  "allowed_tools": [
    "list_destinations",
    "search_esim_plans"
  ]
}

Your xAI API key authenticates with xAI, not with RoamSonar. Official xAI remote MCP guide →

Other MCP assistants

Use the same URL in any client that supports remote Streamable HTTP MCP with no authentication. Client availability and setup vary.

Codex

codex mcp add roamsonar --url https://roamsonar.com/mcp

Run the command with Codex CLI installed, then restart your session. Use codex mcp list 或 /mcp to check the connection. Codex MCP guide →

Claude Code

claude mcp add --transport http roamsonar https://roamsonar.com/mcp

Run the command from your project, then use /mcp in Claude Code. Keep tool-approval prompts enabled. Claude Code MCP guide →

Connected? Ask about your trip.

Use your own destination and trip length. The assistant can look up a country code with list_destinations, then compare plans.

A quick trip comparison

Use RoamSonar to compare eSIMs for Japan (JP), 10 days, normal data use, sorted by cheapest. Show five options with data allowance, validity, total USD price and coupon conditions. Include linked Data by RoamSonar attribution. Do not open purchase links.

Maps, messages and occasional browsing

Use RoamSonar for a 7-day trip to Italy (IT), light data use, sorted by recommended. Explain daily versus total allowances and flag any unknown hotspot support. Include linked Data by RoamSonar attribution. Do not open purchase links.

Unlimited, with the limits explained

Use RoamSonar to compare Thailand (TH) for 14 days with unlimited data need. Explain any daily high-speed caps and throttling in the results, without guessing missing features. Include linked Data by RoamSonar attribution. Do not open purchase links.

Ask for a short table with provider, allowance, validity, total USD price, coupon terms and a purchase link. Include 数据由 RoamSonar 提供 beneath it. The traveller chooses a link; the assistant must not open or test it automatically.

Two tools. Clear, structured results.

ToolInputReturns
list_destinations{}Country names and ISO-2 codes; up to 300 destinations.
search_esim_planscountry, days, need; optional sortUp to 20 plans in one requested order, with attribution and price-check age.

Search inputs

参数Accepted values
国家Uppercase ISO-2 code, such as JP, IT or TH.
天Whole number from 1 to 90.
需要light, normal, heavy or unlimited.
sortrecommended (default), cheapest or fastest.

Example tool call

{
  "name": "search_esim_plans",
  "arguments": {
    "country": "JP",
    "days": 10,
    "need": "normal",
    "sort": "cheapest"
  }
}
Format or fieldHow to use it
MCPJSON-RPC over Streamable HTTP. Results contain JSON text and, for newer negotiated versions, structuredContent.
currency / effective_price_usdUSD prices. Keep coupon eligibility alongside the price; cashback is not an instant discount.
plan_kind / data_mb / daily_mbtotal, daily or unlimited. Data is in MB; do not label a daily allowance as a total allowance.
validity_days / featuresDuration and supplied capabilities. Missing or null values are unknown, not a yes.
generated_at / prices_checked_minutes_agoResponse generation time and catalogue price-check age are different. Neither proves a checkout price check.
attribution / usage_policy / go_urlKeep linked attribution and returned purchase URLs. Never automatically request purchase links.

The assistant can format these results as a table or shortlist. The MCP does not provide images, an embedded shopping app, CSV exports, resources or booking tools. See 排名方法 套餐.

Transport details for developers
POST https://roamsonar.com/mcp
Content-Type: application/json
Accept: application/json, text/event-stream
MCP-Protocol-Version: <negotiated version>

Initialize first. Supported versions: November 2025, June 2025 and March 2025. One JSON-RPC message per request; 8 KiB request maximum. Result JSON is limited to 64 KiB before the text/structured copies. There is no persistent SSE stream or session; GET returns 405. Server-side clients omit Origin; browser-origin calls must be same-origin.

Prefer a plain JSON API?

Use the same catalogue without an MCP client. One plan response includes up to 20 results in each of Recommended, Cheapest and Fastest.

GET https://roamsonar.com/api/v1/plans?country=JP&days=10&need=normal

Use /api/v1/countries for destination codes. The plan endpoint accepts the same country, days and need values. Its optional include=variants adds a bounded duration comparison, not a catalogue export. REST and MCP share the allowances below.

Fair use. Proper credit. No automated clicks.

Every visible comparison needs linked attribution: 数据由 RoamSonar 提供. Keep it beside the results, not only in hidden metadata.
[Data by RoamSonar](https://roamsonar.com)
  • Use it for a traveller’s request. Individual trip research, light travel-assistant integrations and attributed journalism are welcome.
  • Preserve the context. Keep coupon conditions, plan type, unknown features, freshness and returned purchase links intact.
  • Purchase links are for people. No programmatic GET or HEAD requests, prefetching, crawling, link validation or automated checkout visits.
  • Do not copy the catalogue. Bulk scraping, country/date enumeration, mirroring, raw-feed resale and quota evasion are not permitted.
  • Protect private information. Send only trip inputs. These tools do not need a name, email, passport, payment details or precise location.

Attribution and use rules are included in the MCP instructions and results. These rules do not make abuse impossible: server-side quotas and purchase-link protections also apply. Contact us before sustained or higher-volume use. Access may be restricted for misuse; public access is not an uptime or capacity guarantee.

Shared light-use limits

要求每个网络地址共享服务预算
Plan comparisons (REST + MCP)12/minute · 120/UTC 日2,000/UTC 日
目的地列表和健康检查30/minute · 300/UTC 日10,000/UTC 日
未缓存的计划比较Already included in the plan quota250/UTC 日;缓存的匹配仍然可用

Allowances apply to IPv4 addresses and IPv6 /64 networks, including cached requests. Offices, mobile networks and hosted AI clients can share a quota. Reconnecting or switching client names does not reset it. Additional edge burst limits apply.

Cache comparisons for 15 minutes; destinations for one hour. Health snapshots can be five minutes old; uncached health checks have a separate 500/day service budget. Do not poll for every chat turn or run background catalogue sweeps.

On 429, respect Retry-After. It is measured in seconds. X-RateLimit-Limit, X-RateLimit-Remaining 和 X-RateLimit-Reset describe the applicable quota window; reset is Unix seconds. A 503 means protection or data is temporarily unavailable. Do not retry either error in a tight loop. See our 隐私政策 对于短暂的滥用预防计数器。

MCP connection FAQs

Do I need a RoamSonar API key?

No. Choose no authentication for the public MCP. Light use is free and capacity-limited. Your AI app may require its own subscription or API account; RoamSonar does not provide model access.

How do I connect my AI assistant?

Copy the MCP server URL, open your assistant’s connector settings and add RoamSonar with no authentication. Then enable it in your conversation. Claude and ChatGPT have step-by-step guides above; Grok uses the xAI API. Pasting a URL into an ordinary chat does not install a tool.

Can I use this on Grok.com?

The documented Grok integration here uses remote MCP tools through the xAI API. It is not a one-click Grok.com installation. Use an xAI API account and a model that supports remote MCP tools.

Why does opening the MCP URL show an error?

The endpoint accepts MCP JSON-RPC POST requests, not normal web-page visits. A browser GET can return 405; that is expected. Add the URL in a Streamable HTTP MCP client and check that both tools appear.

Why do I get a 429 response or no connection?

Wait for the Retry-After interval rather than retrying repeatedly. Hosted assistants, offices and mobile networks can share an allowance. Check your app permits custom remote MCP servers, select no authentication, and enable the connector in your conversation. A 503 means the service or its protection layer is temporarily unavailable.

Are these live quotes, and can the MCP buy an eSIM?

Results come from RoamSonar’s cached catalogue, not a fresh checkout request. Keep the returned price-check age and coupon conditions visible. The two tools only read comparisons and destinations; they cannot book, pay, install an eSIM or open a provider’s checkout.

Can my agent open the purchase links to verify them?

No. Do not fetch, HEAD-check, prefetch, crawl or automatically open purchase or affiliate links. Preserve the returned links for a traveller’s deliberate selection. Automated link checking creates unwanted affiliate traffic and is not permitted.

Can I republish the catalogue or remove the attribution?

No. Visible comparisons must include Data by RoamSonar linked to roamsonar.com, with coupon conditions and purchase links preserved. Catalogue mirroring, bulk exports, resale, country/date enumeration and quota evasion are not permitted. Contact us before sustained or higher-volume use.