AskMia.app travel eSIM AI agent
Server Details
AI-powered eSIM recommendation agent for travelers. Provides real-time coverage checks, package search by country, and pricing across 190+ destinations via structured tool calls.
Tools available:
list_countries - full list of supported destinations
check_coverage - network operators by country code
search_packages - filter eSIM plans by country
get_package_details - pricing and data specs
create_checkout - generate payment link for purchase
No auth required for search tools. Ideal
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.3/5 across 7 of 7 tools scored. Lowest: 3.3/5.
Each tool targets a distinct aspect of the eSIM purchasing workflow: coverage, device compatibility, country listing, package search, package details, checkout creation, and order status. There is no overlap between tools.
All tools follow a consistent verb_noun pattern using snake_case (check_, create_, get_, list_, search_). The verbs are specific to the action and nouns describe the resource, creating a predictable pattern.
Seven tools is well within the ideal range for a domain-specific server. Each tool covers a step in the journey from discovery to delivery, with no redundant utilities.
The tool set covers the entire eSIM purchase lifecycle: discovery (list_countries, search_packages, get_package_details), compatibility verification (check_device_compatibility), coverage assessment (check_coverage), payment (create_checkout), and order tracking (check_order_status). No obvious gaps exist for the intended use case.
Available Tools
7 toolscheck_coverageBInspect
Check network coverage and operators for a country.
| Name | Required | Description | Default |
|---|---|---|---|
| country_code | Yes | ISO country code |
Tool Definition Quality
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 only states the action and does not disclose return format, potential side effects, rate limits, or other behavioral traits. For example, it does not specify whether it returns a list of operators, coverage maps, or any limitations.
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 redundant information. It communicates the core purpose efficiently.
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?
The tool is simple with one parameter and no output schema, but the description leaves unclear what 'coverage' entails (e.g., network types, operator lists, or response structure). It is minimally complete for a basic understanding but lacks richer detail expected for an agent to confidently 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 100% coverage with a description for the single parameter ('ISO country code'). The description adds no extra semantics beyond the schema, so the baseline of 3 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?
The description uses a specific verb ('check') and resource ('network coverage and operators') for a country. It clearly distinguishes from sibling tools like check_device_compatibility and check_order_status, leaving no ambiguity about its function.
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 guidance on when to use this tool versus alternatives. The description only states the action without providing context, exclusions, or mention of when it would be preferable to use this tool over siblings like list_countries or check_device_compatibility.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_device_compatibilityAInspect
Check if a device supports eSIM. Search by device name, model, or vendor (e.g. 'iPhone 15', 'Samsung Galaxy S24', 'Pixel 8'). Optional - useful to verify before purchase.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Device name, model, or vendor to search (e.g. 'iPhone 15', 'Samsung', 'Pixel') |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must convey behavior. It states the core function and search flexibility, but does not disclose output format (e.g., boolean or list), data source limitations, or whether the check is authoritative. This is a moderate gap.
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 (two sentences), starts with the main action, and includes examples without unnecessary words. Every part earns its place.
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 single-parameter read-only tool, the description covers what it does, how to query, and a motivating use case. Missing return value details are a minor gap, but acceptable given the tool's simplicity.
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 schema already documents the 'query' parameter (100% coverage). The description adds specific examples and a real-world use case, which enriches the parameter semantics beyond what the schema provides.
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's purpose with a specific verb ('Check') and resource ('device supports eSIM'), making it easy to distinguish from sibling tools like check_coverage or search_packages.
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?
Provides concrete context ('useful to verify before purchase') and gives examples of acceptable queries, but does not explicitly mention alternatives or exclusion scenarios. This gives a clear sense of when to use it, without a thorough comparison to siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_order_statusAInspect
Check the status of a Stripe checkout session created by create_checkout. You MUST call this after sending payment_url to the user; never trust the user's word that they paid. Returns ONLY a coarse status (awaiting_payment | paid_processing | delivered | failed) with no personal data. Safe to poll every few seconds while waiting for paid_processing -> delivered. If status is delivered, the eSIM is ready and you may give the user install instructions. If failed, give them the escalation block returned by this tool verbatim.
| Name | Required | Description | Default |
|---|---|---|---|
| session_id | Yes | Stripe checkout session id returned by create_checkout (starts with 'cs_'). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully carries the burden. It discloses the coarse return statuses, explicitly states 'no personal data' (privacy behavior), and assures safety by saying 'Safe to poll every few seconds' (non-destructive/idempotent implication). This exceeds typical transparency for a polling 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?
The description is front-loaded with the core purpose and then provides logically ordered usage details (when to call, return format, polling safety, actions on delivered/failed). Every sentence contributes necessary operational knowledge, with no wasted words.
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 no output schema and no annotations, the description compensates fully: it lists the exact possible return statuses, explains polling safety, and instructs what to do on each terminal status. It also notes the absence of personal data. This is a complete specification for an agent to use the tool correctly in a real workflow.
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%, and the schema already describes `session_id` as the Stripe checkout session id returned by `create_checkout`. The description reinforces this connection ('created by `create_checkout`') but does not add new parameter-level detail beyond what the schema provides. Baseline 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 clearly states the tool checks the status of a Stripe checkout session created by `create_checkout`. It uses a specific verb ('Check'), identifies the resource ('status of a Stripe checkout session'), and references the sibling tool `create_checkout`, effectively distinguishing it from other tools like `check_coverage` or `check_device_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 instructs when to call the tool: 'You MUST call this after sending payment_url to the user; never trust the user's word that they paid.' It also provides polling guidance ('Safe to poll every few seconds') and conditional actions for `delivered` and `failed` statuses. This gives clear, actionable usage context without ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_checkoutAInspect
Create a Stripe checkout link for an eSIM package. MANDATORY PRE-STEP: before calling this tool you MUST know the customer's BILLING/RESIDENCE country (not the travel destination). If you don't have it from the conversation, ASK the user explicitly and WAIT for the answer - do NOT guess from destination, IP, or language. Pass it as customer_country (ISO-3166-1 alpha-2). OPTIONAL: pass activation_mode (NOW | FIRST_USE | ON_DEMAND). Default is FIRST_USE - safest for travel booked in advance. IMPORTANT: Worldwide/global plans do NOT accept FIRST_USE; if you pass it the tool returns error 'invalid_activation_mode' - ask the user whether they want NOW or ON_DEMAND and retry. MANDATORY POST-STEP: relay the returned tax_note and activation_note verbatim before they click pay. AFTER sending payment_url you MUST STOP, then call check_order_status with the returned session_id; do not assume the eSIM is ready based on the user saying 'I paid'. Open access (2/min per IP), or pass a Bearer API key for 60/min.
| Name | Required | Description | Default |
|---|---|---|---|
| package_id | Yes | eSIM package ID from search_packages | |
| customer_name | No | Customer name (optional) | |
| customer_email | Yes | Customer email for eSIM delivery | |
| activation_mode | No | When the validity countdown starts. NOW = at purchase (customer already at destination). FIRST_USE = on first network connection in destination (default, safest for planned travel). ON_DEMAND = customer manually activates later from AskMia.app My Account (max flexibility, requires Wi-Fi/Internet to trigger). Defaults to FIRST_USE if omitted. | |
| customer_country | No | REQUIRED IN PRACTICE. Customer's BILLING/RESIDENCE country as ISO-3166-1 alpha-2 (e.g. 'DE', 'US', 'IT') - NOT the travel destination. Drives checkout currency (EUR for EU-27) and lets Stripe compute VAT correctly. If unknown, ASK the user before calling this tool - do not infer. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden and does so thoroughly: it discloses rate limits, mandatory pre-conditions, error behavior ('invalid_activation_mode'), and the requirement to check order status after payment. This goes well beyond what annotations would have provided.
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 long but every sentence delivers critical operational guidance. It is well-structured with clear warnings (MANDATORY, IMPORTANT, POST-STEP) and no filler. The front-loaded purpose and key constraints make it easy to parse.
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's complexity (5 params, no output schema), the description covers prerequisites, parameter usage, error handling, rate limits, and required follow-up actions. It mentions the return values needed for post-processing (payment_url, session_id, tax_note, activation_note), making it fully actionable.
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%, but description adds essential meaning beyond schema: customer_country drives currency/VAT, activation_mode explains the practical difference among enums, and the worldwide-plan incompatibility with FIRST_USE. This is exactly the kind of context an agent needs to invoke the tool correctly.
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 opens with a specific verb+resource: 'Create a Stripe checkout link for an eSIM package.' It clearly distinguishes this from sibling tools like check_order_status or search_packages by focusing on checkout creation.
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?
Provides explicit mandatory pre-step (know customer's billing country), how to handle it (ask if unknown), optional parameters with context, and a post-step instruction to relay notes and check order status. It also names the alternative tool (check_order_status) and explains the error case for worldwide plans.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_package_detailsAInspect
Get detailed info about a specific eSIM package, including pricing, VAT/tax note and activation behavior. Pass customer_country to get the correct display currency and VAT flag.
| Name | Required | Description | Default |
|---|---|---|---|
| package_id | Yes | Package ID | |
| customer_country | No | Customer's billing/residence ISO country code (e.g. 'DE'). Drives EUR pricing and VAT flag for EU customers. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It discloses that the output depends on customer_country, affecting display currency and VAT flag, and mentions activation behavior as part of the details. This goes beyond a simple 'get info' and provides useful behavioral context, though it does not explicitly confirm read-only safety.
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 two sentences: the first states the core purpose, the second adds a key usage hint. It is front-loaded, efficient, and contains no extraneous words.
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 two-parameter, one-required tool with no output schema, the description is reasonably complete. It covers the main outcome (detailed info), key behavioral nuance (customer_country impact), and provides enough context to use the tool correctly. It lacks explicit alternatives or error behavior, but these are not critical for this simple 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?
Schema description coverage is 100%, and the description repeats the customer_country guidance already present in the schema ('Drives EUR pricing and VAT flag'). It adds no new parameter-specific meaning beyond the schema description, so it meets the baseline for high coverage.
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's function: 'Get detailed info about a specific eSIM package, including pricing, VAT/tax note and activation behavior.' It specifies the resource (eSIM package) and the type of information, distinguishing it from sibling tools like search_packages or check_coverage.
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 implies the usage context: use this when you have a specific package_id and need detailed information. It also provides guidance on the optional customer_country parameter, but does not explicitly mention when not to use this tool or mention alternatives, so it lacks explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_countriesAInspect
List all countries where eSIM data plans are available.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It reveals that the tool lists only countries where eSIM plans are available, which is a precise behavioral trait. For a simple read-only listing with no parameters, this is sufficient transparency; no hidden side effects or permissions need disclosure.
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, clear sentence with no wasted words. It states the purpose immediately and efficiently.
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 tool of this simplicity—no parameters, no output schema, and a straightforward listing action—the description is fully complete. It covers all necessary information: what the tool does and what it returns conceptually.
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 has zero parameters, so per the rubric the baseline is 4. The description adds no parameter-specific details because none exist, and this is appropriate; there is nothing to clarify beyond the empty 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 uses a specific verb 'List' and clearly identifies the resource 'countries where eSIM data plans are available.' This unambiguously distinguishes it from sibling tools like check_coverage or get_package_details, which serve different functions.
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 clearly conveys when to use the tool: when you need the list of countries with eSIM availability. While it does not explicitly mention alternatives or exclusions, the context is clear and no alternative tool serves the same purpose, so it provides adequate usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_packagesAInspect
Search eSIM data packages by country code. Optionally filter by minimum data size (min_data_gb) and validity window (max_validity_days, validity_days). Pass customer_country (ISO code, e.g. 'DE') to get prices in EUR with VAT note for EU customers. Returns up to limit packages (default 10, max 50) ordered by price, plus total_available for pagination via offset. Each package includes network_count (number of supported networks across the destination region).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max packages to return (default 10, max 50). | |
| offset | No | Pagination offset (default 0). | |
| min_data_gb | No | Minimum data in GB | |
| country_code | Yes | Destination ISO country code (e.g. US, FR) | |
| validity_days | No | Only return plans with exactly this validity in days (e.g. 7, 15, 30). Overrides max_validity_days. | |
| customer_country | No | Customer's billing/residence ISO country code. Used to pick display currency (EUR for EU-27) and to flag VAT. | |
| max_validity_days | No | Only return plans whose validity is at most this many days (e.g. 7 for a week-long trip). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description carries the full burden. It discloses key behaviors: filtering by data size/validity, customer_country affecting currency/VAT, return limit and default, ordering by price, pagination via offset, and network_count field. It does not list all return fields but gives sufficient context.
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?
Description is four sentences, front-loaded with the main purpose, and each sentence adds meaningful operational detail. No wasted words.
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?
Covers the core functionality, filters, return behavior, and pagination. Minor gaps: does not specify sort direction for price or behavior on empty results, but given the rich schema and focus of a search tool, it is adequately complete.
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%, so baseline is 3. The description adds minimal extra meaning beyond schema, such as the example 'DE' for customer_country. It mostly reiterates schema info, which is already thorough.
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's specific function: 'Search eSIM data packages by country code.' This distinguishes it from sibling tools like get_package_details (specific package lookup) and list_countries (country listing).
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?
Provides clear context for when to use the tool (search packages by country with optional filters and pagination). Does not explicitly mention alternatives or exclusions, but the purpose is unambiguous and the context signals (siblings) reinforce differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- AlicenseAqualityAmaintenanceGTM signal intelligence suite for AI agents. Six tools: hiring signals, tech stack detection, company-to-LinkedIn resolution, ICP scoring, job board scanning, and a combined signals aggregator. Built for outbound sales workflows.117371MIT

industrylens-mcpofficial
Flicense-qualityBmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.- -license-qualityCmaintenanceA Voice of Customer pipeline that cross-references feedback from calls, reviews, chat, and other sources to surface only corroborated patterns, routing actionable insights with exact customer quotes to the right people.
- AlicenseAqualityAmaintenanceDetects hiring intent signals by scanning job boards for specific companies. Returns structured role data for outbound sales targeting.1761MIT