Skip to main content
Glama

render_auth_link

Read-only

Render an authorization or verification URL as a clickable link followed by a scannable QR code inside a fenced code block. This is a local computation tool — no HTTP request is made. Its output comes back to you, not to the user: copy the link, and the QR block inside its fence, into your reply.

Agent usage: pass a LINK field from an earlier response — deep_link (create_session, create_chat_id_discovery always; start_login, create_account, start_2fa, start_2fa_for_action, start_add_phone on telegram/whatsapp ONLY, where on sms and email that field is empty or absent altogether and this tool rejects it either way), challenge.deep_link (create_verification, messenger channels only), or telegram_deep_link / whatsapp_deep_link.

Do NOT pass qr_text to this tool: that field is a QR code already rendered as text, and this tool takes a link. When a response gives you qr_text and no link, print it verbatim inside a fenced code block instead — its rows only scan while they stay adjacent, so a blank line or wrapped row destroys the code.

The user does not see tool results — most clients fold them away, render_auth_link's output included. Before you wait or poll, put what the user must act on into your own reply text: the link itself (not a sentence announcing it), the SMS text and number, or a note to check their inbox.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYesThe link to render — e.g. a deep_link response field. Never a qr_text value: that is the link already rendered as QR art.
labelNoOptional label to display above the link (e.g. "Verify your phone number")

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only declare readOnlyHint=true; the description adds a lot beyond that — it is a local computation with no HTTP request, output returns to the agent rather than the user, most clients fold tool results away, and the agent must relay the actionable content into its own reply text. That is genuinely useful behavioral context absent from the structured fields.

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?

Purpose and output form are front-loaded and every paragraph carries real instruction, but the middle 'Agent usage' paragraph is a single dense sentence with deeply nested parentheses that is hard to parse on first read. Slightly tighter phrasing would improve scannability without losing content.

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 stateless local render tool with readOnlyHint, no output schema, and only two parameters, the description covers purpose, valid inputs, invalid inputs, output shape, and how the agent must relay results. Nothing an agent needs to call and act on this tool is missing.

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 both parameters are already documented in the schema, including the warning that url must never be a qr_text value. The description's added value is the enumeration of concrete source fields for url, but it largely restates the schema's own guidance, keeping it at the baseline for high coverage.

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?

States a specific verb and output form: render an authorization/verification URL as a clickable link plus a scannable QR code inside a fenced code block. It immediately clarifies the resource (LINK/deep_link fields) and separates itself from the sibling behavior of printing qr_text, so an agent can tell what it does without opening the schema.

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 names which earlier-response fields to pass (deep_link, challenge.deep_link, telegram_deep_link, whatsapp_deep_link) and the exact tools/channels each comes from, plus when the field is empty or absent. It also states the when-not case: do not pass qr_text, and print it verbatim in a fenced block instead.

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.