Skip to main content
Glama

device_claim

Poll for the result of a device_start flow. Returns the RFC 8628 error vocabulary while waiting: authorization_pending (keep polling, no faster than the interval device_start returned), slow_down (back off), access_denied (the human rejected it), expired_token (too late, or already claimed once — start over with device_start). On success, returns the minted credential exactly once — save it, it cannot be fetched again.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
device_codeYesThe device_code returned by device_start.

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?

No annotations are present, so the description carries the full burden—and it delivers. It discloses the polling interval constraint ('no faster than the interval device_start returned'), the error semantics, and the critical one-time retrieval property ('returns the minted credential exactly once — save it, it cannot be fetched again'). This is rich behavioral detail beyond any structured metadata.

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 a single dense paragraph, but every clause earns its place. It front-loads the purpose, then covers error vocabulary and the success path. The parenthetical-heavy error list makes it slightly harder to parse, but the length is justified given RFC 8628's complexity.

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?

Despite having no output schema and no annotations, the description is sufficient for an agent to call this tool correctly. It explains all polling outcomes, when to stop polling, when to restart, and the irreversible success state—nothing essential 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%, and the description adds no new meaning to the single parameter, device_code, beyond what the schema already states ('The device_code returned by device_start.'). Baseline 3 is appropriate since the schema fully documents the parameter.

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+resource: 'Poll for the result of a device_start flow.' It clearly distinguishes this tool from its sibling device_start by positioning device_claim as the poller and device_start as the flow initiator, and further clarifies the success case (minted credential) and failure cases.

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?

The description provides clear usage context: call this after device_start, keep polling on authorization_pending, back off on slow_down, and restart the flow on expired_token. It does not explicitly enumerate when not to use it, but the polling semantics and restart instruction effectively communicate the workflow.

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