Skip to main content
Glama

Server Details

Find, buy, and manage prepaid travel eSIM data plans without leaving the conversation.

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 DescriptionsA

Average 4.2/5 across 11 of 11 tools scored. Lowest: 3.6/5.

Server CoherenceA
Disambiguation5/5

Each tool targets a distinct resource and action: checkout vs. top-up, order status vs. activation, usage vs. plan details. Even similar-sounding tools like get_order_status and get_esim_activation are clearly differentiated by their descriptions.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (e.g., create_checkout, list_my_orders, pay_order). No mixing of conventions or ambiguous generic verbs.

Tool Count5/5

11 tools is well within the ideal 3-15 range for a domain of eSIM purchasing and management. Each tool earns its place for a specific lifecycle step.

Completeness5/5

The tool surface covers the full eSIM lifecycle: search and plan details, checkout and payment, order status, activation, usage, top-ups, and cancellation. No obvious dead ends or missing operations.

Available Tools

11 tools
cancel_orderCancel and refund an orderA
Destructive
Inspect

Cancel an order and refund it. Only possible while the eSIM is uninstalled.

Once the profile has been installed on a device the provider refuses to take it back, and this returns an error instead — send the user to support.

Card payments refund automatically. A USDC payment has no on-chain refund rail, so the order becomes refund_pending and support returns the money by hand.

ParametersJSON Schema
NameRequiredDescriptionDefault
order_idYesorder_id of the order to cancel

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior5/5

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

The description goes far beyond the annotations. It discloses the refund behavior for card vs. USDC payments, explains the 'refund_pending' state, and warns about the error after installation. This is highly informative and adds context the annotations don't cover.

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 four sentences but each sentence is essential: purpose, condition, failure behavior, and refund nuance. It is front-loaded with the core action and efficiently structured with no fluff.

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 tool has complex behavior (conditional cancellation, refund differences, error paths) and the description covers all key edge cases. The output schema exists, and the description complements it with the procedural context needed to use the tool correctly.

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 already fully describes the only parameter `order_id` with 100% coverage. The description doesn't add new meaning beyond what the schema 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.

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 verb ('Cancel') and resource ('an order'), and specifies that it also refunds. This distinguishes it from sibling tools like get_order_status or pay_order, making its purpose obvious.

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?

Explicitly states a precondition ('Only possible while the eSIM is uninstalled') and a clear exclusion ('Once the profile has been installed... this returns an error instead — send the user to support'). This tells the agent when to use and when not to use the tool, and even where to redirect the user.

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

create_checkoutStart a purchaseAInspect

Start a purchase. Returns where to pay, for the rail you asked for.

Never accepts payment details — a card is entered on the hosted page, and a wallet signs for itself.

ParametersJSON Schema
NameRequiredDescriptionDefault
plan_idYesplan_id from search_esim_plans
pay_withNoHow the buyer intends to pay. 'card' returns a hosted checkout link for a human to open in a browser. 'x402' returns an x402_url for a wallet tool to settle in USDC, with no browser step — only choose it if you have a wallet. An order keeps the rail it was first given: to pay an existing card order in USDC instead, cancel it and start a new one, so there are never two live ways to pay it.card

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

The description discloses a critical non-obvious behavior: payment details are never accepted—cards go to a hosted page and wallets sign for themselves. This adds meaning beyond the annotations, which only indicate write behavior and non-idempotency. It effectively clarifies the payment flow and output location.

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: the first states the purpose and output, the second adds an essential constraint about payment details. Every word earns its place, and the most important information is front-loaded.

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 the tool's simplicity (2 params, 1 required, output schema present, annotations provided), the description covers the core purpose, output, and a key behavioral constraint. It doesn't address usage context relative to siblings, but that gap is minor for a tool of this complexity and is partially covered by the schema.

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 already provides 100% parameter documentation, including a detailed explanation of pay_with with its enum values and behavior. The description adds little beyond referencing the 'rail', which the schema already elaborates. Baseline 3 is appropriate since the schema carries the semantic load.

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 action ('Start a purchase') and adds the result ('Returns where to pay'), specifying the scope of the tool. However, it does not explicitly distinguish itself from sibling tools like create_topup_checkout or pay_order, so it falls short of 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 Guidelines2/5

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

No explicit guidance is given on when to use this tool versus alternatives. The description focuses on behavioral constraints ('Never accepts payment details') but does not mention prerequisites, follow-up steps, or contrasts with similar tools such as create_topup_checkout or pay_order.

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

create_topup_checkoutBuy more dataAInspect

Buy more data for an existing eSIM. Returns where to pay, for the rail you asked for.

Never accepts payment details — a card is entered on the hosted page, and a wallet signs for itself.

ParametersJSON Schema
NameRequiredDescriptionDefault
plan_idYesplan_id from list_topup_options
order_idYesorder_id of the eSIM to add data to
pay_withNoHow the buyer intends to pay. 'card' returns a hosted checkout link for a human to open in a browser. 'x402' returns an x402_url for a wallet tool to settle in USDC, with no browser step — only choose it if you have a wallet. An order keeps the rail it was first given: to pay an existing card order in USDC instead, cancel it and start a new one, so there are never two live ways to pay it.card

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

Annotations already declare readOnlyHint=false, so agents know it's a write operation. The description adds valuable behavioral context: it never accepts payment details directly, and a hosted page or wallet handles the actual payment. This goes beyond what annotations provide and helps set expectations for the transaction flow.

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, front-loaded with the primary purpose and output, followed by a key safety note. There is no wasted wording or redundant repetition of schema content.

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 addresses the core context: existing eSIM, the two possible payment rails, and that payment details are never handled directly. With a robust schema and an output schema present, nothing critical is missing for an agent to correctly select and invoke the tool.

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%, with all parameters including plan_id, order_id, and pay_with having descriptions. The tool description mentions 'rail' but does not add meaning beyond what the schema already provides for pay_with. Baseline 3 is appropriate given the schema's thoroughness.

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 states a specific action ('Buy more data') on a clearly defined resource ('an existing eSIM') and indicates the output ('Returns where to pay'). This distinguishes it from siblings like create_checkout, which would be for new orders.

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 clearly implies the use case: topping up an existing eSIM. The detailed pay_with parameter schema gives explicit guidance on choosing between 'card' and 'x402', including when not to choose x402 ('only choose it if you have a wallet'), but the tool description itself does not explicitly mention alternatives like create_checkout for new purchases.

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

get_esim_activationGet eSIM activation QR codeA
Idempotent
Inspect

Get the QR code and activation details for a purchased eSIM.

Not read-only: like get_order_status, an order that is not ready yet is advanced first, so this can change the order's state.

ParametersJSON Schema
NameRequiredDescriptionDefault
order_idYesorder_id of a fulfilled order

Output Schema

ParametersJSON Schema
NameRequiredDescription
iccidYesThe eSIM's ICCID
order_idYesThe order this eSIM belongs to
expires_atYesWhen the plan expires, in the provider's own format
qr_code_urlYesImage URL of the activation QR code
instructionsYesHow to install the eSIM
smdp_addressYesSM-DP+ server address, for manual install
activation_codeYesLPA activation string, for manual install
Behavior5/5

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

The description goes beyond annotations by explaining that the operation is not read-only and can change the order's state by advancing it if not ready. This is a non-obvious behavioral trait not captured by readOnlyHint=false, adding real value.

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 two short sentences with no filler. The main purpose is front-loaded, and the critical caveat about side effects is placed clearly without excess wording.

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?

For a single-parameter tool with an output schema and complete annotations, the description fully covers what the agent needs: what it does, the side-effect warning, and the input type. No critical information is missing.

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 order_id parameter, which already states 'order_id of a fulfilled order'. The description adds no additional semantic detail beyond the schema's text, so it stays at the baseline.

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 it retrieves 'the QR code and activation details for a purchased eSIM'. This is a specific verb+resource combination that distinguishes it from sibling tools like get_esim_usage and get_order_status.

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?

It provides explicit context: states the tool is not read-only and can advance an order's state, comparing it to get_order_status. This informs when to use it and warns about side effects, though it doesn't explicitly list alternatives.

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

get_esim_usageCheck data usageA
Read-only
Inspect

How much data an active eSIM has used, and how much is left.

ParametersJSON Schema
NameRequiredDescriptionDefault
order_idYesorder_id of a fulfilled order

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, providing a safe read profile. The description adds useful behavioral context: it specifically notes 'active eSIM', implying it will not work for inactive eSIMs, and clarifies that it returns both used and remaining data. This goes beyond the structured annotations and adds meaningful constraint information.

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 concise sentence: 'How much data an active eSIM has used, and how much is left.' It is front-loaded with the core query, contains zero filler, and every word contributes to the meaning. This is an exemplary level of conciseness.

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 the tool's simplicity (one parameter, read-only, with output schema), the description is adequate. It clearly states what the tool returns (used and remaining data) and the condition ('active eSIM'). No additional information like error handling or return format is strictly necessary, as the output schema exists. A minor gap is the lack of mention of what happens if the eSIM is not active, but this is a small omission for an otherwise complete description.

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 already provides full coverage (100%) for the single required parameter, order_id, with the description 'order_id of a fulfilled order'. The tool description adds no additional meaning about the parameter, so it does not improve upon the schema's documentation. This aligns with the baseline score 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 explains the tool's purpose: showing how much data an active eSIM has used and how much remains. It distinguishes this from sibling tools like get_order_status and get_plan_details by focusing specifically on data usage. While it lacks an explicit verb, the title 'Check data usage' and the description together convey the action clearly.

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 implies this tool should be used to query data usage for an active eSIM, but it does not explicitly state when to use it over alternatives. No exclusions or alternative tool names are mentioned, leaving the agent to infer the appropriate context from the description and sibling tool names.

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

get_order_statusCheck order statusA
Idempotent
Inspect

Check an order. Call this after the user says they've paid.

Not read-only: an order still in progress is advanced first — payment is confirmed and the provider order placed or collected — so the status can change as a result of calling this.

ParametersJSON Schema
NameRequiredDescriptionDefault
order_idYesorder_id from create_checkout

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior5/5

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

The description discloses a critical non-obvious behavior: the tool is not read-only, and it advances the order by confirming payment and placing/collecting the provider order. This adds significant context beyond the readOnlyHint=false annotation and clarifies the side effects. It is consistent with all annotations.

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 two concise sentences, front-loaded with the purpose and immediately followed by usage timing and the critical behavioral warning. Every sentence adds value with no filler or redundancy.

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 tool is simple with one parameter, has an output schema, and annotations cover safety traits. The description supplies the key missing context about the state-changing effect, making it complete for invocation. No critical information is absent.

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 one parameter with a clear description ('order_id from create_checkout'), giving 100% schema coverage. The tool description does not add any parameter-specific information beyond what the schema already provides, so the baseline score of 3 is justified.

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 checks an order and gives the specific context of payment confirmation. This distinguishes it from list_my_orders, but it does not explicitly name sibling alternatives, so it falls short of the highest score.

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?

Explicitly instructs to call the tool after the user says they've paid, which is a clear usage trigger. It also warns about the state-changing nature. However, it does not mention when not to use it or reference alternative tools, so a score of 4 is appropriate.

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

get_plan_detailsGet plan detailsA
Read-only
Inspect

Full details of one eSIM plan, including current price.

ParametersJSON Schema
NameRequiredDescriptionDefault
plan_idYesplan_id from search_esim_plans

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds the context that it returns 'current price', but it does not disclose other behavioral aspects like response size, error conditions, or freshness guarantees. With annotations present, this meets the minimum viable bar.

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 with no wasted words. It is front-loaded with the key action ('Full details') and the object ('one eSIM plan'), making it immediately scannable.

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?

This is a simple, read-only get-details tool with one well-documented parameter, an output schema to describe return values, and annotations declaring its non-destructive nature. The description, combined with structured data, provides enough context for an AI agent to select and invoke this tool correctly.

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 schema provides 100% coverage for the single parameter, identifying plan_id and instructing that it comes from search_esim_plans. The description's phrase 'one eSIM plan' loosely reinforces the singular nature of the parameter, but adds no substantive meaning beyond what the schema already gives. Baseline 3 is appropriate.

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 'Full details of one eSIM plan, including current price' clearly identifies the action (retrieve full details), the resource (eSIM plan), and the scope (one plan). It is specific enough to distinguish from sibling tools like search_esim_plans, which lists plans rather than returning details for a single one.

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 implies the tool is for fetching details of a specific plan, and the schema's plan_id description ('plan_id from search_esim_plans') provides a useful prerequisite by indicating where to obtain the identifier. However, it does not explicitly state when not to use this tool or name alternatives.

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

list_my_ordersList my eSIM ordersA
Read-only
Inspect

List this account's eSIM orders, newest first.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

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

Annotations already declare readOnlyHint true and destructiveHint false, so the safety profile is known. The description adds valuable behavior beyond annotations by specifying the ordering ('newest first') and the account scoping, which helps the agent understand what to expect.

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 main action and resource, with no filler or redundant information. It earns its place entirely.

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?

For a simple, read-only list tool with no parameters and an output schema present, the description fully covers what the tool does. It includes scope and ordering, which is complete for the tool's complexity.

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?

There are zero parameters, so the schema trivially covers everything. The description adds no parameter detail because none is needed. The baseline of 4 for zero-parameter tools applies here.

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 'List', the resource ('eSIM orders'), and the scope ('this account's'), plus the ordering ('newest first'). It effectively distinguishes from siblings like get_order_status (which implies a single order) and list_topup_options (which lists topup options).

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 gives context that this lists all orders for the account, but it does not explicitly state when to use this versus alternatives like get_order_status. No exclusions or alternative tool mentions are provided, leaving the usage to be implied rather than explicit.

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

list_topup_optionsList data top-upsA
Read-only
Inspect

Data top-ups that can be added to an eSIM the user already has.

A top-up extends the existing eSIM — same QR code, nothing to re-install. Not every plan is reloadable; this returns an empty list when none apply.

ParametersJSON Schema
NameRequiredDescriptionDefault
order_idYesorder_id of a fulfilled eSIM to add data to

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

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

Annotations already declare readOnlyHint=true, so the description adds value by explaining top-up semantics (extends existing eSIM, same QR code, no re-install) and the edge case that not all plans are reloadable, resulting in an empty list. This goes beyond the safety annotations.

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 two concise sentences, front-loaded with the core purpose and followed by valuable behavioral context. No redundant information or fluff.

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?

For a single-parameter listing tool with an output schema and safety annotations, the description covers the core concept, the meaning of a top-up, and the empty-result edge case. It does not mention error handling for invalid order_id, but that is not critical given the schema and annotations.

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 coverage is 100%, and the parameter description already specifies 'order_id of a fulfilled eSIM'. The description adds no new syntax or format details beyond what the schema 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.

Purpose5/5

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

The description uses a specific verb (list) and resource (data top-ups for an existing eSIM), distinguishing it from sibling tools like create_topup_checkout by focusing on available options. It also clarifies scope by stating top-ups extend the existing eSIM and that the list may be empty.

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?

Clear usage context: use when you need to see top-up options for an already-owned eSIM. It implicitly differentiates from create_topup_checkout (which likely creates the purchase) but does not explicitly state when to prefer this tool over alternatives.

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

pay_orderPay for an order in USDCAInspect

Pay for an order in USDC over x402, without opening a browser.

Only for an MCP client that signs x402 payments itself: call it once for the payment requirements, then repeat the call carrying the signed payment in _meta['x402/payment'] and it settles and starts the eSIM. If your wallet is a separate tool, make an x402 request to the order's x402_url instead — this tool cannot take a payment on a wallet tool's behalf.

ParametersJSON Schema
NameRequiredDescriptionDefault
order_idYesorder_id from create_checkout
Behavior4/5

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

The description reveals the non-trivial two-phase behavior (call once for payment requirements, repeat with signed payment to settle) and the limitation about not being able to act on behalf of a wallet tool. This adds context beyond the annotations, which already indicate a write operation (readOnlyHint=false) and non-idempotency (idempotentHint=false). No contradiction with annotations.

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 front-loaded with the purpose in the first sentence, followed by concise, necessary instructions. Every sentence contributes to understanding the tool's unique workflow, with no wasted words.

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 the tool's complexity and lack of output schema, the description covers the essential usage flow, alternatives, and constraints. However, it doesn't specify what the first response (payment requirements) contains or the exact return values, leaving a minor gap. Overall, quite complete for the primary use case.

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 coverage is 100% for the single order_id parameter, which is described as 'order_id from create_checkout'. The tool description doesn't add extra meaning to the parameter, but the schema already provides sufficient context, so a baseline score of 3 is appropriate.

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 function with a specific verb and resource: 'Pay for an order in USDC over x402, without opening a browser.' It distinguishes from sibling tools (e.g., create_checkout, cancel_order) by focusing on the payment action and the x402 mechanism.

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?

Explicitly specifies when to use the tool ('Only for an MCP client that signs x402 payments itself') and provides an alternative for other cases ('If your wallet is a separate tool, make an x402 request to the order's x402_url instead'). Also outlines the two-step call pattern, offering clear context and exclusions.

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

search_esim_plansSearch eSIM plansA
Read-only
Inspect

Find travel eSIM data plans available for a destination.

ParametersJSON Schema
NameRequiredDescriptionDefault
countryYesCountry or region name, or ISO 3166-1 alpha-2 code
min_data_mbNoOnly plans with at least this much data
max_duration_daysNoOnly plans lasting at most this many days

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is known. The description adds little beyond the purpose—no mention of result ordering, pagination, or filtering behavior. It simply restates the search scope, which provides some context but not rich behavioral detail.

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, concise sentence that immediately conveys the tool's purpose. No wasted words, perfect front-loading.

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?

With an output schema present and full schema documentation for parameters, the description is largely complete for a search tool. However, it could have added a note about what constitutes a 'destination' (e.g., country name or code) or how results are ordered, but the schema already covers the country format. Overall, sufficient but not exhaustive.

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%; all three parameters (country, min_data_mb, max_duration_days) have descriptive text. The tool description does not add extra parameter semantics beyond what the schema already provides, so the baseline 3 is appropriate.

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 action (Find), the resource (travel eSIM data plans), and the scope (available for a destination). This distinguishes it from sibling tools like get_plan_details, which focuses on a single plan's 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?

The description implies usage: when you need to find plans for a destination. However, it does not explicitly mention when not to use it or provide alternatives, such as using get_plan_details for a specific plan's details. The context is clear but the guidance is not fully explicit.

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!

Related MCP Servers

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources