Skip to main content
Glama

MyOTP.App

Get a MyOTP credit top-up quote

get_topup_quote
Read-onlyIdempotent

Get the live price and payment options for buying MyOTP credits, without making a purchase. Use this when generate_otp or another send fails with HTTP 403 insufficient balance / NoBalance, or before calling top_up_credits to show the cost. Returns USDC and card client commands and never exposes the configured API key.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
creditsNoNumber of credits to quote. Integer from 25 to 50,000; defaults to 100.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
rulesYesTop-up limits: unit price, minimum, maximum and the card cap.
creditsYesThe number of credits priced.
methodsYesHuman-readable list of the accepted payment methods.
currencyYesAlways 'usd'.
amount_usdYesTotal price in US dollars, as a decimal string.
how_to_payYesReady-to-run client commands for this amount.
max_creditsYes
min_creditsYes
price_per_credit_usdYesUnit price. Currently 0.02.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false. The description adds meaningful behavioral context beyond those: it performs no purchase, returns live pricing and payment options, and 'never exposes the configured API key' — a critical safety guarantee for the agent. 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?

Three tightly written sentences, each earning its place: what it does, when to use it, and what it returns. The most important scoping statement ('without making a purchase') is front-loaded, and there is zero redundant wording.

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

Completeness5/5

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

For a one-parameter, read-only quote tool with a full output schema, the description is complete. It covers purpose, triggers, safety, and return characteristics. The output schema handles return-value details, so nothing critical is missing for an agent to invoke this tool correctly.

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

Parameters3/5

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

The input schema has 100% description coverage for the sole 'credits' parameter, including type, range, default, and meaning, so the schema already carries the full burden. The description adds no additional parameter-specific guidance, so the 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 has a specific verb ('Get'), a specific resource ('live price and payment options for buying MyOTP credits'), and explicitly distinguishes itself from purchase actions: 'without making a purchase.' It also names its sibling relationship by referencing top_up_credits and generate_otp failures, leaving no ambiguity about what this tool does.

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

Usage Guidelines5/5

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

The description gives concrete trigger conditions: use it when generate_otp or another send fails with HTTP 403 insufficient balance / NoBalance, or before calling top_up_credits to show the cost. This is explicit, actionable guidance that tells an agent exactly when to select this tool over alternatives.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.4/5.0
Disambiguation4/5

OTP operations are clearly separated: generate, verify, check status, and extend each have distinct responsibilities, and the descriptions explicitly differentiate check_otp_status from verify_otp. The only real ambiguity is between get_account_info and get_account_status, which both return similar account/balance/plan details with somewhat fuzzy boundaries.

Naming Consistency5/5

All tools use consistent snake_case verb_noun naming, with get_ prefixed for read operations and action-specific verbs like generate, verify, extend, and top_up for state-changing operations. There are no mixed conventions or vague generic names.

Tool Count5/5

Ten tools is well-scoped for an OTP service covering account lifecycle, OTP operations, billing/top-up, and reporting. Each tool maps to a distinct workflow step, and none feel redundant or unnecessary.

Completeness5/5

The OTP lifecycle is fully covered from generation through verification, status checking, and extension, with supporting account, top-up, and usage-reporting tools. There are no obvious dead ends for typical OTP verification and billing workflows.