Skip to main content
Glama

kia_verify_otp

Destructive

Exchange the one-time passcode from Kia for a session token, completing MFA login. Stores the remember-me token locally so subsequent Kia tool calls refresh the session without requiring MFA again.

Instructions

Step 3 of the Kia MFA bootstrap (cmm/verifyOTP): exchange the passcode for a session. The resulting remember-me token is stored locally and is NOT returned — from here on every Kia tool refreshes its own session silently and MFA is never needed again on this device. Takes the otpKey and xid from kia_start_login plus the code the user received.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
otpYesThe one-time passcode Kia sent to the user — 6 digits in every observed case.
xidYesThe `xid` returned by kia_start_login. Sent with every OTP call.
otpKeyYesThe `otpKey` returned by kia_start_login.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.9.0
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  2. First observedv0.1.0

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the annotations, the description discloses important behavioral side effects: the remember-me token is stored locally and NOT returned, every Kia tool will silently refresh the session thereafter, and MFA is never needed again on this device. This is significant state-changing behavior that directly explains the destructiveHint annotation without contradicting it.

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 compact but information-dense. It front-loads the primary purpose, then explains the critical side effects, and finally connects the parameters to their source. Every sentence earns its place with no redundant filler.

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 state-changing authentication step with no output schema, the description is complete: it states the result (session established, token not returned), the side effects (silent refresh, MFA no longer needed), and the required inputs and their source. An agent has enough context to invoke it correctly and understand its consequences.

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 input schema already covers all parameters with 100% description coverage. The description adds value by explaining the origin and relationship of otpKey and xid to kia_start_login and clarifies that otp is the code the user received, which is beyond what the schema states.

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 clearly states the tool's purpose with a specific verb and resource: 'exchange the passcode for a session' and identifies it as 'Step 3 of the Kia MFA bootstrap'. It also distinguishes the tool's role from siblings like kia_start_login and kia_session_status by describing its outcome.

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 context for when to use the tool: after kia_start_login, using the otpKey and xid returned by that step, and after the user receives a code. It implies sequencing through 'Step 3' but does not explicitly state when not to use it or name alternative tools.

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