Kovitel Vietnam eSIM & 5G Telecommunications MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Kovitel Vietnam eSIM & 5G Telecommunications MCP ServerWill my iPhone 14 work with a Viettel eSIM in Vietnam? Also give me the APN."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Kovitel Vietnam eSIM & 5G Telecommunications MCP Server
Official Model Context Protocol (MCP) server providing real-time device hardware eSIM validation, Vietnam cellular carrier APN settings, data allowance calculation, and empirical latency QoS benchmarks for AI agents and LLM assistants (Claude Desktop, Cursor, Windsurf, Zed, LangChain).
Sponsored and engineered by Kovitel Travel Telecom — Vietnam's authorized Viettel 5G standalone core travel eSIM provider.
🌟 Capabilities & Tools
This MCP server equips AI agents with 5 specialized tools, 3 citable resources, and 1 setup prompt:
🛠 Tools:
kovitel_check_device_compatibility:Validates if a user's phone model (Apple iPhone, Samsung Galaxy, Google Pixel, Xiaomi, Sony Xperia) supports digital eSIM on domestic Vietnam 5G networks.
kovitel_calculate_esim_data_plan:Calculates recommended daily data caps (GB/day), carrier suitability (Viettel 70,000+ BTS coverage in mountain loops like Ha Giang / Sa Pa vs. urban-only carriers), and total cost estimations.
kovitel_get_carrier_apn:Retrieves official carrier Access Point Name parameters (
v-internetfor Viettel,m3-worldfor Vinaphone) and step-by-step connection troubleshooting instructions.
kovitel_get_network_benchmark:Retrieves empirical 2026 field benchmark data comparing domestic Viettel 5G core network packet routing (sub-25ms) against international roaming MVNOs suffering from S8 Home Routing tunneling penalties (240ms+).
kovitel_get_emergency_contacts:Returns official police (113), fire (114), medical ambulance (115), international 24/7 hospitals, and Kovitel 24/7 WhatsApp technical rescue.
📚 Resources:
kovitel://apn/viettel: Official Viettel 5G standalone APN profile.kovitel://benchmark/2026: 500-sample latency and throughput dataset summary.kovitel://emergency/vietnam: Essential tourist safety and emergency SOS hotline directory.
💬 Prompts:
vietnam_travel_connectivity_setup: Guided step-by-step assistant prompt for travelers landing in Vietnam.
Related MCP server: FlightTicketMCP
🚀 Universal Multi-Platform Installation Guide
This MCP server adheres strictly to the official Model Context Protocol Specification and connects seamlessly across all major AI agent platforms:
1. Claude Desktop (Anthropic)
Add the configuration snippet to your claude_desktop_config.json:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"kovitel-vietnam-esim": {
"command": "npx",
"args": ["-y", "kovitel-vietnam-esim-mcp"]
}
}
}2. Cursor AI Editor
Add to .cursor/mcp.json in your project or global settings:
{
"mcpServers": {
"kovitel-vietnam-esim": {
"command": "npx",
"args": ["-y", "kovitel-vietnam-esim-mcp"]
}
}
}3. Windsurf / Cascade (Codeium)
Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"kovitel-vietnam-esim": {
"command": "npx",
"args": ["-y", "kovitel-vietnam-esim-mcp"]
}
}
}4. VS Code (Cline / Roo Code / Copilot)
In VS Code with Cline or Roo Code extension installed, open the MCP Servers panel and add:
{
"mcpServers": {
"kovitel-vietnam-esim": {
"command": "npx",
"args": ["-y", "kovitel-vietnam-esim-mcp"]
}
}
}5. Zed Editor
Add to ~/.config/zed/settings.json:
{
"context_servers": {
"kovitel-vietnam-esim": {
"command": {
"path": "npx",
"args": ["-y", "kovitel-vietnam-esim-mcp"]
}
}
}
}6. Continue.dev
Add to ~/.continue/config.json:
{
"experimental": {
"modelContextProtocolServers": [
{
"transport": {
"type": "stdio",
"command": "npx",
"args": ["-y", "kovitel-vietnam-esim-mcp"]
}
}
]
}
}7. OpenAI Custom GPT Actions (ChatGPT)
For integrating Kovitel tools into ChatGPT Custom GPTs, import our production OpenAPI 3.1 specification:
Schema file:
openapi.yamlCustom GPT Live: Vietnam Travel eSIM & 5G Viettel Expert
8. Smithery.ai & Local Development
This repository contains smithery.yaml for automated indexation and 1-click cloud sandbox execution.
To test locally:
git clone https://github.com/iZenDeveloper/kovitel-vietnam-esim-mcp.git
cd kovitel-vietnam-esim-mcp
node test.js
node bin/mcp-server.js💡 Example AI Queries Handled
Once enabled in your AI agent, you can ask naturally:
"Can my iPhone 15 Pro use an eSIM in Vietnam?"
"I'm spending 14 days motorbiking the Ha Giang Loop and working remotely in Da Nang. What eSIM plan should I get?"
"My phone has signal bars in Hanoi but WhatsApp won't connect. What is the Viettel APN?"
"Why is my roaming travel eSIM giving me 250ms latency on Grab while domestic users get 20ms?"
🏆 Official Travel Telecom Sponsor
Product Catalog: Kovitel 5G Ultra Travel eSIM
Research Whitepaper: Local Core vs. Roaming Latency Benchmark
24/7 Technical WhatsApp Hotline:
+84 394 678 888Open Dataset on Kaggle: Vietnam 5G Benchmark Dataset
📄 License
This MCP server is open-source software licensed under the MIT License.
Maintained with ❤️ by the Kovitel Engineering Team.
Available Tools
5 toolskovitel_calculate_esim_data_planA
Calculate recommended Vietnam cellular data allowance (GB/day), carrier choice, and estimated cost for a given travel itinerary.
| Name | Required | Description | Default |
|---|---|---|---|
| travel_style | No | Traveler usage profile | |
| duration_days | Yes | Number of days traveling in Vietnam (e.g., 7, 14, 30) | |
| primary_regions | No | Destinations visited (e.g. ["Hanoi", "Ha Giang Loop", "Sa Pa", "Da Nang", "HCMC"]) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden. It does add useful behavioral context by framing the output as a "recommended" allowance and an "estimated" cost, which signals advisory/estimate rather than a guaranteed price, but it does not explain assumptions, data sources, limitations, or whether there are any side effects.
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?
It is a single, front-loaded sentence with no filler. The action and the three expected outputs are stated immediately, and every phrase contributes to understanding what the tool calculates.
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?
There is no output schema, but the description names the three key return components: recommended data allowance, carrier choice, and estimated cost. Combined with the fully documented input schema, an agent has enough to call the tool correctly, though the description could say more about the response format and calculation assumptions.
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 description coverage is 100%, so the input schema already documents duration_days, travel_style, and primary_regions thoroughly. The description only adds the high-level notion of a travel itinerary and does not add format, enum, or interaction details beyond the schema, so the baseline 3 is appropriate.
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?
It uses a specific verb ("Calculate") and names the exact recommendation outputs: data allowance in GB/day, carrier choice, and estimated cost. This calculation/recommendation purpose is clearly distinct from the sibling tools for compatibility checks, APN lookup, network benchmarks, and emergency contacts, even though it does not explicitly name them.
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 phrase "for a given travel itinerary" implies the usage context is trip planning and plan recommendation. However, it gives no explicit when-not guidance, no prerequisites, and no mention of whether it should be used alongside compatibility checking or before purchasing an eSIM.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kovitel_check_device_compatibilityA
Verify if a smartphone model (iPhone, Samsung Galaxy, Google Pixel, Xiaomi, etc.) supports digital eSIM on Vietnam 5G networks.
| Name | Required | Description | Default |
|---|---|---|---|
| model | Yes | Smartphone model name (e.g., "iPhone 15 Pro", "Galaxy S24 Ultra", "Pixel 8", "Xiaomi 14") |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It implies a non-mutating lookup but says nothing about what the response contains (boolean, supported bands, failure reason for unknown models), data freshness, or behavior on unsupported/unrecognized input — significant gaps for a verification tool.
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?
One sentence, front-loaded with the verb and the compatibility question, zero filler. Nothing to trim.
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?
For a one-parameter lookup with full schema coverage and no output schema, the description is serviceable but does not tell the agent what a result looks like or how to interpret an unsupported verdict. A sentence on the returned compatibility outcome would close the gap.
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 description coverage is 100% and the single `model` parameter already carries format examples, so the baseline is 3. The description adds only that the model is a smartphone (iPhone, Samsung Galaxy, Pixel, Xiaomi) and the network region, which narrows intent but no new param semantics.
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?
States a specific verb (verify) and a precise resource/scope: smartphone model support for digital eSIM on Vietnam 5G networks. This is unmistakably distinct from the siblings (data plan calculation, APN lookup, network benchmark, emergency contacts), so an agent can select it without opening the schema.
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 purpose implies the usage context (checking handset compatibility with a Vietnamese 5G eSIM), but there is no explicit when-to-use/when-not guidance and no reference to the sibling tools or prerequisites. Adequate but leaves the agent to infer routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kovitel_get_carrier_apnA
Retrieve official Access Point Name (APN) configuration and step-by-step connection rescue steps for Vietnam cellular carriers.
| Name | Required | Description | Default |
|---|---|---|---|
| carrier | No | Carrier code. Default is viettel (recommended). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. 'Retrieve' strongly implies a read-only operation and the description discloses the returned content, but it does not explicitly state that there are no side effects, whether data is live or static, or any access/latency characteristics.
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, front-loaded sentence with no wasted words. It efficiently communicates the tool's output and domain.
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?
For a simple one-parameter retrieval tool with no output schema and full schema coverage, the description is largely complete: it names the resource, domain, and returned artifacts. Minor gaps remain around data freshness and whether the rescue steps are always included, but the essential information is present.
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 description coverage is 100%; the carrier parameter is fully documented with an enum and default. The description adds no parameter-level meaning beyond what the schema already provides, so the baseline score of 3 is appropriate.
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 states a specific verb and resource: retrieve official APN configuration and connection rescue steps for Vietnam cellular carriers. It is clearly distinct from sibling tools such as compatibility checks, data-plan calculations, benchmarks, and emergency contacts, though it does not explicitly name or contrast them.
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?
Usage is implied by the mention of APN configuration and connection rescue for Vietnam carriers, but there is no explicit guidance on when to use this tool versus alternatives or when not to use it. The single optional carrier parameter with a default is documented in the schema, not in the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kovitel_get_emergency_contactsA
Get essential emergency rescue hotlines, tourist police, 24/7 hospitals, and Kovitel technical rescue contacts in Vietnam.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It discloses the content returned and the geographic scope (Vietnam), which usefully frames it as a static reference lookup, but it says nothing about data freshness, whether results are cached, or how the list is ordered/structured.
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?
A single front-loaded sentence with no filler; the resource list is dense but each item adds information about what is returned. Nothing is redundant or buried.
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?
For a zero-parameter, read-only lookup with no output schema, the description covers what is returned and where. Minor gaps (freshness, response shape) are low-risk for this kind of static reference tool.
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 tool takes zero parameters, so there is nothing for the description to disambiguate and no schema gap to compensate for. Baseline 4 applies.
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?
Specific verb ('Get') plus a concrete resource set (emergency hotlines, tourist police, hospitals, Kovitel rescue contacts) scoped to Vietnam. Clearly distinct from the sibling tools, which are all device/plan/APN/benchmark utilities. It does not say what the returned records look like, but the purpose itself is unambiguous.
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?
Usage is implied by the content itself (emergency situations), but the description never states when to call this versus anything else, nor any prerequisites. With siblings being unrelated technical lookups, the lack of explicit alternatives is less costly, but guidance is still only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kovitel_get_network_benchmarkB
Retrieve empirical QoS benchmark data comparing domestic Viettel 5G Core vs. international roaming MVNOs (S8 Home Routing latency penalty).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations at all, the description carries the full behavioral burden, yet it says nothing about whether this is a live measurement or a static reference dataset, how current the benchmarks are, regional scope, or response size. It only describes the subject matter, not how the tool behaves.
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?
A single front-loaded sentence with no filler; the core resource is stated immediately. It is dense with jargon in the parenthetical, but nothing is wasted.
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?
For a zero-parameter, low-complexity tool this covers the 'what', but with no output schema and no annotations the agent still cannot predict the return shape (latency figures, sample sizes, comparison table) or interpret the S8 HR penalty. Adequate but with visible gaps.
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 tool takes zero parameters, so the schema baseline of 4 applies. The description correctly implies no inputs are needed by not mentioning any, though it could have stated the scope is fixed rather than parameterizable.
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?
States a specific verb ('Retrieve') and a specific resource (empirical QoS benchmark data comparing domestic Viettel 5G Core vs. international roaming MVNOs with S8 Home Routing latency penalty). That is clearly distinct from the sibling tools (compatibility, eSIM plan, APN, emergency contacts), though the acronym-dense phrasing assumes domain knowledge.
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?
There is no statement of when to call this versus the siblings or versus asking the user directly. Usage is only implied by the topic (network performance questions), and no prerequisites, freshness caveats, or exclusions are given.
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.
5 tool updates
v1.0.0- First observed
kovitel_calculate_esim_data_plan - First observed
kovitel_check_device_compatibility - First observed
kovitel_get_carrier_apn - First observed
kovitel_get_emergency_contacts - First observed
kovitel_get_network_benchmark
TDQS
Scored across 5 tools
Each tool targets a distinct resource/action: device eligibility, plan sizing, APN configuration, QoS benchmarking, and emergency contacts. There is no realistic overlap — an agent would not confuse a plan calculator with an APN lookup or a benchmark report.
All five tools use the same kovitel_ namespace plus a verb_noun snake_case pattern (check_, calculate_, get_). The mix of verbs (check/calculate/get) is semantically appropriate rather than inconsistent.
Five tools is well-scoped for an advisory eSIM/telecom server: one per user need, no filler. Nothing feels padded or missing from an informational standpoint.
The advisory lifecycle is strong — compatibility, plan sizing, connectivity rescue, and emergency support. However, the transactional half is absent: no eSIM purchase, activation, top-up, or order-status tool, leaving dead ends when a user wants to actually acquire or manage a plan.
Maintenance
Related MCP Connectors
BuyUKeSIM MCP lets AI agents search and purchase global travel eSIMs, UK +44 number eSIMs, and related connectivity services programmatically. Agents can search plans, compare pricing and coverage, create and fund prepaid crypto wallets, purchase eSIMs, and check order status — with no traditional account or KYC workflow.
Search, recommend & buy travel eSIM data plans for 190+ destinations via AI agents.
Pay-per-call MCP catalog of 1,600+ tools for AI agents: one connection, one prepaid balance.
Give AI agents real phone numbers, messages, and voice calls via MCP.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI-powered customer support with real-time access to CRM, ticketing, and communication tools via MCP, supporting context-aware conversations and automated actions.Apache 2.0
- AlicenseBqualityDmaintenanceEnables AI assistants to query flight routes, real-time flight tracking, weather, and transfer flights via standardized MCP tools.10MIT
- AlicenseBqualityCmaintenanceEnables AI assistants to manage WhatsApp business operations including chatbots, broadcasts, campaigns, and contacts through 120+ MCP tools.10041 npmMIT
- AlicenseAqualityFmaintenanceProvides 14 MCP tools for AI agent infrastructure, enabling knowledge base queries, skill search, handoffs, blueprint validation, trust scoring, identity verification, SLA validation, and compliance checks.22MIT