Skip to main content
Glama

till_authorize

SPEND AUTHORIZATION (Skyfire Programmable Payment): create a charge AND check it against what the agent's OWNER signed off — token, recipient allow-list, per-charge max, AND the cumulative cap. Fail-closed and drain-safe: an EIP-681 payment intent is issued ONLY if the charge is authorized (ten small charges cannot beat a low cap). BIII does not verify the authorization JWT signature itself — pass verified:true after checking it, or supply a spendAuth object. The caller tracks spentMicro (BIII is stateless).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
toYesmerchant 0x address (their own wallet)
labelNo
verifiedNoattest the authorization JWT signature verified (BIII does not check it itself)
amountUsdNoe.g. "12.50" (or use amountMicro)
spendAuthYesthe owner's signed spend authorization: a Programmable-Payment JWT (string) OR an object {token, chainId, maxPerChargeMicro, cumulativeCapMicro, allowedRecipients, exp}
spentMicroNohow much has ALREADY been spent under this authorization (the caller's running total — the cumulative guard)
amountMicroNo

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observed

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries full burden and discloses key behaviors: fail-closed (charge only issued if authorized), drain-safe (cumulative cap prevents multiple small charges), statelessness (caller tracks spentMicro), and that BIII does not verify JWT signatures itself. It also mentions issuing an EIP-681 payment intent. However, it does not describe side effects like charge creation outcome when unauthorized or reversibility.

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 a single paragraph of four sentences, each adding distinct value: purpose and checks, fail-closed/drain-safe, JWT handling, and caller responsibility. No wasted words, perfectly front-loaded with the core action. Highly concise yet informative.

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

Completeness3/5

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

Given 7 parameters (2 required), no output schema, and no annotations, the description adequately explains the authorization flow and parameter roles. However, it fails to describe the return value or output format—crucial for an agent to know what the tool returns (e.g., charge ID, payment intent). Error handling and failure modes (e.g., what happens when not authorized) are implied but not explicit.

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?

Schema coverage is 71%, and the description adds meaning beyond schema for multiple parameters: explains 'verified' as attestation of JWT signature, 'spendAuth' as JWT string or object with fields, 'spentMicro' as caller's running total, and gives example for 'amountUsd' ('12.50'). It clarifies that 'amountMicro' can substitute. However, 'label' and 'amountMicro' lack schema descriptions, and description only mentions amountMicro as alternative.

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: 'SPEND AUTHORIZATION ... create a charge AND check it against what the agent's OWNER signed off'. It specifies the resource (charge/authorization) and the action (authorization with checks). The mention of 'token, recipient allow-list, per-charge max, AND the cumulative cap' distinguishes it from related tools like till_create_charge, which likely lacks these checks.

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 explains when to use this tool: when creating a charge that must be authorized against owner-signed limits. It provides guidance on how to use it, including handling of JWT verification ('pass verified:true after checking it, or supply a spendAuth object') and caller tracking of spentMicro. While it doesn't explicitly state when not to use it versus siblings, the context is sufficient for agents to differentiate.

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.

TDQS

B3.1/5.0
Disambiguation3/5

Many tools have distinct, well-named purposes (vet_agent vs vet_merchant), but there is notable overlap between till_trust and till_vet_merchant (both provide trust verdicts), and till_launch_funder vs till_funder_history are closely related. The descriptions are detailed enough to differentiate, but an agent could still misselect between a few pairs.

Naming Consistency3/5

All tools share the till_ prefix, but the pattern is mixed: some use verb_noun (check_invoice, create_charge, watch_wallet) while others are noun phrases (key_exposure, open_approvals, rug_powers) or bare nouns (floor, trust, roll). This is readable but not predictable, so an agent cannot reliably guess a tool name from a verb.

Tool Count2/5

At 29 tools, this server exceeds the 25+ threshold that signals an overgrown toolkit. Even with a broad domain, many tools are one-off niche scanners (till_b20_authentic, till_floor, till_meter) that inflate the surface and could be consolidated or externalized.

Completeness4/5

The toolkit covers the payment lifecycle comprehensively: create charges/invoices, check payments, verify delivery, generate receipts, rolls, and accounting exports. It also spans identity, trust, security scanning, and theft tracing. Minor gaps exist (no update/cancel for charges, no token-general vetting), but the non-custodial, read-only design makes these acceptable.