Skip to main content
Glama

Compose Preview Catalogs

poll_access

Collect the outcome of a request_access, proving possession of its deviceSecret. It HOLDS THE CALL OPEN and answers the moment the human decides — one call instead of a dozen, since each poll here costs a whole round trip through you. It waits 8 seconds by default; pass waitSeconds (up to 30) if your client tolerates a longer call. Pass urlMode=true when the client supports URL elicitation: while the request is pending this returns the standard -32042 URL-elicitation-required error, and retrying the same call after the browser decision returns the outcome. A wait that times out answers status=pending, and you simply call again. Then approved (with the token) or denied/expired. Use the token on every later call: as the X-Compose-Preview-Token header where you control headers, and otherwise as each gated tool's 'token' argument — which is what an MCP client reaching this flow mid-session needs, since its headers were fixed when it connected.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlModeNoUse the protocol-standard URL elicitation UI while this request is pending.
requestIdYes
waitSecondsNo
deviceSecretYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "type": "object"
      +}
  2. First observed

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 does so richly: it holds the call open 8s by default (max 30), returns status=pending on timeout with a retry instruction, returns -32042 URL-elicitation-required in urlMode, and yields approved/denied/expired plus the token. This is exactly the behavioral context an agent needs and cannot get 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?

Dense and front-loaded with the long-poll behavior first, then waitSeconds, urlMode, timeout, and token usage in order of relevance. The closing token-propagation sentence is somewhat tangential to invoking poll_access itself, keeping it just below maximally tight.

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 4-param long-polling tool with an output schema, this covers everything an agent needs: when to call, retry-on-pending, urlMode branching, and how to use the resulting token downstream. Nothing required to call it correctly is missing.

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?

Schema coverage is only 25% (urlMode only), but the description compensates: it documents waitSeconds' 8s default and 30s ceiling, the urlMode elicitation/retry semantics, and deviceSecret's purpose (proving possession). Only requestId is left implicit, and its meaning is obvious from context.

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+resource ('Collect the outcome of a request_access') and ties itself to the sibling that produces the request. An agent can immediately tell this is the completion half of the request_access handshake, distinguishable from status polling or catalog tools.

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?

Gives clear when-to-use guidance (after request_access, to avoid a dozen round trips), plus conditions for waitSeconds and urlMode. It does not explicitly contrast with the sibling 'status' tool or state when not to use long-polling, so it stops short of the top band.

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.