sinoconnection-esim-mcp
Server Details
China & Asia travel eSIM specialist. 200+ countries. No-VPN internet in China.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- SkyUnlimit/sinoconnection-esim-mcp
- GitHub Stars
- 0
- Server Listing
- SinoConnection eSIM
TDQS
Scored across 5 tools
Each tool targets a distinct aspect of the eSIM purchase workflow: searching plans, getting details, checking device compatibility, creating checkout links, and answering support questions. No overlap.
All tool names follow a consistent verb_noun pattern (e.g., search_esim_plans, get_plan_details, create_checkout_link). No mixing of conventions.
5 tools is an appropriate scope for an eSIM sales server, covering discovery, evaluation, compatibility check, purchase, and support without being too many or too few.
The tools cover the entire customer journey: search (search_esim_plans), evaluate (get_plan_details), check device (check_device_compatibility), purchase (create_checkout_link), and get help (get_help). No obvious gaps.
Available Tools
5 toolscheck_device_compatibilityARead-onlyInspect
Check whether a phone/tablet model supports eSIM before recommending a plan. Free-text device name in; compatible yes/no plus closest matches out. IMPORTANT: eSIM hardware support is only HALF the requirement — the phone must ALSO be carrier-unlocked. This tool returns an unlock_required flag + how to verify; always relay it, because a locked phone cannot use a travel eSIM.
| Name | Required | Description | Default |
|---|---|---|---|
| device | Yes | e.g. "iPhone 14 Pro", "Galaxy S24" |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| matched | No | |
| candidates | No | |
| compatible | No | |
| unlock_note | No | |
| unlock_required | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint, openWorldHint) are supplemented with critical behavior: unlock flag, instruction to relay it, and that eSIM support alone is insufficient. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, purpose first, no wasted words. Important warnings are highlighted with 'IMPORTANT:' and '+'. Front-loaded and scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given output schema exists, description covers key outputs (compatible yes/no, closest matches, unlock_required flag). Complete for decision-making without over-explaining.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers parameter with example values, description adds 'Free-text device name in' clarifying input flexibility. With 100% coverage, description complements schema well.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks eSIM support for a device, with specific use case 'before recommending a plan'. It distinguishes from siblings like search_esim_plans by focusing on hardware compatibility.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises using 'before recommending a plan' and highlights the unlock requirement. While not listing when not to use, the context is clear and siblings are provided for reference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_checkout_linkARead-onlyInspect
Create a secure checkout link for a chosen plan (by id). Before sharing the link, confirm with the customer that their phone is (1) eSIM-compatible AND (2) carrier-unlocked — a locked phone cannot use a travel eSIM. The customer completes payment themselves on SinoConnection's checkout page (sign-in required) — you never handle card details. Returns a URL, the plan title, and price_usd (current discount already applied).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Package id from search_esim_plans |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| plan | No | |
| error | No | |
| checkout_url | No | |
| before_you_buy | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says 'Create a secure checkout link', implying a write operation, but annotations set readOnlyHint: true, indicating no side effects. This is a direct contradiction. The description adds useful context (payment delegation, prerequisites) but the contradiction undermines transparency entirely.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (4 sentences), front-loaded with the main action, and provides additional guidance and return value details without redundancy. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the contradiction, the description covers the tool's purpose, parameter source, essential prerequisites, payment flow, and return values. It is complete for an agent to use correctly, given the simple parameter and output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The parameter 'id' is fully described in the schema (100% coverage). The description adds context by specifying it is a 'Package id from search_esim_plans', which is not in the schema. This helps the agent understand the parameter's source and meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Create a secure checkout link for a chosen plan (by id)', which specifies the action (create), resource (checkout link), and input (plan id). It distinguishes itself from sibling tools like search_esim_plans and check_device_compatibility, which serve different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance: confirm eSIM compatibility and carrier-unlock before sharing the link. It also explains the payment flow (customer pays on checkout page, agent never handles cards). However, it does not explicitly state when to use this tool versus alternatives, though the context makes it clear it follows plan selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_helpARead-onlyInspect
Answer customer support and policy questions about SinoConnection eSIMs: the REFUND POLICY, how to INSTALL (with step-by-step videos), activation, HOW THE NO-VPN CHINA ACCESS WORKS (roaming / exit IP — see faq.how_no_vpn_works), and how to get support. Call this whenever the customer asks about refunds, cancellations, installation/setup, activation, how it works, what IP / does it bypass the firewall, or help — do NOT answer these from memory (especially the IP/firewall question); relay this authoritative content verbatim in meaning.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| faq | No | |
| links | No | |
| install | No | |
| support | No | |
| refund_policy | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true and openWorldHint=true. The description adds context that the tool relays authoritative content verbatim and references a FAQ source (faq.how_no_vpn_works), explaining that answers should not be generated from memory. This goes beyond the annotations without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph that front-loads the core purpose ('Answer customer support and policy questions about SinoConnection eSIMs') and then lists specific topics. It is dense but each sentence adds value; a minor improvement could be to break into shorter sentences for readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters and an output schema exists (though not shown), the description fully covers the tool's domain: it enumerates all relevant question types, provides usage context, and references a FAQ. No additional information is needed for an AI agent to correctly invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, and schema description coverage is 100%. Per guidelines, baseline is 4. The description does not need to add parameter meaning, but it effectively explains what the tool does without any parameter overhead.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description begins with 'Answer customer support and policy questions about SinoConnection eSIMs' and lists specific topics (refund policy, installation, activation, no-VPN access), clearly stating the verb 'answer' and the resource 'customer support and policy questions'. It distinguishes from sibling tools like check_device_compatibility and get_plan_details by focusing on help and policies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states 'Call this whenever the customer asks about refunds, cancellations, installation/setup, activation, how it works, what IP / does it bypass the firewall, or help' and instructs 'do NOT answer these from memory', providing clear when-to-use and when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_plan_detailsARead-onlyInspect
Full details for a specific plan by id — call this WHENEVER the customer selects or shows interest in a plan; do NOT just quote a bare price. Returns coverage, networks, activation window and fair-usage detail PLUS whats_included (concrete selling points: instant QR delivery, keep-your-own-number data-only eSIM, buy-now/travel-later install window, easy Wi-Fi setup, bilingual English/中文 support, and China no-VPN where applicable) and a positive unlimited_note for unlimited plans. Present the 3–5 most relevant selling points together with the price (and any discount) to help the customer decide, THEN confirm eSIM compatibility + carrier-unlock before offering the checkout link. Use before create_checkout_link.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Package id from search_esim_plans |
Output Schema
| Name | Required | Description |
|---|---|---|
| plan | No | |
| error | No | |
| currency | No | |
| coverage_count | No | |
| unlimited_note | No | |
| whats_included | No | Fact-based selling points to present to the customer |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true and openWorldHint=true. Description adds concrete details on return contents (coverage, networks, selling points) and instructs on presentational behavior, enhancing transparency without contradicting annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with core purpose and usage, but includes lengthy instructions (e.g., presentational guidance) that could be trimmed. Still well-structured and every sentence serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of output schema, complete input schema coverage, and annotations, the description adds essential integration guidance (e.g., use before checkout, what to present). It covers all necessary context for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear description ('Package id from search_esim_plans'). The description mentions 'by id' but adds minimal value beyond the schema, meeting the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Full details for a specific plan by id' and provides explicit usage context: 'call this WHENEVER the customer selects or shows interest in a plan'. Distinguishes from siblings by advising against just quoting a bare price and positioning it before create_checkout_link.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use ('whenever customer selects or shows interest'), what not to do ('do NOT just quote a bare price'), and downstream actions ('confirm eSIM compatibility + carrier-unlock before offering checkout link'). Effectively guides the AI on when to invoke this tool over alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_esim_plansARead-onlyInspect
Search travel eSIM plans for any of 200+ countries. Specialized China plans deliver uncensored internet WITHOUT a VPN (unlike most eSIMs, which are throttled or blocked in China) — only when the plan's china_open_internet field is true. Also covers regional Asia and worldwide bundles. Quote price_usd — that is the price the customer pays in USD, with any current sitewide discount already applied; list_price_usd is the original and on_sale/discount_pct show the saving. If is_fair_usage_policy is true, the plan is NOT truly unlimited — relay the cap. PRESENT RESULTS ATTRACTIVELY TO BOOST SALES: lead each plan with its flag emoji + the title, put the price in bold, strike or note the discount when on_sale, and show the highlight value line (it already includes 🔓/🌍/📱/⚡/💰 icons). Lay plans out as a clean, scannable list or a markdown table with a flag column; recommend a best-value pick. Call get_plan_details for the full pitch once the customer shows interest.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | ||
| region | No | Region slug: asia | europe | mea | namerica | latam | oceania | |
| country | No | ISO-2 country code, e.g. CN, JP, KR | |
| duration | No | Exact validity in days (optional filter) |
Output Schema
| Name | Required | Description |
|---|---|---|
| plans | No | |
| total | No | |
| currency | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, which the description does not contradict. The description adds value by explaining pricing fields (price_usd is final), fair usage policy flag, and instructions to present results attractively, going beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is relatively long but each sentence serves a purpose. It front-loads the main purpose and then provides important details about pricing and presentation. Could be slightly more concise but not wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the parameter count, schema coverage, output schema existence, and rich annotations, the description provides sufficient additional context about pricing, fair usage, presentation, and integration with get_plan_details. It feels complete for an AI agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 75% and description adds some context (e.g., ISO-2 country codes, region slugs), but much is already in the schema. The description provides additional context about China plans but does not significantly enhance parameter understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it searches travel eSIM plans for 200+ countries, with specialized China plans and regional/worldwide bundles. It distinguishes itself from siblings by mentioning get_plan_details for full pitch and implying check_device_compatibility and create_checkout_link are separate tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use this tool (to search plans) and when to call get_plan_details (after customer interest). It does not explicitly state when not to use it, but the context is clear and it mentions alternatives implicitly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- Changed
get_plan_details2 fields changed- added
Output schema / properties / plan / properties / flagAdded value: +{ + "description": "Destination flag emoji to lead the plan with", + "type": "string" +} - added
Output schema / properties / plan / properties / highlightAdded value: +{ + "description": "Compact one-line value pitch to relay to the customer", + "type": "string" +}
- Changed
search_esim_plans2 fields changed- added
Output schema / properties / plans / items / properties / flagAdded value: +{ + "description": "Destination flag emoji to lead the plan with", + "type": "string" +} - added
Output schema / properties / plans / items / properties / highlightAdded value: +{ + "description": "Compact one-line value pitch to relay to the customer", + "type": "string" +}
1 tool update
- Changed
get_plan_details3 fields changed- added
Output schema / properties / coverage_countAdded value: +{ + "type": "integer" +} - added
Output schema / properties / unlimited_noteAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / whats_includedAdded value: +{ + "description": "Fact-based selling points to present to the customer", + "items": { + "type": "string" + }, + "type": "array" +}
5 tool updates
- Changed
check_device_compatibility1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "candidates": { + "type": "array" + }, + "compatible": { + "type": "boolean" + }, + "matched": { + "type": [ + "object", + "null" + ] + }, + "note": { + "type": "string" + }, + "unlock_note": { + "type": "string" + }, + "unlock_required": { + "type": "boolean" + } + }, + "type": "object" +}
- Changed
create_checkout_link1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "before_you_buy": { + "type": "string" + }, + "checkout_url": { + "type": "string" + }, + "error": { + "type": "string" + }, + "note": { + "type": "string" + }, + "plan": { + "type": "object" + } + }, + "type": "object" +}
- Changed
get_help1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "faq": { + "type": "object" + }, + "install": { + "type": "object" + }, + "links": { + "type": "object" + }, + "refund_policy": { + "type": "object" + }, + "support": { + "type": "object" + } + }, + "type": "object" +}
- Changed
get_plan_details1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "currency": { + "type": "string" + }, + "error": { + "type": "string" + }, + "plan": { + "properties": { + "activation_policy": { + "type": [ + "string", + "null" + ] + }, + "china_open_internet": { + "description": "Open/uncensored internet in China without a VPN", + "type": "boolean" + }, + "coverage_codes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "data_amount": { + "type": "string" + }, + "discount_pct": { + "type": "number" + }, + "fair_usage_policy": { + "type": [ + "string", + "null" + ] + }, + "id": { + "type": "string" + }, + "install_window_days": { + "type": [ + "integer", + "null" + ] + }, + "is_fair_usage_policy": { + "type": "boolean" + }, + "is_unlimited": { + "type": "boolean" + }, + "list_price_usd": { + "description": "Original price before discount", + "type": "number" + }, + "networks": { + "items": { + "type": "string" + }, + "type": "array" + }, + "on_sale": { + "type": "boolean" + }, + "price_usd": { + "description": "Price the customer pays (current discount applied)", + "type": "number" + }, + "title": { + "type": "string" + }, + "validity_days": { + "type": "integer" + } + }, + "type": "object" + } + }, + "type": "object" +}
- Changed
search_esim_plans1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "currency": { + "type": "string" + }, + "plans": { + "items": { + "properties": { + "activation_policy": { + "type": [ + "string", + "null" + ] + }, + "china_open_internet": { + "description": "Open/uncensored internet in China without a VPN", + "type": "boolean" + }, + "coverage_codes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "data_amount": { + "type": "string" + }, + "discount_pct": { + "type": "number" + }, + "fair_usage_policy": { + "type": [ + "string", + "null" + ] + }, + "id": { + "type": "string" + }, + "install_window_days": { + "type": [ + "integer", + "null" + ] + }, + "is_fair_usage_policy": { + "type": "boolean" + }, + "is_unlimited": { + "type": "boolean" + }, + "list_price_usd": { + "description": "Original price before discount", + "type": "number" + }, + "networks": { + "items": { + "type": "string" + }, + "type": "array" + }, + "on_sale": { + "type": "boolean" + }, + "price_usd": { + "description": "Price the customer pays (current discount applied)", + "type": "number" + }, + "title": { + "type": "string" + }, + "validity_days": { + "type": "integer" + } + }, + "type": "object" + }, + "type": "array" + }, + "total": { + "type": "integer" + } + }, + "type": "object" +}
1 tool update
- Added
get_help
4 tool updates
- First observed
check_device_compatibility - First observed
create_checkout_link - First observed
get_plan_details - First observed
search_esim_plans
Related MCP Connectors
Search, recommend & buy travel eSIM data plans for 190+ destinations via AI agents.
Search & buy travel data eSIMs for 70+ destinations — pay by Stripe link, get the eSIM QR. USD.
Search, compare & buy prepaid travel eSIM data plans for 190+ countries in 40 currencies, including regional plans and a 12-month Travel Pass.
Travel eSIMs: unlimited data, pick your days, top up existing eSIMs, card checkout, no API key.
Related MCP Servers
- AlicenseAqualityDmaintenanceTravel eSIMs for 193 countries. Stripe + Bitcoin checkout. QR by email in 30s. No API key.467 npmMIT
- AlicenseNot gradedqualityDmaintenanceBrowse, compare, and purchase eSIMs for 190+ countries via AI agents. 12 tools for searching 2,300+ data plans, checking coverage, and buying eSIMs with crypto or card. No account required for browsing.MIT
- AlicenseAqualityAmaintenanceBuy and manage a global eSIM through chat. One universal eSIM for 192 countries, per-MB billing in USDT or USDC across TRON, Solana, BSC, Polygon, Optimism, Arbitrum, TON. Anonymous-flow by default — no account required.12179 npm3MIT
- FlicenseNot gradedqualityDmaintenanceEnables users to find and get recommendations for Chinese SIM card plans through natural language queries. Uses AI to understand user needs and automatically queries the 172 SIM card platform API to recommend the most suitable plans based on requirements like data allowance and monthly cost.15-
Glama MCP Gateway
Add one secure layer between your agents and this server.