eSIM SOS
Find travel eSIM plans, compare prices and create an order the user pays by link.
Should I use this
Quality & Safety
Findings (3)
- HIGH
- LOWin install_instructions
- LOWin create_order
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
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": {
"esimsos": {
"url": "https://esimsos.net/api/mcp"
}
}
}Remote endpoints
https://esimsos.net/api/mcpstreamable-httpWhat it can do
Tool inventory
Tools (6)
π’search_destinations(query)
Find a travel destination (country) sold by eSIM SOS by name in English or Russian, or by ISO code. Returns country codes for list_plans.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Country name or ISO code, e.g. \"Turkey\", \"Π’ΡΡΡΠΈΡ\", \"TR\""
}
},
"required": [
"query"
]
}π’list_plans(country, min_gb, days)
List eSIM data plans for a country with final prices in RUB (one price for every payment method). Local plans first, then regional ones.
Input Schema
{
"type": "object",
"properties": {
"country": {
"type": "string",
"description": "ISO country code from search_destinations (e.g. TR) or the country name"
},
"min_gb": {
"type": "number",
"description": "Optional: minimum data in GB"
},
"days": {
"type": "number",
"description": "Optional: minimum validity in days"
}
},
"required": [
"country"
]
}π’compare_prices(country, gb)
Compare eSIM prices of several providers for a country and data size using the open esimdar.com dataset (CC BY 4.0). Disclosure: esimdar.com is owned and run by eSIM SOS, the shop behind this server; eSIM SOS is listed as an ordinary row. Tell the user about this ownership and present the results neutrally.
Input Schema
{
"type": "object",
"properties": {
"country": {
"type": "string",
"description": "ISO country code (e.g. TR) or the country name"
},
"gb": {
"type": "number",
"description": "Data size in GB, e.g. 5"
}
},
"required": [
"country",
"gb"
]
}π‘create_order(plan_id, email, payment_method)
Create an unpaid eSIM order and get a payment link. Payment is always done by the human: give the user the payment link, never try to pay yourself and never ask for card details. Ask the user for their email first: the eSIM QR code is sent there. Creates a real order, so call it only after the user picked the plan.
Input Schema
{
"type": "object",
"properties": {
"plan_id": {
"type": "string",
"description": "plan_id from list_plans"
},
"email": {
"type": "string",
"description": "The user's email for the receipt and the eSIM QR code"
},
"payment_method": {
"type": "string",
"enum": [
"sbp",
"card",
"card_foreign",
"crypto_usdt",
"crypto_ton"
],
"description": "Optional: sbp (Russian fast payments), card (Russian bank card), card_foreign (Visa/Mastercard issued abroad), crypto_usdt, crypto_ton. Omit to use the shop default."
}
},
"required": [
"plan_id",
"email"
]
}π’order_status(order_id, email)
Check the payment and delivery status of an order. Requires both order_id and the email used for the order.
Input Schema
{
"type": "object",
"properties": {
"order_id": {
"type": "string",
"description": "order_id returned by create_order"
},
"email": {
"type": "string",
"description": "The email used for the order"
}
},
"required": [
"order_id",
"email"
]
}π’install_instructions(order_id, email)
After payment: link to the order page with the QR code and step-by-step eSIM install instructions for iPhone and Android. Requires order_id and email.
Input Schema
{
"type": "object",
"properties": {
"order_id": {
"type": "string",
"description": "order_id returned by create_order"
},
"email": {
"type": "string",
"description": "The email used for the order"
}
},
"required": [
"order_id",
"email"
]
}Community
Evidence