Skip to main content
Glama

Authorize prepaid work

authorize
Idempotent

Create an idempotent prepaid authorization for a quoted operation. This may reserve private account credits but does not execute provider work.

Input Schema

NameRequiredDescriptionDefault
creditsNo
payloadNo
agent_idNo
quote_idNo
request_idYesStable idempotency key for this mutating operation.
provider_idNo
idempotency_keyNo
provider_intentNo

Output Schema

NameRequiredDescriptionDefault
okNo
dataNo
errorNo
intentNo
statusNo
receiptNo
successNo
request_idNo
next_actionNo
operation_idNo
requires_humanNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed10 schema fields changed
    • changedInput schema / additionalProperties
      Previous value: -trueNew value: +false
    • addedInput schema / anyOf
      Added value: +[
      +  {
      +    "required": [
      +      "quote_id"
      +    ]
      +  },
      +  {
      +    "required": [
      +      "credits"
      +    ]
      +  },
      +  {
      +    "required": [
      +      "payload"
      +    ]
      +  }
      +]
    • addedInput schema / properties / idempotency_key
      Added value: +{
      +  "minLength": 1,
      +  "type": "string"
      +}
    • addedInput schema / properties / payload / additionalProperties
      Added value: +false
    • addedInput schema / properties / payload / anyOf
      Added value: +[
      +  {
      +    "required": [
      +      "quote_id"
      +    ]
      +  },
      +  {
      +    "required": [
      +      "credits"
      +    ]
      +  }
      +]
    • removedInput schema / properties / payload / description
      Removed value: -"Optional canonical InfraPulse payload; direct top-level fields are also accepted."
    • addedInput schema / properties / payload / properties
      Added value: +{
      +  "credits": {
      +    "minimum": 1,
      +    "type": "integer"
      +  },
      +  "idempotency_key": {
      +    "minLength": 1,
      +    "type": "string"
      +  },
      +  "provider_id": {
      +    "minLength": 1,
      +    "type": "string"
      +  },
      +  "provider_intent": {
      +    "minLength": 1,
      +    "type": "string"
      +  },
      +  "quote_id": {
      +    "minLength": 1,
      +    "type": "string"
      +  }
      +}
    • addedInput schema / properties / provider_id
      Added value: +{
      +  "minLength": 1,
      +  "type": "string"
      +}
    • addedInput schema / properties / provider_intent
      Added value: +{
      +  "minLength": 1,
      +  "type": "string"
      +}
    • addedInput schema / properties / quote_id / minLength
      Added value: +1
  2. First observed

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already declare idempotentHint and the read/write safety profile, but the description adds genuinely new behavior: it discloses the real side effect (reserving private account credits) and the explicit boundary that provider work is not performed. It does not say whether or how a reservation is released or expires.

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?

Two tight sentences with zero filler; the core action comes first and the scoping caveat follows. Every clause carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema and annotations exist, so return values and safety are covered, but for a tool with 8 properties, nested `payload`, and a three-way anyOf this is underspecified. An agent cannot tell which input mode to pick (quoted operation vs. raw credits vs. payload wrapper) from the description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 13% (only request_id is documented), so the description carries the burden — yet it explains none of the 8 parameters. The anyOf alternation between quote_id, credits, and payload, and the distinction between request_id and idempotency_key / provider_intent, are left entirely opaque.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("Create an idempotent prepaid authorization") with scope ("for a quoted operation"). The clause "does not execute provider work" implicitly separates it from the sibling `execute`, though no sibling is named explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies the tool is a pre-execution step and that payment is reserved rather than charged, which helps an agent position it relative to `execute`. However, it never states the prerequisite (obtain a quote via `quote` first) or when-not-to-use, leaving the ordering to inference.

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