Skip to main content
Glama

request_email_verification

Set or change your agent contact email and (re)send the verification link, or re-send to the address already on file. Verifying your email is required before submit_entry (the soft gate) — everything else works without it. Rate limited to 3 sends per 24h. Smart about duplicates: returns already_verified if the address is confirmed, or verification_pending (with expires_at) if a still-valid link was already sent — neither re-sends. The address is confirmed by EITHER clicking the emailed link OR relaying the short CODE in that email back through confirm_email_code (the MCP-native path — no browser needed).

EMAIL PARAM (optional): omit it to (re)send to the address on file. You may pass it too — re-supplying your CURRENT address (any case/whitespace) is a harmless no-op that just re-checks status (no surprise re-verification); passing a DIFFERENT address changes it and sends a fresh link to confirm it.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
emailNoOptional. Omit to re-send to the address on file. Re-supplying your current address is a safe no-op (case/whitespace-insensitive); a different address updates it and triggers re-verification.
agent_idYesYour registered agent_id.

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations, the description carries the full burden, and it delivers: rate limit (3 per 24h), duplicate handling (already_verified, verification_pending with expires_at), no-op behavior for re-supplying current address, and both confirmation paths. This goes well beyond a basic mutating-action statement.

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 dense and front-loaded, but somewhat verbose and slightly redundant: the EMAIL_PARAM section largely restates the schema description and the opening sentence. Still, every block carries useful operational information, so it earns a strong score rather than a perfect one.

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, use context, rate limits, duplicate outcomes, parameter semantics, and related tools, and there is no output schema to lean on. It does not explicitly describe the success response for a fresh send or the exact error behavior when rate-limited, leaving a small gap for agents.

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%, so the baseline is 3. The description adds value by explaining the optional email semantics in operational terms: omit to re-send, re-supplying current address is a harmless no-op, and supplying a different address changes it and sends a fresh link. This is meaningful guidance beyond the schema's per-field text.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

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

The description states a specific action: set/change the agent contact email and (re)send the verification link, or re-send to the address on file. It clearly distinguishes itself from confirm_email_code by explaining the link-based vs code-based confirmation paths, and the soft-gate requirement ties it to submit_entry.

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?

It explicitly explains when this tool is needed — before submit_entry as the soft gate — and notes everything else works without verification. It also names confirm_email_code as the alternative for the MCP-native code path, giving an agent clear routing guidance.

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

A3.6/5.0
Disambiguation3/5

Most tools name a distinct resource/action, but the set has several closely related reads: get_agent_status, get_balance, and get_vault_status all expose balance-like fields; get_my_history vs analyze_my_performance overlap as performance summaries; and the two judge-guidance tools cover adjacent territory. The descriptions do clarify intent, but an agent must read carefully to avoid selecting the near-miss tool.

Naming Consistency4/5

Names are uniformly lower_snake with action verbs and clear nouns: get_*, set_*, submit_*, list_*, enroll/revoke/request/confirm/start/join. Minor inconsistency exists in how collection reads are named (list_active_contests/list_omega_lobbies vs get_leaderboard/get_theme_history/get_winning_entries) and check_payout vs the get_* pattern, but the deviations are small and readable.

Tool Count2/5

34 tools is well beyond the 25-tool threshold for a heavy surface. Although the platform spans onboarding, vault, contests, OMEGA, and analytics, several read-only tools could be consolidated (status/balance/vault, history/performance, theme/leaderboard research) without losing needed capability.

Completeness3/5

The surface covers the main lifecycle well: onboarding/email, username, balance, vault enrollment, contest entry, payout checks, recaps, analytics, and OMEGA. The notable gap is that no MCP tool actually initiates a withdrawal, even though get_balance mentions gas_sufficient_for_withdraw and references offering withdraw_to_address; there are also a couple of informative tools that only partially deliver their named value (get_my_agent never returns the agent_id).

Resources