Check data usage
get_esim_usageHow much data an active eSIM has used, and how much is left.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| order_id | Yes | order_id of a fulfilled order |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
get_esim_usageHow much data an active eSIM has used, and how much is left.
| Name | Required | Description | Default |
|---|---|---|---|
| order_id | Yes | order_id of a fulfilled order |
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Changes observed during successful MCP inspections. Dates show when Glama detected each change.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, providing a safe read profile. The description adds useful behavioral context: it specifically notes 'active eSIM', implying it will not work for inactive eSIMs, and clarifies that it returns both used and remaining data. This goes beyond the structured annotations and adds meaningful constraint information.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence: 'How much data an active eSIM has used, and how much is left.' It is front-loaded with the core query, contains zero filler, and every word contributes to the meaning. This is an exemplary level of conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, read-only, with output schema), the description is adequate. It clearly states what the tool returns (used and remaining data) and the condition ('active eSIM'). No additional information like error handling or return format is strictly necessary, as the output schema exists. A minor gap is the lack of mention of what happens if the eSIM is not active, but this is a small omission for an otherwise complete description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides full coverage (100%) for the single required parameter, order_id, with the description 'order_id of a fulfilled order'. The tool description adds no additional meaning about the parameter, so it does not improve upon the schema's documentation. This aligns with the baseline score for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly explains the tool's purpose: showing how much data an active eSIM has used and how much remains. It distinguishes this from sibling tools like get_order_status and get_plan_details by focusing specifically on data usage. While it lacks an explicit verb, the title 'Check data usage' and the description together convey the action clearly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool should be used to query data usage for an active eSIM, but it does not explicitly state when to use it over alternatives. No exclusions or alternative tool names are mentioned, leaving the agent to infer the appropriate context from the description and sibling tool names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
Each tool serves a distinct purpose: planning, ordering, payment, activation, usage, top-up, and cancellation. No two tools overlap in functionality; even create_checkout and pay_order are distinct (one initiates and returns a payment URL, the other handles x402-only payment).
All 11 tools follow a consistent verb_noun snake_case pattern (e.g., cancel_order, get_esim_activation, search_esim_plans). The variety of verbs (create, get, list, search, cancel, pay) is appropriate for the actions represented, and there are no naming inconsistencies.
The server has 11 tools, well within the ideal 3-15 range. Each tool covers a necessary step in the eSIM lifecycle without redundancy, making the toolset appropriately scoped and manageable.
The toolset covers the full eSIM workflow: plan discovery (search, get details), purchasing (create_checkout), top-ups (create_topup_checkout, list_topup_options), payment (pay_order), order tracking (get_order_status, list_my_orders), activation (get_esim_activation), usage (get_esim_usage), and cancellation (cancel_order). No critical gaps are apparent.