Skip to main content
Glama

publish_purchase_confirmation

Publishes an owner-signed confirmation to authorize exactly one purchase above an agent’s no-confirm threshold, ensuring the matching payment settles once and the ticket is consumed.

Instructions

[FREE] Publish the owner's confirmation for one over-threshold purchase.

Goal: authorize exactly one purchase above the agent's no-confirm threshold. Success means: the next payment matching agent, amount and (when named) resource settles, and the ticket is consumed at settle - it never authorizes a second purchase.

signed_confirm = {"confirm": {...}, "signature": "0x..."} with type="spend-confirm", agent, amountUsdc, resource, expires (unix), nonce. The signature is EIP-191 from the owner. Carries no keys, signs nothing.

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": {
      "signed_confirm": "<signed_confirm>"
    },
    "name": "publish_purchase_confirmation"
  }
}

Input Schema

NameRequiredDescriptionDefault
signed_confirmYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.1

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the full disclosure burden, and it does well on the core mechanics: the ticket settles the next matching payment and is consumed, so it is verifiably single-use. It also reassures that the payload 'carries no keys, signs nothing'. What it omits is failure behavior - what happens on expiry, on a non-matching payment, or how the caller learns the ticket was consumed.

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?

The goal and success criteria are front-loaded and every sentence adds information - even 'Carries no keys, signs nothing' earns its place as a safety claim. The pseudo-JSON payload block is terse but readable; minor cost is that the field list is compressed into one dense line.

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

Completeness4/5

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

For a one-parameter tool with no output schema, the description covers what the input must contain, what success means, and the single-use lifecycle. It is incomplete on return value and error paths, which matters because callers need to know whether a rejected ticket was consumed or can be retried.

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 coverage is 0% on a nested object, so the description must do all the work, and it does substantially: it enumerates confirm.type='spend-confirm', agent, amountUsdc, resource (optional, 'when named'), expires as unix, nonce, plus an EIP-191 owner signature. It stops short of typing amountUsdc units or explaining how agent/resource are encoded, leaving real ambiguity for a payment-safety tool.

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?

The description names a specific verb and resource ('Publish the owner's confirmation for one over-threshold purchase') and pins the scope to exactly one purchase. It implicitly separates itself from a standing grant by stressing the ticket 'never authorizes a second purchase', but it never names publish_spend_authority_grant, which is the obvious sibling an agent would confuse this with.

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 'Goal:' line gives a clear trigger condition: use this to authorize one purchase above the agent's no-confirm threshold. The single-use constraint ('consumed at settle - it never authorizes a second purchase') implies when a recurring grant is needed instead, but no alternative tool is named and no explicit when-not-to-use is stated.

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