Skip to main content
Glama

Server Details

Browse, compare, and purchase eSIMs for 190+ countries via AI agents. 12 tools for searching 2,300+ data plans, checking coverage, and buying eSIMs with crypto or card. No account required for browsing.

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.4/5 across 29 of 29 tools scored. Lowest: 3.8/5.

Server CoherenceA
Disambiguation4/5

Most tools have clearly distinct purposes, e.g., purchase_esim vs purchase_phone_plan or cancel_esim vs cancel_sms_verification. Minor overlap between the generic search and specialized search tools (search_esim_packages, search_phone_plans) but descriptions clarify their intent.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (e.g., create_deposit, list_esims, check_balance). No mixing of conventions or inconsistent verb styles.

Tool Count3/5

With 29 tools, the set is on the high side for a single server. While each tool has a role, the number feels slightly heavy for the domain, especially with multiple search and list tools that could potentially be combined.

Completeness4/5

The tool surface covers core CRUD operations for eSIMs (purchase, topup, cancel), SMS verification (order, check, cancel), SMS rental (rent, extend, read messages), and wallet management (balance, deposit, transactions). Minor gaps like modifying a plan or transferring ownership are absent but not critical for typical use.

Available Tools

29 tools
cancel_esimA
DestructiveIdempotent
Inspect

Cancel an unused eSIM and receive a refund to your wallet balance. Only works if the eSIM has not been installed or activated. Requires an agent-wallet API key (ak_live_).

ParametersJSON Schema
NameRequiredDescriptionDefault
iccidYesICCID of the eSIM to cancel
Behavior4/5

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

Adds context beyond annotations: refund behavior and required API key type. Annotations already indicate destructive and idempotent. No contradiction.

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 action. Every sentence is informative and concise.

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?

Complete for a simple tool: one parameter, annotations provide destructive and idempotent hints, and description covers condition and key requirement.

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?

Only one parameter (iccid) with 100% schema coverage. Description doesn't add extra semantics beyond the schema's 'ICCID of the eSIM to cancel'.

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 (cancel), resource (eSIM), and outcome (refund). It distinguishes from sibling tools like purchase_esim and topup_esim.

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 states the condition 'only works if the eSIM has not been installed or activated' and requires a specific API key. Does not mention alternatives or when not to use.

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

cancel_sms_verificationA
Idempotent
Inspect

Cancel a quick SMS order that is still waiting for a code and refund it to the wallet immediately. Refused if the SMS was already delivered (read it with check_sms_verification instead). Requires a connected agent wallet.

ParametersJSON Schema
NameRequiredDescriptionDefault
orderIdYesThe Order ID of the waiting quick SMS order
Behavior4/5

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

Description adds behavioral details (immediate refund, refusal if delivered) beyond annotations. Annotations indicate idempotent and non-destructive, but description clarifies cancellation behavior.

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 concise sentences with essential info front-loaded. 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?

Given single parameter with full schema, no output schema needed. Description covers usage conditions and relevant sibling tool. Complete for cancellation scenario.

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 already covers 100% of parameter (orderId) with clear description. Description does not add additional meaning, so 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?

Description clearly states it cancels a quick SMS order waiting for a code and refunds to wallet. Includes required condition of agent wallet and distinguishes from check_sms_verification.

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 when not to use (if already delivered) and directs to alternative check_sms_verification. Also mentions prerequisite (connected agent wallet).

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

check_balanceA
Read-only
Inspect

Returns the prepaid spending balance of the connected PikaSim agent wallet, in USD. Read-only; makes no changes. Call this before purchase_esim or purchase_phone_plan to confirm sufficient funds, or any time you need the current balance. Requires a connected agent wallet (OAuth or ak_live_ key). If no wallet is connected, the result explains how to connect one.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

Annotations already declare readOnlyHint=true, so the description's 'Read-only; makes no changes' adds no new info. However, it goes beyond annotations by disclosing the wallet connectivity requirement and the fallback explanation for disconnected wallets.

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 at three sentences, front-loading the main purpose in the first sentence. Every sentence adds necessary context without 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?

Given no parameters and no output schema, the description fully explains what the tool returns (balance in USD) and the conditions for use (connected wallet). It is complete for a simple read-only balance check.

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?

With zero parameters, schema coverage is 100% and baseline is 4. The description naturally provides no parameter information, which is appropriate since none exist.

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 returns the prepaid spending balance of the PikaSim agent wallet in USD. It specifies the exact resource and action, and distinguishes itself from sibling tools like purchase_esim and purchase_phone_plan by focusing on balance checking.

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 advises when to use this tool: before purchase_esim or purchase_phone_plan to confirm sufficient funds, or any time the balance is needed. It also notes the prerequisite of a connected agent wallet and explains the behavior if not connected.

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

check_country_coverageA
Read-only
Inspect

Check what PikaSim plans cover a country. Returns TWO buckets: DATA eSIMs (count, price range, data amounts) and PHONE-NUMBER eSIMs (count, price range — a real carrier number with voice + SMS).

ParametersJSON Schema
NameRequiredDescriptionDefault
countryYesISO 3166-1 alpha-2 country code (e.g., JP, US, DE)
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the description adds value by specifying the exact return structure (two buckets with counts and price ranges). This goes beyond the annotations by detailing what information the tool provides, though it doesn't disclose potential error conditions or rate limits.

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 sentences with no filler. The first sentence states the overall purpose, and the second elaborates on the return format. Every sentence adds necessary information, and it 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 has one parameter, no output schema, and annotations, the description adequately covers the tool's functionality and return structure. It does not detail error handling or output format specifics beyond buckets, but the schema handles input validation. This is sufficient for a simple look-up 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% for the single 'country' parameter, which already explains it expects an ISO 3166-1 alpha-2 code. The tool description does not add further parameter-specific meaning but frames the parameter's purpose ('Check what... cover a country'). 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 starts with the verb 'Check' and specifies the resource 'what PikaSim plans cover a country'. It then clearly distinguishes two return buckets (DATA eSIMs and PHONE-NUMBER eSIMs) with specific attributes (count, price range, data amounts), making the tool's purpose distinct from siblings like purchase_esim or list_orders.

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 does not explicitly state when to use this tool versus alternatives. However, the sibling tool names (e.g., purchase_esim, search_esim_packages) imply that check_country_coverage is for coverage inquiry before purchase, but no direct guidance is given.

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

check_sms_verificationA
Read-only
Inspect

Poll a quick SMS order for the incoming verification code. Read-only. Call every 15-30 seconds after order_sms_verification until status is "received", then relay the code (and full message) to the user. Orders auto-refund if nothing arrives within 20 minutes. Requires a connected agent wallet.

ParametersJSON Schema
NameRequiredDescriptionDefault
orderIdYesThe Order ID returned by order_sms_verification (also listed by list_sms_orders)
Behavior5/5

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

Description adds details beyond annotations (readOnlyHint, openWorldHint): polling frequency, status condition, auto-refund behavior, and wallet requirement. 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?

Four sentences, no waste. Front-loaded with purpose, followed by read-only confirmation, usage pattern, auto-refund note, and prerequisite. Every sentence earns its place.

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?

Despite no output schema, description covers purpose, usage pattern, expected outcomes (code and full message), and failure condition (auto-refund). Adequate for a simple polling tool.

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%, so baseline is 3. Description adds context about the origin of orderId (from order_sms_verification or list_sms_orders), providing useful guidance 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 states a specific verb 'poll' and resource 'a quick SMS order for the incoming verification code', and distinguishes from siblings like 'order_sms_verification' and 'cancel_sms_verification'.

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?

Provides explicit instructions: call every 15-30 seconds after order_sms_verification until status is 'received', then relay code and message. Also mentions auto-refund within 20 minutes and requirement for connected agent wallet.

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

create_depositAInspect

Creates a payment invoice to add funds to the connected prepaid PikaSim Wallet, and returns a payment page link (the human can pay by card with 3D Secure, or crypto) plus per-coin crypto payment details. Accepts Bitcoin, Lightning, Monero, Zcash, USDT, and 50+ altcoins, or card on the payment page. Does not move funds itself; it returns an invoice the user pays externally, and the balance updates once the payment confirms. Use when check_balance is too low to purchase. Minimum: the deposit must bring the wallet balance to at least $10 (so $10 for an empty wallet, as little as $1 for a wallet already near $10). Crypto has no fee; card payments add a 2.9% processing fee on top of the credited amount. Requires a connected agent wallet (OAuth or ak_live_ key).

ParametersJSON Schema
NameRequiredDescriptionDefault
amountYesAmount in whole US dollars to CREDIT to the wallet (deposit must bring the balance to at least 10; e.g. 25 for a $25 deposit)
Behavior5/5

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

Annotations are minimal (readOnlyHint=false, etc.), but the description adds critical behavior: no direct fund movement, external payment via invoice, balance update on confirmation, minimum balance requirement, fees, and supported payment methods. 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.

Conciseness4/5

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

Description is longer but each sentence adds essential detail. Front-loaded with the main action. Could be slightly tighter, but well-structured and informative.

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?

Very complete given complexity: covers all key aspects (payment methods, fees, minimum, requirements, return value). No output schema but description explains what is returned. Context signals show sibling tools are different, enhancing clarity.

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 covers 100% of parameters, baseline 3. Description adds extra context: amount in whole US dollars, minimum deposit condition (must bring balance to at least $10), and example. Adds value 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?

Clearly states it creates a payment invoice to add funds to the PikaSim Wallet, distinguishing it from tools like topup_esim or purchase_esim. Explicitly notes it does not move funds itself, only returns an invoice.

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?

Indicates when to use ('use when check_balance is too low to purchase') and prerequisites ('requires a connected agent wallet'). Does not explicitly list when not to use, but context is clear.

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

extend_sms_rentalA
Destructive
Inspect

Extend a long-term SMS rental so the user keeps the same number — days are ADDED on top of the current expiry. This SPENDS the wallet balance at the live tier price (the tool checks the price first and reports what was charged). Valid day options are the same duration tiers the rental was offered at. Extend BEFORE expiry; an expired rental usually cannot be recovered. Requires a connected agent wallet.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysYesHow many days to add — one of the rental's duration tiers (see list_sms_rentals for this country)
receiptIdYesThe rental receipt ID
Behavior4/5

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

Discloses financial impact (spends wallet balance at live tier price), prerequisite (connected wallet), and that days are added to current expiry. Consistent with destructiveHint annotation, adding context beyond 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?

Concise single paragraph with 5 sentences, each adding essential information. No redundancy or unnecessary details.

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 2-param tool with no output schema, description covers purpose, usage constraints, financial behavior, and prerequisite. Lacks error handling details but sufficient for typical use.

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% with clear descriptions. Description reiterates that days are added and valid options are from duration tiers, adding marginal value but not significantly 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?

Description clearly states the tool extends a long-term SMS rental and keeps the same number, distinguishing it from rental creation or listing. Uses specific verb 'extend' and identifies the resource.

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?

Provides clear guidance on when to use (before expiry) and valid day options (same duration tiers). Doesn't explicitly exclude alternatives like renting a new number, but context makes it clear.

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

fetchA
Read-only
Inspect

Fetch full details for one PikaSim eSIM plan by the id returned from search: coverage, data, voice/SMS allowance, duration, price, networks, and its pikasim.com purchase URL. Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe plan id returned by the search tool (the packageCode)
Behavior4/5

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

Annotations provide readOnlyHint=true and openWorldHint=true, which description reinforces with 'Read-only'. Description adds value by listing the details returned, but lacks disclosure of potential errors or authentication needs.

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?

Single, well-structured sentence that front-loads the action and resource, with no unnecessary 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?

For a simple read-only tool with one parameter and no output schema, the description covers purpose, usage context, and returned fields. Could be improved by noting return format or common errors, but still adequate.

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% with description of the 'id' parameter. Description adds minimal value by repeating that it comes from search, but does not add format or constraints 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?

Clearly states the verb (Fetch), resource (PikaSim eSIM plan details), and lists specific returned fields. Distinguishes from siblings by referencing the ID from the search tool.

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?

Implies usage after the search tool by specifying 'by the id returned from search'. Does not explicitly state when not to use or name alternatives, but context is clear.

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

get_esim_statusA
Read-only
Inspect

Returns the live status, remaining/used data, and expiration date for one eSIM you own, looked up by its ICCID. Read-only. Use this after a purchase to track an eSIM, or whenever a user asks "how much data is left" or "is my eSIM active". The ICCID is returned by purchase_esim/purchase_phone_plan and listed by list_orders. Requires a connected agent wallet (OAuth or ak_live_ key).

ParametersJSON Schema
NameRequiredDescriptionDefault
iccidYesThe ICCID (the eSIM's unique serial number) returned by purchase_esim, purchase_phone_plan, or list_orders
Behavior4/5

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

Annotations already declare readOnlyHint=true; description adds 'Read-only' and mentions required auth (connected agent wallet). Does not contradict annotations.

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?

Three sentences, front-loaded with purpose, no wasted words. Could slightly improve by separating return values into a list.

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 one parameter, no output schema, and readOnlyHint, the description covers return values, dependencies, and use cases adequately.

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% with parameter description. The description repeats the ICCID source but adds no new syntax or format details beyond the 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 clearly states the tool returns live status, remaining/used data, and expiration for one eSIM by ICCID. It distinguishes from sibling tools like cancel_esim, purchase_esim, etc.

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 states when to use: after purchase to track, or when user asks about data left or active status. Mentions ICCID source but does not contrast with other 'get' tools like get_package_details.

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

get_package_detailsA
Read-only
Inspect

Get full details for a specific plan (data eSIM OR phone-number eSIM): coverage, data, voice/SMS allowance, duration, price, networks, and purchase URL. Accepts the packageCode shown in [brackets] by the search tools.

ParametersJSON Schema
NameRequiredDescriptionDefault
packageCodeYesPackage code from a search result (e.g., CKH001 for data, change-plus-7days-1gb for a phone plan)
Behavior4/5

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

Annotations already declare readOnlyHint=true, and the description reinforces this by indicating a read operation. Beyond annotations, it adds detail on what information is returned (coverage, data, voice/SMS, etc.), though it does not mention potential missing fields or limitations. No contradiction exists.

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 sentences long, no wasted words. The first sentence lists the information returned, the second explains the parameter usage. It is efficient and 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?

Despite no output schema, the description lists many attributes of the plan details. It clarifies the input parameter's origin. It contextualizes the tool among siblings as a detail fetcher after search. It is sufficiently complete for its purpose.

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 description coverage is 100% with the packageCode parameter already described. The description adds value by specifying the source of the code (shown in brackets by search tools), providing additional context beyond the 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 clearly states the verb 'Get', the resource 'full details for a specific plan', and specifies the types of plans and attributes (coverage, data, voice/SMS allowance, etc.). It distinguishes itself from sibling tools by focusing on fetching details of a single package given a code.

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 explicitly states that it accepts the packageCode shown in brackets by search tools, providing clear guidance on when to use it (after searching for packages). It does not explicitly mention when not to use, but the context is adequately provided.

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

get_phone_plan_pricingA
Read-only
Inspect

Get the USD price and voice/SMS/data allowance for a specific PHONE-NUMBER eSIM. Accepts the packageCode from search_phone_plans.

ParametersJSON Schema
NameRequiredDescriptionDefault
currencyNoCurrency code (currently only USD supported)
packageCodeYesPhone-plan package code from search_phone_plans (e.g., change-plus-7days-1gb)
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true. The description adds context that it returns price and allowance, but no further behavioral traits are disclosed beyond what annotations provide.

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, no wasted words, front-loaded with the primary action and inputs.

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 tool with two parameters (100% covered), no output schema needed since description outlines returns. Complete.

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%, so the description adds little extra meaning. It mentions that packageCode comes from search_phone_plans, but this is implied by schema description. 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?

Description clearly states the tool retrieves USD price and voice/SMS/data allowance for a phone-number eSIM, specifying the input as packageCode from search_phone_plans. This distinguishes it from sibling tools like get_pricing.

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?

Implies usage by specifying the packageCode comes from search_phone_plans, but does not explicitly state when to use this tool over alternatives like get_pricing or when not to use it.

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

get_pricingA
Read-only
Inspect

Get the USD price for a specific plan (data eSIM OR phone-number eSIM). Accepts the packageCode from any search result.

ParametersJSON Schema
NameRequiredDescriptionDefault
currencyNoCurrency code (currently only USD supported)
packageCodeYesPackage code (data or phone plan)
Behavior3/5

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

Annotations already provide readOnlyHint and openWorldHint, and the description ('Get the USD price') is consistent. No additional behavioral details (e.g., rate limits, idempotency) are provided, but no contradictions exist.

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 succinct sentences with no wasted words. The key information (what it gets, for which plan types, required input) is front-loaded and clear.

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 is simple with two parameters and no output schema, the description adequately covers purpose and input. It could mention that the output is a price value, but is otherwise sufficient.

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 covers both parameters (100% coverage), but the description adds context by specifying that packageCode comes from search results and that the price is in USD, which aligns with the schema's currency description.

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 gets the USD price for a specific plan, specifying both data eSIM and phone-number eSIM, and identifies the required input (packageCode from search results). This effectively differentiates it from sibling tools like get_phone_plan_pricing.

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 after searching for packages ('Accepts the packageCode from any search result'), but does not explicitly state when not to use it or mention alternatives like get_phone_plan_pricing, leaving some ambiguity.

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

get_sms_rental_messagesA
Read-only
Inspect

Read the inbox of a long-term SMS rental: all received messages, newest first, plus the number's status and expiry. Read-only; poll it when the user expects a message. The receiptId comes from rent_sms_number or list_sms_orders. Requires a connected agent wallet.

ParametersJSON Schema
NameRequiredDescriptionDefault
receiptIdYesThe rental receipt ID from rent_sms_number or list_sms_orders
Behavior4/5

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

Annotations include readOnlyHint, and description adds details: 'newest first', 'number's status and expiry', and 'Requires a connected agent wallet'. This goes beyond annotations without contradicting them.

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?

Four sentences with no wasted words. Front-loaded with core purpose, then usage, parameter source, and requirement. Every sentence earns its place.

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 (one param, no output schema). Description covers return values (messages, status, expiry), ordering (newest first), prerequisite (wallet), and usage pattern (polling). Complete for its 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?

Schema coverage is 100% (one param), baseline 3. Description adds value by stating 'The receiptId comes from rent_sms_number or list_sms_orders', which guides the agent on parameter sourcing.

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 'Read the inbox of a long-term SMS rental' with specific verb and resource, and distinguishes from siblings like cancel_sms_verification and list_sms_orders which handle different SMS operations.

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 advises 'poll it when the user expects a message', providing clear usage context. It does not explicitly mention when not to use or list alternatives, but the context is clear given sibling tools.

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

get_sms_service_countriesA
Read-only
Inspect

List the countries offering a quick SMS verification number for one service, with live price, delivery success rate, and whether the number is a real mobile (non-VoIP) or VoIP line. Sorted by success rate — prefer high success rates, and prefer non-VoIP when the target service blocks virtual numbers. Returns each countryId in [brackets] for order_sms_verification.

ParametersJSON Schema
NameRequiredDescriptionDefault
serviceIdYesThe serviceId from search_sms_services (e.g. "395"), or an exact service name
Behavior4/5

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

Annotations already provide readOnlyHint and openWorldHint. The description adds behavioral details: the output is sorted by success rate, includes live price and VoIP status, and returns countryIds in brackets for ordering. 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 three sentences, front-loaded with the core purpose, and every sentence provides useful information without redundancy. It is concise and well-structured.

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?

Despite lacking an output schema, the description fully specifies the return values (live price, success rate, VoIP status, countryId in brackets) and the sort order. It provides sufficient context for an agent to use the tool effectively.

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 in the schema is clear (serviceId from search_sms_services or exact name). The main description does not add additional parameter semantics beyond what the schema provides, so a baseline 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 lists countries for a given service, with specific attributes (live price, success rate, VoIP status). It distinguishes itself from sibling tools like search_sms_services (which lists services) and order_sms_verification (which places 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 implies a workflow: use search_sms_services to get a serviceId, then this tool to pick a country, then order_sms_verification. It offers usage tips like preferring high success rates and non-VoIP for services blocking virtual numbers. However, it does not explicitly state when not to use this tool or mention alternatives.

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

get_topup_optionsA
Read-only
Inspect

List available top-up packages for an existing eSIM, including price and data amount. Use this before topup_esim to find valid package codes. Requires an agent-wallet API key (ak_live_).

ParametersJSON Schema
NameRequiredDescriptionDefault
iccidYesICCID of the eSIM to get top-up options for
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, indicating the tool is safe and idempotent. The description adds the API key requirement, which is useful but does not provide additional behavioral details like rate limits or response characteristics.

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 sentences long with no extraneous words. Every sentence serves a purpose: stating the action, listing key output fields, guiding usage, and noting authentication requirements.

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 simple tool with one parameter and no output schema, the description covers the core purpose, usage guidance, and a key prerequisite. It does not describe the return format, but given the tool's simplicity, this is a minor omission.

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 only parameter (iccid) is fully described in the schema (100% coverage). The description adds context that the eSIM must be existing, which is already implied by the parameter name. Baseline score of 3 is appropriate as the description does not significantly enhance parameter understanding beyond the 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 clearly states 'List available top-up packages for an existing eSIM' with a specific verb and resource, and distinguishes it from the sibling tool 'topup_esim' by mentioning it is used before that. The included details like price and data amount further clarify the output.

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 explicitly tells when to use the tool ('before topup_esim') and mentions the authentication requirement (agent-wallet API key). It lacks explicit when-not-to-use instructions, but the context is clear enough for the intended workflow.

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

list_esimsA
Read-only
Inspect

List every eSIM this wallet owns (the fleet view), newest first: ICCID, plan, order status, install link, and — for fleets of up to 8 — live remaining data inline. Read-only. Use this to answer "which eSIMs do I own / how much data is left" without already knowing an ICCID; then get_esim_status for any single eSIM's full detail. eSIMs only — SMS numbers are listed by list_sms_orders. Requires a connected agent wallet.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo1-based page (50 eSIMs per page)
Behavior5/5

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

Discloses read-only nature beyond annotation, adds ordering (newest first), field details, fleet size limitation, and requirement for a connected agent wallet.

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?

Concise single paragraph efficiently conveys purpose, usage, and constraints without 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?

Comprehensive for a list tool with one optional parameter; describes returned data, ordering, fleet limit, and prerequisites (wallet).

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 for the single 'page' parameter with description including page size. Description adds 'newest first' ordering context, slightly exceeding 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?

Specifies verb 'list', resource 'eSIMs', and details returned fields (ICCID, plan, order status, install link, live data). Clearly distinguishes from siblings like get_esim_status and list_sms_orders.

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 when to use (to list owned eSIMs/data) and when not (for SMS numbers, use list_sms_orders). Provides alternative get_esim_status for full detail.

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

list_ordersA
Read-only
Inspect

Returns the order history for the connected wallet, newest first: each order's ID, package, status, cost, date, ICCID, and install link. Read-only and paginated. Use this to find a past purchase, retrieve an ICCID for get_esim_status, or show a user what they have bought. Results are scoped to this wallet only. Requires a connected agent wallet (OAuth or ak_live_ key).

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo1-based page number to retrieve (default 1)
limitNoNumber of orders per page (default 20, maximum 50)
Behavior4/5

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

Annotations already mark readOnlyHint=true. Description adds that it is paginated, results scoped to wallet, and requires authentication. No contradictions.

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?

Two sentences, efficient and front-loaded with the result description. No wasted words.

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?

Despite no output schema, description lists all returned fields and explains use cases, scope, and auth. With only 2 optional params and annotations present, this is fully complete.

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 parameters page and limit. Description does not add new meaning beyond schema; it only mentions 'paginated', which is implicit. Output field listing is helpful but not parameter semantics.

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 returns order history for the connected wallet, newest first, listing specific fields (ID, package, status, etc.). This distinguishes it from sibling tools like purchase_esim or cancel_esim.

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 states when to use (find past purchase, retrieve ICCID, show user history) and prerequisites (connected wallet with OAuth or ak_live_ key). Does not explicitly mention when not to use, but context of siblings provides that.

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

list_sms_ordersA
Read-only
Inspect

List this wallet's SMS orders — quick verification orders (with their Order IDs) and long-term rentals (with their receipt IDs, numbers, and expiry dates). Read-only. Use it to re-find an order ID or check what is still active. Requires a connected agent wallet.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

Annotations already provide readOnlyHint=true, so the description's mention of 'Read-only' adds no new safety info. However, it adds a behavioral requirement ('Requires a connected agent wallet') beyond annotations. No contradictions present.

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?

Three sentences, each serving a distinct purpose: what the tool does, what data it returns, and usage context. Information is front-loaded, no redundancy or filler.

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 zero parameters and no output schema, the description covers all necessary aspects: purpose, return fields, usage scenario, and prerequisites (wallet connection). It is fully adequate for an agent to use the 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?

The input schema has zero parameters, so schema coverage is 100%. The description does not need to explain parameters. Baseline for no parameters is 4, and description adds no further parameter info, which 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 lists SMS orders for the wallet, differentiating two types (quick verification orders and long-term rentals) and specifies the data returned (Order IDs, receipt IDs, numbers, expiry dates). This distinguishes it from sibling tools like list_sms_rentals and list_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 provides explicit usage scenarios: 're-find an order ID or check what is still active.' It also notes the tool is read-only and requires a connected agent wallet. While it lacks explicit alternatives or 'when not to use,' the context is sufficient for an agent.

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

list_sms_rentalsA
Read-only
Inspect

List long-term SMS RENTAL numbers: keep the same receive-only number for days to months and receive multiple SMS (fair-use 25/day). Shows each country with its rentalId, duration tiers, live prices, and LIVE STOCK per duration — skip tiers marked OUT OF STOCK. US/UK numbers are real mobile (non-VoIP); Canada is VoIP. Not allowed for banking/financial/crypto-exchange verification. Purchase with rent_sms_number.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior5/5

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

Annotations provide readOnlyHint and openWorldHint. Description adds valuable behavioral details: output shows countries with rentalIds, duration tiers, live prices and stock, skips out-of-stock tiers, and distinguishes US/UK (mobile) vs Canada (VoIP). No contradictions.

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?

Concise and well-structured: first sentence states purpose, then key behavior, restrictions, and purchase hint. Every sentence adds value with no 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?

Fully covers what the tool lists (countries, rentalIds, tiers, prices, stock), fair-use limit, VoIP distinction, prohibited uses, and how to purchase using sibling tool. Complete given no output schema.

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?

No parameters in schema (0 params, baseline 4). Description explains what the tool returns, compensating for lack of output schema. No param details needed.

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?

Clearly states it lists long-term SMS rental numbers with specific features (keep number, multiple SMS, fair-use). Distinguishes from sibling tools like rent_sms_number (purchase) by indicating the action and scope.

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 mentions prohibited use cases (banking/financial/crypto) and instructs to use rent_sms_number for purchase, providing clear when-to-use and when-not-to-use guidance.

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

list_transactionsA
Read-only
Inspect

The wallet ledger: every debit and credit (deposits, purchases, refunds) with amount, running balance, and description, newest first. Read-only and paginated; filter with type. Use this to reconcile spend or answer "where did the balance go" — check_balance only gives the current number.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo1-based page (25 transactions per page)
typeNoOnly show this transaction type
Behavior4/5

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

Beyond the readOnlyHint annotation, description adds ordering (newest first), pagination, and filtering capability. Could mention response format more explicitly but sufficient.

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 tight sentences with zero waste. Purpose, usage, and behavior all front-loaded and efficiently communicated.

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?

With 2 simple params, no output schema, and readOnlyHint annotation, the description fully covers what the agent needs: purpose, when to use, behavior, and parameters.

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% so baseline is 3. Description adds ordering context (newest first) and hints at pagination behavior, improving parameter understanding.

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 lists wallet transactions (debits/credits) with specific return fields, and distinguishes from sibling check_balance by contrasting scope.

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 tells when to use this tool (reconciliation, tracking balance changes) and when to use check_balance instead, providing clear decision context.

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

order_sms_verificationA
Destructive
Inspect

Buy a QUICK SMS verification number: returns a temporary phone number the user enters on the target service, then the incoming code is read with check_sms_verification. This SPENDS the wallet balance (typically $0.50-$5). Single-use, valid 20 minutes, auto-refunds if no SMS arrives. Use search_sms_services and get_sms_service_countries first to pick serviceId and countryId. Requires a connected agent wallet.

ParametersJSON Schema
NameRequiredDescriptionDefault
countryIdNoThe countryId from get_sms_service_countries (defaults to United States)
requestIdNoIdempotency key: generate a fresh UUID for each NEW order, and reuse the SAME value when retrying after a timeout or transport error — an identical retry returns the original order instead of charging again. Use a NEW id when deliberately ordering another number.
serviceIdYesThe serviceId from search_sms_services
Behavior5/5

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

Annotations indicate destructiveHint=true and readOnlyHint=false; description adds that it spends wallet balance, is single-use with 20-minute validity, and auto-refunds if no SMS arrives. 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.

Conciseness4/5

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

Three sentences, well-structured and front-loaded with key info. Slightly more verbose than necessary but still efficient.

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 3 parameters and no output schema, the description covers cost, expiry, refund policy, prerequisites, and idempotency. 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.

Parameters5/5

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

Schema coverage is 100%, but description adds meaningful context: countryId defaults to US, serviceId comes from search, and requestId explains idempotency behavior in detail, including when to reuse or use a new value.

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?

Clearly states 'Buy a QUICK SMS verification number' and explains the process of obtaining a temporary number for code reception. Distinguishes from siblings like rent_sms_number by specifying single-use and 20-minute validity.

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 instructs to use search_sms_services and get_sms_service_countries first, and mentions the need for a connected agent wallet. Provides clear context on when to order and prerequisites.

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

purchase_esimA
Destructive
Inspect

Purchase a DATA eSIM. Deducts from your prepaid agent wallet and returns order details with activation info (ICCID, QR code, SM-DP+). Use the packageCode from search_esim_packages. For a daily-reset "Unlimited" plan, also pass days (the number of days to buy). For phone-number eSIMs use purchase_phone_plan instead. Requires an agent-wallet API key (ak_live_).

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoONLY for daily-reset "Unlimited" plans (get_package_details shows "Type: Daily unlimited"): the number of days to purchase. Valid values: 3, 5, 7, 10, 15, 30. Required for those plans, and the total charged is the per-day price times this many days (minus a duration discount). Omit for fixed-data plans.
promoCodeNoOptional promo/discount code. Validated server-side; an invalid code rejects the order with the reason (nothing is charged). Only pass a code the user explicitly provided.
requestIdNoIdempotency key: generate a fresh UUID for each NEW purchase, and reuse the SAME value when retrying after a timeout or transport error — an identical retry returns the original order instead of charging again.
packageCodeYesThe data-eSIM package code shown in [brackets] by search_esim_packages or get_package_details (e.g. P6ZMSDS1G). Phone-plan codes are not valid here; use purchase_phone_plan for those.
Behavior5/5

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

Discloses that purchase deducts from prepaid wallet, and explains idempotency via `requestId` to avoid double charges. Also notes that invalid promo codes reject without charging. These details add significant value beyond the annotations (destructiveHint=true, idempotentHint=false). No contradiction.

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?

Three sentences, front-loaded with main action and effects. Every sentence adds essential information without redundancy. Efficient and well-structured.

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?

Despite no output schema, description states return includes order details with activation info (ICCID, QR code, SM-DP+), providing sufficient expectation. All parameters are documented in the schema, and the description covers usage context comprehensively.

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?

Schema coverage is 100%, but description enriches parameters by clarifying that `days` applies only to daily-reset unlimited plans and that `packageCode` must come from `search_esim_packages`. Also explains `requestId` idempotency and `promoCode` validation behavior.

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 'Purchase a DATA eSIM' with specific verb and resource, and distinguishes from `purchase_phone_plan` for phone-number eSIMs. It also references `packageCode` from `search_esim_packages`, making the purpose unambiguous.

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 says when to use this tool (data eSIMs) and when not (phone-number eSIMs: use `purchase_phone_plan` instead). Provides context for daily-reset plans requiring `days`, and notes the requirement for an agent-wallet API key (`ak_live_`).

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

purchase_phone_planA
Destructive
Inspect

Purchase a PHONE-NUMBER eSIM — a plan with a real carrier phone number (voice + SMS + data). Deducts from your prepaid agent wallet and returns order details with activation info (ICCID, QR code, SM-DP+). The real phone number is assigned by the carrier when the eSIM registers on the network and appears in the device settings after activation. Use the packageCode from search_phone_plans. Plans whose search result says "designated-date activation" REQUIRE activationDate. Requires an agent-wallet API key (ak_live_).

ParametersJSON Schema
NameRequiredDescriptionDefault
promoCodeNoOptional promo/discount code. Validated server-side; an invalid code rejects the order with the reason (nothing is charged). Only pass a code the user explicitly provided.
requestIdNoIdempotency key: generate a fresh UUID for each NEW purchase, and reuse the SAME value when retrying after a timeout or transport error — an identical retry returns the original order instead of charging again.
packageCodeYesPhone-plan package code (use search_phone_plans to find codes, e.g., change-plus-7days-1gb)
activationDateNoActivation date in YYYY-MM-DD — ONLY for plans marked "designated-date activation" in search results (e.g. the Australia phone plan), where it is REQUIRED and must be at least 2 and at most 60 days from today. Ask the user for their service start date. Omit for all other plans.
Behavior5/5

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

Discloses destructive nature (deducts from wallet), idempotency via requestId, and activation details (carrier assigns number after activation). 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.

Conciseness4/5

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

Well-structured with key info front-loaded, but slightly lengthy. Still earns its place with value-added details.

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 full schema coverage, no output schema, and complex behavior, the description is complete. Explains workflow and dependencies (e.g., search_phone_plans, designated-date activation).

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?

Adds significant context beyond schema: explains promoCode validation (invalid code rejects order), requestId idempotency (retry reuse), and activationDate conditional requirement. Enriches all parameters.

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 purchases a 'PHONE-NUMBER eSIM' with voice+SMS+data, distinguishing it from sibling tools like purchase_esim. Uses specific verb-resource pairing.

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?

Provides clear context on when to use: to get a carrier phone number. Instructs to use packageCode from search_phone_plans and notes the need for an agent-wallet API key. Doesn't explicitly say when not to use vs. alternatives, but the context is sufficient.

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

rent_sms_numberA
Destructive
Inspect

Rent a LONG-TERM receive-only SMS number: the user keeps the same number for the whole rental and can receive multiple SMS (fair-use 25/day). This SPENDS the wallet balance. Use list_sms_rentals first for rentalId, valid day tiers, prices, and live stock (do not order an OUT OF STOCK tier). Extendable before expiry with extend_sms_rental. Not allowed for banking/financial/crypto-exchange verification; refundable only within 2 hours and only if no messages arrived. Requires a connected agent wallet.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysYesRental duration in days — must be one of the duration tiers list_sms_rentals shows for this rentalId
rentalIdYesThe rentalId from list_sms_rentals (e.g. 11 for United States)
requestIdNoIdempotency key: generate a fresh UUID for each NEW rental, and reuse the SAME value when retrying after a timeout or transport error — an identical retry returns the original rental instead of charging again.
Behavior5/5

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

Annotations indicate destructiveHint=true and idempotentHint=false, but the description adds crucial behavioral context: spending wallet balance, refund policy (2-hour window, only if no messages), fair-use limit (25/day), and idempotency via requestId. This is beyond the annotations and fully informs the agent.

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 three sentences, front-loaded with the main action and key features. Every sentence adds value: purpose, usage constraints, and prerequisites. No unnecessary words or repetition.

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?

The description covers all critical aspects for tool selection and invocation: purpose, required parameters, constraints, and post-actions. However, it does not describe the return value (e.g., rented number details), which would be helpful for handling the response. With no output schema, this is a minor gap.

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?

Schema description coverage is 100%, but the description enriches each parameter with practical usage guidance: days must be from tier list, rentalId example (e.g., 11 for US), and requestId for idempotent retry. This adds meaning beyond the schema definitions.

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: renting a long-term receive-only SMS number. It specifies the verb 'rent', the resource 'SMS number', and key characteristics (long-term, same number, multiple SMS, fair-use limit). It distinguishes from siblings like order_sms_verification (short-term) and list_sms_rentals (listing).

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 tells when to use the tool (for long-term rental) and when not to (not allowed for banking/financial/crypto-exchange). It advises checking list_sms_rentals first for availability and pricing, and mentions extendability via extend_sms_rental. This provides clear alternatives and context.

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

search_esim_packagesA
Read-only
Inspect

Search PikaSim eSIM plans by country code, region, or keyword. Returns BOTH product lines in separate buckets: DATA eSIMs and PHONE-NUMBER eSIMs (real carrier number + voice + SMS). Each result shows its packageCode in [brackets] for purchasing. Use type to narrow to one line.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoWhich product line to return: "data" (data-only eSIMs), "phone" (phone-number eSIMs with voice+SMS), or "all" (both, default)
queryNoSearch keyword (e.g., "Japan 10GB")
regionNoRegion name (e.g., Europe, Asia, Global)
countryNoISO 3166-1 alpha-2 country code (e.g., JP, US, DE)
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the safety profile is clear. The description adds that results are in separate buckets with package codes in brackets, which is useful but not extensive 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.

Conciseness4/5

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

The description is four sentences, each adding value, but could be slightly more concise. It front-loads the main action and then adds details.

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, the description adequately explains return format (separate buckets, packageCode in brackets). It covers search criteria and filtering, which is sufficient for this tool's complexity.

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%, so the schema already documents parameters well. The description's mention of 'country code, region, or keyword' adds little beyond the schema's own descriptions.

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 specifies the tool searches PikaSim eSIM plans by country, region, or keyword, and explicitly distinguishes it from siblings by noting it returns both DATA and PHONE-NUMBER eSIMs in separate buckets.

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 advises using `type` to narrow results to one line, providing clear context. However, it does not explicitly state when to use this tool over alternatives like `search_phone_plans`.

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

search_phone_plansA
Read-only
Inspect

Search PikaSim PHONE-NUMBER eSIMs — plans that include a REAL carrier phone number (not VoIP) with voice calls, SMS, and data. US plans give a real +1 number on AT&T and T-Mobile; local country plans cover Europe (French +33 number), Australia, Mongolia, Vietnam, and Maldives; global plans cover 157 countries. Use this when a user wants to call or text, not just data. Each result shows its packageCode in [brackets] for purchase_phone_plan.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoSearch keyword (e.g., "US 5GB")
regionNoRegion name (e.g., Global)
countryNoISO 3166-1 alpha-2 country code (e.g., US for a real +1 number)
Behavior4/5

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

Annotations declare readOnlyHint=true and openWorldHint=true. Description adds that plans include real carrier numbers (not VoIP), details on network partners (AT&T, T-Mobile), and that results show packageCode in brackets, which informs purchase flow.

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?

Description is well-structured: first sentence defines purpose, second sentence details plan types, third provides usage guidance, fourth mentions result format. Informative but efficient.

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 fully explains what the tool returns (plans with real numbers, packageCode in brackets) and covers all parameter meanings implicitly. Sufficient for an agent to use 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?

Schema has 100% description coverage for all three parameters, so baseline is 3. Description adds overarching context (e.g., country parameter corresponds to ISO code for real number), but does not significantly extend parameter-specific meaning 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?

Description states 'search PikaSim PHONE-NUMBER eSIMs' and distinguishes these as plans with real carrier phone numbers for voice/SMS/data, not just data. Specific examples (US, local, global) clarify scope.

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 says 'Use this when a user wants to call or text, not just data.' This directly tells when to use this tool vs alternatives like search_esim_packages.

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

search_sms_servicesA
Read-only
Inspect

Search the SMS VERIFICATION service list — websites/apps a receive-only verification number can get a code for (Discord, Google, Telegram, ...). This is the SMS product line (no eSIM, nothing to install): the user gets a temporary phone number and reads the incoming code. Returns service names with their serviceId in [brackets]. If the target service is not listed, search "Other" — the catch-all works for any site. Next step: get_sms_service_countries.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoService name to search for (e.g. "Discord", "Google", "Tinder"). Omit to list the most popular services.
Behavior4/5

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

Annotations indicate readOnlyHint and openWorldHint. Description adds that the tool returns service names with serviceId in brackets and mentions the catch-all behavior for any site. No contradictions.

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?

Four sentences, front-loaded with purpose. Every sentence adds value: purpose, behavior, catch-all hint, and next step. No wasted words.

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 search tool with one optional parameter, the description covers return format, catch-all behavior, and next step. Output schema is absent but not needed given the explanatory 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?

Schema already thoroughly describes the single optional parameter (query) with examples and behavior when omitted. Description reinforces but adds minimal new information since schema coverage is 100%.

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 searches the SMS verification service list for websites/apps that accept temporary numbers. It distinguishes from sibling search tools like search_esim_packages and search_phone_plans by specifying this is the SMS product line.

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?

Provides context for when to use (finding SMS verification services) and gives a fallback hint (search 'Other' catch-all). Includes next step (get_sms_service_countries). Lacks explicit when-not-to-use, but differences from siblings are implied.

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

topup_esimA
Destructive
Inspect

Adds more data (and on some plans voice/SMS) to an existing eSIM the user already owns, without issuing a new eSIM. This SPENDS the wallet balance and cannot be undone. First call get_topup_options with the same ICCID to get valid top-up package codes and prices, then pass one here. Use when a user wants to extend an eSIM that is running low rather than buy a new one. Requires a connected agent wallet (OAuth or ak_live_ key).

ParametersJSON Schema
NameRequiredDescriptionDefault
iccidYesThe ICCID of the eSIM to top up (from list_orders or a prior purchase)
promoCodeNoOptional promo/discount code. Validated server-side; an invalid code rejects the top-up with the reason (nothing is charged). Only pass a code the user explicitly provided.
packageCodeYesA top-up package code returned by get_topup_options for this ICCID (top-up codes differ from new-purchase codes)
Behavior5/5

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

Beyond annotations (destructiveHint=true), the description adds that it spends wallet balance and requires a connected agent wallet, providing critical behavioral context.

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?

Four well-structured sentences, no fluff, front-loaded with the core action, followed by key constraints and prerequisites.

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?

The description covers purpose, usage, parameters, and constraints well. However, since there is no output schema, describing the return value (e.g., success status, balance update) would improve 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 coverage is 100%, so baseline is 3. The description adds value by linking packageCode to get_topup_options and ICCID to list_orders, and clarifies promoCode validation. This slightly exceeds 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 uses specific verb 'Adds more data' to an existing eSIM and clearly distinguishes from siblings like purchase_esim (new eSIM) and get_topup_options (retrieving options).

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 when to use (extend an eSIM running low) and provides prerequisite: call get_topup_options first. Also mentions irreversible nature and wallet spending.

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