Skip to main content
Glama

AskMia.app travel eSIM AI agent

create_checkout

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). The optional activation_mode field uses internal API values only. NEVER show NOW, FIRST_USE, ON_DEMAND, activation_mode, or similar technical identifiers to the customer. Use these customer-facing names instead: Activate now, Activate on arrival, Manual activation. If the customer has not already said when they want validity to start, ask naturally: 'Would you like to activate it right now, or when you land? There is a manual option available too, but you will need to access AskMia.app settings to activate.' Use Activate now only if the customer is already at the destination, Activate on arrival for automatic activation when the phone connects at the destination, and Manual activation only if the customer explicitly wants control from AskMia.app. IMPORTANT: Worldwide/global plans do not support Activate on arrival; ask whether the customer prefers Activate now or Manual activation. MANDATORY POST-STEP: relay the returned tax_note, activation_note and post_payment_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.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
package_idYeseSIM package ID from search_packages
customer_nameNoCustomer name (optional)
customer_emailYesCustomer email for eSIM delivery
activation_modeNoInternal API value. Never repeat these codes to the customer. NOW maps to Activate now; FIRST_USE maps to Activate on arrival and is the default; ON_DEMAND maps to Manual activation.
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.

TDQS

A4.9/5.0
Behavior5/5

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

Even though annotations already mark the operation as non-read-only and not idempotent, the text adds crucial behavior: the tool has side effects (creates a checkout), requires relaying returned notes verbatim, must be followed by order-status verification, and has rate limits. It also warns against assuming fulfillment based on the user's claim of payment.

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 text is long but organized into labeled mandatory sections and front-loads the most critical rule at the top. There is slight repetition of schema-provided enum mapping, but the operational details justify the length.

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?

The description covers prerequisites, exact conversational prompts, parameter semantics, post-call verification, output fields to relay, and rate limits. Since there is no output schema, the mention of payment_url, session_id, and the three notes provides the necessary contract for the caller.

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

Parameters5/5

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

Although schema coverage is 100%, the description meaningfully extends the schema: it clarifies customer_country means billing/residence country, not destination, and instructs the agent to ask rather than guess. For activation_mode, it provides the customer-safe labels and the exact natural-language question, which is far more actionable than the raw enum alone.

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 opening sentence, 'Create a Stripe checkout link for an eSIM package', names a specific verb, object, and resource, which is enough to separate this from the sibling tools. It is not a tautology and clearly identifies the tool's core action.

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 gives a mandatory pre-step (ask for customer_country), detailed rules for choosing activation_mode including the worldwide-plan exception, exact user-facing language, and a mandatory post-step to call check_order_status. It explicitly tells the agent what to ask, when to wait, and not to assume payment means the eSIM is ready.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.2/5.0
Disambiguation5/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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness5/5

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.

Resources