Skip to main content
Glama

kiln_spend_caps_confirm_order_approval

Destructive

Confirm a one-order approval using the challenge ID and the person's six-digit authenticator code; returns a single-use token to place that order.

Instructions

Confirm a one-order approval with the person's code (step 2 of 2).

        On success returns an ``approval_token``: pass it to the order
        tool when placing that order again.  It works once, for that
        order and amount, and expires within minutes.

        Args:
            challenge_id: From ``kiln_spend_caps_request_order_approval``.
            totp_code: The six-digit code the PERSON reads from their own
                authenticator app.  Never produce or guess it.
        

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "challenge_id": "<challenge_id>",
      "totp_code": "<totp_code>"
    },
    "name": "kiln_spend_caps_confirm_order_approval"
  }
}

Input Schema

NameRequiredDescriptionDefault
totp_codeYesThe six-digit code the PERSON reads from their own authenticator app. Never produce or guess it.
challenge_idYesFrom ``kiln_spend_caps_request_order_approval``.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv1.5.1
    • addedInput schema / properties / challenge_id / description
      Added value: +"From ``kiln_spend_caps_request_order_approval``."
    • addedInput schema / properties / totp_code / description
      Added value: +"The six-digit code the PERSON reads from their own authenticator app.  Never produce or guess it."
  2. Addedv1.5.0

TDQS

A4.4/5.0
Behavior5/5

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

Annotations only say destructive/non-readonly; the description adds genuinely load-bearing behavior: the returned approval_token is single-use, bound to that specific order and amount, and expires within minutes. It also states the human-in-the-loop constraint ('the PERSON reads from their own authenticator app... Never produce or guess it'), which is essential to call this tool correctly and is not inferable from any structured field.

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?

Purpose and the token-lifecycle warning are front-loaded in the first two sentences, which is the right ordering for an agent that may stop reading early. The trailing Args block is redundant with the schema descriptions, which is the only wasted content.

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?

An output schema exists, so the return shape needs no explanation, yet the description goes further by explaining the token's lifecycle constraints that a schema cannot express. For a two-parameter confirmation step the definition covers purpose, sequencing, token scope, expiry, and the human-code safety rule with nothing important 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 the body's Args block repeats the schema text almost verbatim (challenge_id 'From kiln_spend_caps_request_order_approval', totp_code 'six-digit code the PERSON reads'), so no meaning is added beyond the schema. Baseline 3 applies since the schema already carries the parameter documentation.

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 and resource ('confirm a one-order approval') and immediately situates it as 'step 2 of 2', which distinguishes it from the sibling kiln_spend_caps_request_order_approval. An agent can tell exactly which phase of the approval workflow this tool performs without opening any schema.

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 names both the predecessor (challenge_id comes from kiln_spend_caps_request_order_approval) and the successor ('pass it to the order tool when placing that order again'), giving a clear workflow position. It stops short of an explicit 'do not call this before requesting a challenge' exclusion, but the sequencing is unambiguous enough that an agent will not misfire.

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

Deploy Server

Other Tools