Skip to main content
Glama

Start Alza mobile API OAuth

auth_start

Start OAuth 2.0 PKCE sign-in for Alza to get an authorization URL and state. Use when authentication fails or no token is loaded, then call auth_exchange with the redirect code.

Instructions

Start an OAuth 2.0 PKCE sign-in for the Alza mobile API: returns an authorization URL plus a state value. Use when account_status reports no loaded token, or when account tools start failing with authentication errors. Flow: open the returned authorization URL in a browser, sign in to Alza, the app redirects to alza://identity?code=...&state=... — then call auth_exchange with that code and this state. This call only creates a local PKCE session: the user's credentials never enter the MCP and nothing changes on Alza's side. Do not call it repeatedly for one sign-in — each call supersedes the previous state.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
stateYes
authorizationUrlYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

A4.9/5.0
Behavior5/5

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

The annotations declare readOnlyHint=false, openWorldHint=true, idempotentHint=false, and destructiveHint=false. The description goes beyond these by disclosing that 'this call only creates a local PKCE session: the user's credentials never enter the MCP and nothing changes on Alza's side,' which clarifies the external side-effect scope and security posture. It also states that repeated calls supersede previous state, reinforcing non-idempotency. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is information-dense, front-loaded with the core purpose and return, followed by usage triggers, a step-by-step flow, and a safety warning. There is no filler or redundancy. Every sentence earns its place, and it is appropriately sized for a multi-step OAuth initiation 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?

Given that an output schema exists (though not shown), the description does not need to detail the exact response format, but it does mention the key elements (URL and state). It covers when to use, the full flow, the next step (auth_exchange), and the warning about repeated calls. For a complex OAuth workflow, all essential context is provided, including references to account_status and auth_exchange. Nothing a caller needs is missing.

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?

The tool has zero parameters, so schema coverage is trivially 100%. The description does not explicitly state 'no parameters', but that is implied by the action described. It does add value by describing the return values (authorization URL and state), which helps the agent know what to expect and how to use them in the subsequent auth_exchange call. Given the 0-param case, a baseline of 4 is appropriate, and the description fulfills that.

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 ('Start an OAuth 2.0 PKCE sign-in') and a clear resource ('the Alza mobile API'), and specifies what it returns (authorization URL plus state). It explicitly differentiates from the sibling auth_exchange by describing the flow and naming that tool as the next step. This is unambiguous and distinguishes it from nearby tools.

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 gives explicit conditions for use: 'Use when `account_status` reports no loaded token, or when account tools start failing with authentication errors.' It outlines the full flow (open URL, sign in, redirect to alza://identity, then call auth_exchange) and includes a clear warning: 'Do not call it repeatedly for one sign-in — each call supersedes the previous state.' This provides complete when-to-use and how-to-proceed guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.