Skip to main content
Glama

Send eSIM login code

request_login_otp

Start user login by sending a one-time six-digit code to their email or phone for verification.

Instructions

Start login: ask the eSIM platform to send a six-digit one-time code to the user's email address or phone number. WHEN: the user wants to log in or sign in, or something you are about to do needs a signed-in user and get_login_status reports nobody is signed in. FIRST: ask the user which email address or phone number to use if they have not said yet. Pass exactly one of them, exactly as the user gave it. Never invent, guess or auto-complete an address or number. AFTER SUCCESS: tell the user that a code was sent to the masked destination in the result and ask them to read out the six-digit code, then call verify_login_otp. The user is NOT logged in yet -- do not say login is complete. DO NOT call this tool again for the same login attempt; it is rate limited. If the user says the code never arrived, use resend_login_otp.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
emailNoThe user's email address, exactly as they gave it. Ask the user for it if you do not have it yet; never invent, guess or auto-complete an address.
phoneNoThe user's phone number in international format, for example +CCXXXXXXXXX, exactly as they gave it. Never invent or guess a number.
localeNoOptional language tag for platform messages, e.g. 'en'. Omit to use the server default.
currencyNoOptional ISO-4217 currency code, e.g. 'USD'. Omit to use the server default.
otp_channelNoDelivery channel for the code: 'EMAIL' or 'SMS'. Omit it unless the user asked for a specific channel -- email logins default to EMAIL and phone logins to SMS.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Behavior5/5

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

The description discloses rate limiting ('DO NOT call this tool again for the same login attempt; it is rate limited'), the fact that the user is NOT logged in after success, and the masked destination in the result. These behaviors go beyond the annotations, which only indicate non-read-only, non-idempotent, and non-destructive hints.

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 organized with clear, labeled sections (WHEN, FIRST, AFTER SUCCESS, DO NOT) and each sentence conveys a necessary instruction. It is longer than average but every line adds value, and the structure makes it easy for an agent to parse and execute.

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 the tool's complexity, the description covers the full lifecycle: what triggers the tool, what to ask the user, what to pass, what the result means, what to do next, and what to avoid. The presence of an output schema means return values need not be detailed, and the description provides all needed context.

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?

Though schema coverage is 100%, the description adds critical semantic usage: 'Pass exactly one of them, exactly as the user gave it' and 'Never invent, guess or auto-complete an address or number.' It also clarifies the otp_channel default behavior and the optional nature of locale/currency without repeating schema details.

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 the specific verb and resource: 'ask the eSIM platform to send a six-digit one-time code to the user's email address or phone number.' This clearly distinguishes it from siblings like resend_login_otp and verify_login_otp by framing the action as starting a login.

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?

Explicit WHEN conditions are provided: when the user wants to log in, or when an action requires a signed-in user and get_login_status reports no one signed in. It also instructs to ask for the destination first, to call verify_login_otp after success, and explicitly says to use resend_login_otp if the code never arrives.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/samah-jamal-monty/esim-opensource-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server