Skip to main content
Glama

agent-transaction-control

Update Agent Mandate

update_agent_mandate
Idempotent

Use this tool to update mutable mandate config for an existing FLINT Agent Passport. This updates allowed actions, amount limits, or notes only. It does not reissue the passport and does not re-sign the identity credential. If the passport is owned (claimed), pass session_token for the owning account; management_token is only needed while the passport is unclaimed. Allowed actions must come from the FLINT mandate vocabulary: commerce_purchase, checkout.purchase, invoice.pay, subscription.renew, refund.request, quote.retrieve, x402_verification_purchase, stablecoin_transfer, paid_api_access, x402_request, agent_checkout, delegated_spending, project.read. Pass ["ALL"] as a preset to grant every action in one step; the stored mandate then expands to the full list and records the preset. Unknown strings are kept for backward compatibility but are reported back as unknown so the caller can fix them.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
mandateYesMutable mandate config to update: allowed_actions, max_transaction_amount, notes.
passport_idYesFLINT Agent Passport id, beginning with kya_.
session_tokenNoOptional agent session token from auth_verify_otp, used once the passport is owned.
management_tokenNoClaim token required while the Passport is unclaimed.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / session_token
      Added value: +{
      +  "description": "Optional agent session token from auth_verify_otp, used once the passport is owned.",
      +  "pattern": "^flint_sess_[A-Za-z0-9_-]{40,}$",
      +  "type": "string"
      +}
  2. Changed1 schema field changed
    • addedInput schema / properties / management_token
      Added value: +{
      +  "description": "Claim token required while the Passport is unclaimed.",
      +  "maxLength": 128,
      +  "minLength": 32,
      +  "type": "string"
      +}
  3. Added

TDQS

A4.5/5.0
Behavior5/5

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

Beyond the annotations (which already convey mutation, idempotence, and non-destructiveness), the description discloses auth-token requirements per ownership state, the exact scope of the mutation, and the backward-compatibility behavior where unknown action strings are kept but reported back as unknown. That is meaningful non-obvious behavioral context.

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 definition is long but front-loaded with purpose and every sentence carries operational content (scope boundaries, auth conditions, vocabulary, preset, error behavior). The long inline vocabulary list is dense but necessary given the schema exposes no enum.

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 mutation tool with a nested object parameter, no output schema, and no enums, the description covers scope, auth, vocabulary, and edge-case error reporting. It would be marginally stronger if it hinted at the shape of the response (confirmation fields, reported unknown actions) but is largely sufficient.

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 100%, so the baseline is 3, but the description goes well beyond the schema by enumerating the allowed mandate vocabulary, documenting the ["ALL"] preset and its expansion/recording semantics, and clarifying how unknown strings are handled – the schema's mandate object is otherwise an opaque additionalProperties bag.

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 (update) plus a precisely scoped resource (mutable mandate config on an existing FLINT Agent Passport) and explicitly names what it is not (does not reissue the passport, does not re-sign identity). An agent can distinguish it from issue_agent_passport and claim_agent_passport from the text alone.

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?

Gives explicit conditional guidance for auth: pass session_token when the passport is owned/claimed, management_token while unclaimed, plus the boundary that only actions, amount limits, and notes are updatable. It stops short of naming alternative sibling tools for adjacent operations (e.g. generate_authorization_scope), so a 4 rather than 5.

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.