Skip to main content
Glama

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.

MCP client
Glama
MCP server

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.

100% free. Your data is private.
Tool DescriptionsB

Average 3.8/5 across 7 of 7 tools scored. Lowest: 2.9/5.

Server CoherenceA
Disambiguation5/5

Each tool has a clearly distinct purpose: coverage, device compatibility, order status, checkout creation, package details, country listing, and package search. No two tools overlap in functionality.

Naming Consistency5/5

All tool names use snake_case with a consistent verb_noun pattern (check_, create_, get_, list_, search_). No mixing of conventions or vague verbs.

Tool Count5/5

7 tools is well-scoped for a travel eSIM assistant, covering discovery, purchase, and post-purchase status checks without being too few or excessive.

Completeness4/5

The tool surface covers the complete purchase flow (discovery, checkout, order tracking) but lacks post-activation management tools. Minor gap, but core workflow is fully supported.

Available Tools

7 tools
check_coverageCInspect

Check network coverage and operators for a country.

ParametersJSON Schema
NameRequiredDescriptionDefault
country_codeYesISO country code
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states what the tool does but doesn't add context like whether it's read-only, requires authentication, has rate limits, or what the output format might be. This leaves significant gaps in understanding the tool's behavior beyond its basic function.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without any waste. It's appropriately sized and front-loaded, making it easy to understand quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no annotations, no output schema, and the description lacks behavioral context, it's incomplete for effective use. The agent knows what it does but not how to interpret results or handle errors, which is insufficient for a tool that might involve network queries or data retrieval.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with the 'country_code' parameter documented as an ISO country code. The description implies this parameter is used for checking coverage but doesn't add meaning beyond what the schema provides, such as examples or constraints, so it meets the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose as checking network coverage and operators for a country, which is specific (verb+resource). However, it doesn't distinguish from sibling tools like 'list_countries' or 'search_packages', which might be related but serve different functions, so it lacks explicit sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, context, or exclusions, such as whether it's for pre-purchase validation or general lookup, leaving the agent to infer usage without explicit direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

check_device_compatibilityBInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesDevice name, model, or vendor to search (e.g. 'iPhone 15', 'Samsung', 'Pixel')
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the tool is 'optional' and 'useful to verify before purchase', which adds some context about its non-critical nature, but it doesn't disclose key behavioral traits such as whether it's a read-only operation, potential rate limits, error handling, or what the output looks like. For a tool with no annotations, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded: the first sentence states the core purpose, and the second adds context and examples. It avoids unnecessary details, but the second sentence could be more structured (e.g., separating examples from usage note). Overall, it's efficient with little waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (1 parameter, no output schema, no annotations), the description is somewhat complete but has gaps. It covers the purpose and basic usage, but lacks details on behavioral aspects and output, which are important for an agent to invoke it correctly. With no output schema, the description should ideally hint at return values, but it doesn't, making it adequate but not fully comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds minimal meaning beyond the input schema: it reiterates the 'query' parameter with examples ('device name, model, or vendor') and mentions it's for searching, but the schema already has 100% coverage with a clear description. Since the schema does the heavy lifting, the baseline score is 3, as the description doesn't provide additional syntax, constraints, or usage details for the parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Check if a device supports eSIM' with the verb 'check' and resource 'device', specifying the functionality. It distinguishes from siblings like 'check_coverage' or 'search_packages' by focusing on device compatibility rather than coverage or packages. However, it doesn't explicitly differentiate from all siblings (e.g., 'get_package_details' might overlap in some contexts), keeping it from a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides implied usage guidance: 'Optional - useful to verify before purchase' suggests a context for use, but it doesn't explicitly state when to use this tool versus alternatives like 'check_coverage' or 'search_packages'. No exclusions or specific scenarios are mentioned, leaving some ambiguity for the agent in selecting among 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYesStripe checkout session id returned by create_checkout (starts with 'cs_').
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It reveals that the tool returns only a coarse status with no personal data and is safe to poll. While it mentions the escalation block on failure, it does not specify behavior for invalid session IDs or other error conditions, which would push it to a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, well-structured, and front-loaded with the purpose. Every sentence adds value: scope, mandatory usage rule, output description, polling safety, and action guidance. No redundant or missing elements.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the low complexity (1 parameter with full schema coverage, no output schema), the description is complete. It covers the return statuses, polling safety, and instructions for what to do with each status, satisfying the agent's needs for correct invocation and handling.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single parameter 'session_id', so the baseline is 3. The description reinforces the parameter's origin (from create_checkout) but does not add new semantic information beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: checking the status of a Stripe checkout session created by 'create_checkout'. It specifies the return value as a coarse status and distinguishes it from sibling tools that deal with coverage, compatibility, or package details.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use the tool: after sending payment_url, with a strong warning not to trust the user's word. It also provides guidance on polling safety and actions based on the returned status, leaving no ambiguity about when and how to invoke it.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
package_idYeseSIM package ID from search_packages
customer_nameNoCustomer name (optional)
customer_emailYesCustomer email for eSIM delivery
activation_modeNoWhen 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_countryNoREQUIRED 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.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It discloses rate limits (2/min IP, 60/min with key), error behavior for invalid activation_mode, and the mandatory post-step sequence. However, it doesn't describe response structure or potential idempotence issues.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is thorough but well-organized: purpose sentence, then bulleted sections for pre-step, optional, important, post-step, and rate limits. It is front-loaded with essential info, though slightly verbose for a concise definition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description adequately covers the full workflow: prerequisites, parameter details, error handling, mandatory post-steps (relay notes, call check_order_status), and rate limits. It leaves no critical gaps for an AI agent to use this tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, baseline 3. The description adds value by explaining activation_mode enum values in context (e.g., NOW='at destination', FIRST_USE='safest for planned travel') and emphasizing that customer_country is billing/residence not destination, affecting currency and VAT. This goes beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description starts with 'Create a Stripe checkout link for an eSIM package', which clearly states the verb and resource. It distinguishes from sibling tools like check_coverage or check_order_status by its unique function and references to pre- and post-steps.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides explicit when-to-use guidance: mandatory pre-step to know customer's billing country, warnings about worldwide plans not accepting FIRST_USE, and post-step to call check_order_status after payment. It also clarifies that the agent must stop and not assume payment confirmation.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
package_idYesPackage ID
customer_countryNoCustomer's billing/residence ISO country code (e.g. 'DE'). Drives EUR pricing and VAT flag for EU customers.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It discloses that the tool returns pricing, VAT/tax note, activation behavior, and that customer_country affects display currency and VAT flag. It does not explicitly state read-only nature, but for a 'get' tool that is implied.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences: first states purpose and content, second explains optional parameter. No unnecessary words, front-loaded with the key action and result.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, description adequately lists key return aspects (pricing, VAT/tax note, activation behavior). It does not cover all possible fields but is sufficient for an agent to understand the tool's purpose and primary outputs. Could mention other details like package validity, but not required for completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% coverage describing both parameters. Description adds value by explaining the role of customer_country in determining display currency and VAT flag, which goes beyond the schema's description of 'drives EUR pricing and VAT flag for EU customers.' This adds practical context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Get detailed info about a specific eSIM package, including pricing, VAT/tax note and activation behavior.' It uses a specific verb and resource, and distinguishes from sibling tools like search_packages which are for searching rather than details.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description implies usage by stating what it does, but does not explicitly tell when to use this tool versus siblings like check_coverage or search_packages. It provides guidance on the optional customer_country parameter but lacks when-not or alternative suggestions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_countriesBInspect

List all countries where eSIM data plans are available.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool lists countries but does not mention any behavioral traits such as whether it requires authentication, has rate limits, returns paginated results, or includes error handling. This leaves significant gaps in understanding how the tool operates beyond its basic function.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence that front-loads the core action ('List all countries') and specifies the scope ('where eSIM data plans are available'). There is zero waste or redundancy, making it highly efficient and easy to parse for an AI agent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is complete enough to convey the basic purpose. However, it lacks details on behavioral aspects like response format or error conditions, which could be important for an agent to use it effectively. The absence of an output schema means the description should ideally hint at return values, but it does not, leaving some contextual gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0 parameters with 100% coverage, meaning no parameters are documented in the schema. The description implies no parameters are needed by stating 'List all countries', which aligns with the schema. Since there are no parameters, the baseline score is 4, as the description adequately conveys the parameterless nature without adding unnecessary details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

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 ('List') and resource ('countries where eSIM data plans are available'), making it immediately understandable. However, it does not explicitly differentiate from sibling tools like 'search_packages' or 'check_coverage', which might also involve country-related queries, leaving some ambiguity about its unique role.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives such as 'search_packages' or 'check_coverage', which could also relate to country availability. It lacks explicit context, prerequisites, or exclusions, leaving the agent to infer usage based on the tool name alone.

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax packages to return (default 10, max 50).
offsetNoPagination offset (default 0).
min_data_gbNoMinimum data in GB
country_codeYesDestination ISO country code (e.g. US, FR)
validity_daysNoOnly return plans with exactly this validity in days (e.g. 7, 15, 30). Overrides max_validity_days.
customer_countryNoCustomer's billing/residence ISO country code. Used to pick display currency (EUR for EU-27) and to flag VAT.
max_validity_daysNoOnly return plans whose validity is at most this many days (e.g. 7 for a week-long trip).
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It discloses pagination details (limit, offset, total_available), ordering by price, and the network_count field. It also explains the VAT note for EU customers. It does not discuss rate limits or error cases, but is transparent enough for a read-only search.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single paragraph but front-loaded with the main action. It efficiently packs multiple pieces of information without excess. Minor improvements could include line breaks for readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description should list key returned fields. It mentions network_count but not other common fields like price, name, or validity. The pagination and filter behavior is well covered, but the lack of a full return structure is a gap. Overall adequate but not fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, baseline 3. The description adds value beyond schema by explaining the interaction between validity_days and max_validity_days (override), and the effect of customer_country on currency/VAT. It also clarifies the default for limit and the role of total_available for pagination.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Search' and the resource 'eSIM data packages by country code'. It distinguishes from sibling tools like check_coverage and get_package_details by focusing on search and filtering.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains when to use the tool: search by country code with optional filters. It mentions special behavior with customer_country for pricing. However, it does not explicitly say when not to use it or mention alternatives among siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources