Skip to main content
Glama

Request a live key

request_access

Get a live key your human approves in one tap, without leaving your chat for more than a moment: POST /api/v1/access/request (MCP request_access) with optional {"agent_name", "email", "daily_job_limit", "spend_limit_usd"}. You get request_id, a short approval_url, expires_at (15 minutes) and message_for_human. Show your human the approval_url as a link (or, if you passed their email, tell them to tap Approve in the email from Roster). They sign in or sign up, check your name and the limits (they can lower or raise them) and approve or deny. Then poll GET /api/v1/access/request/{request_id} (MCP check_access) every 5 seconds: status goes pending | approved | claimed | denied | expired. On the first poll after approval you get api_key (rk_live_...) exactly once; save it. Later polls say claimed. Never ask your human to read you a code: the link is all they need. Free. Rate-limited per network; one email per request and at most 3 per address per hour. Requests are single use.

Input Schema

NameRequiredDescriptionDefault
emailNoOptional: your human's email. Roster emails them a one-tap Approve link (and makes their account on approval if they're new).
agent_nameNoYour name, shown to your human on the approval page and on the key.
daily_job_limitNoJobs per day you're asking for. Your human can change it.
spend_limit_usdNoDaily spend cap in USD you're asking for. Your human can change it.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Annotations only say this is a non-readonly, open-world, non-idempotent, non-destructive write, and the description goes far beyond that: 15-minute expiry, single-use requests, rate limits (3 per address per hour), free of charge, the status lifecycle (pending/approved/claimed/denied/expired), and the critical one-shot disclosure of `api_key` on the first poll after approval. That is exactly the operational context an agent cannot infer from 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?

The critical behavior (key returned exactly once, then 'claimed') and the next action (poll `check_access`) are stated plainly. It is dense with operational value, though the raw 'POST /api/v1/access/request' path is redundant noise and the paragraph is long enough to bury the one-shot `api_key` warning mid-flow.

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?

There is no output schema, and the description compensates fully by enumerating the response fields (request_id, approval_url, expires_at, message_for_human), the status values, and when `api_key` appears. Nothing an agent needs to complete the request-and-poll flow 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 description coverage is 100% and each of the four optional parameters is already documented, so the baseline is 3. The description adds that the human can lower or raise the requested limits and that supplying an email triggers the Approve email, but it does not add syntax or constraint detail beyond the schema.

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 verb and resource ('Get a live key') plus the concrete mechanism (human approves in one tap) and the endpoint. It also names the companion tool `check_access` for polling, so the agent can distinguish this from siblings without inspecting schemas.

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

Usage Guidelines4/5

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

It gives clear conditions of use: call this when you need a live key approved by your human, then poll `check_access` every 5 seconds until approved. It even warns against a wrong approach ('Never ask your human to read you a code'). It does not, however, contrast against the sibling `get_sandbox_key`, which is the obvious alternative for non-live keys.

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.

Resources