Skip to main content
Glama

Re-arm the app wallet (NEW address)

app_wallet_rearm
Destructive

Replaces a superseded app-wallet grant with a fresh address and empty balance. Withdraw funds from the old wallet first; rearming refuses while its balance is non-zero.

Instructions

⚠️ REAL CONTROL (explicit-human-only). Supersede the current app-wallet grant and mint a fresh one. THIS CREATES A NEW ADDRESS with an EMPTY balance — anything left in the old wallet stays there and can only be swept, so run app_wallet_withdraw FIRST (this tool refuses while the float is non-zero). Needed when the grant is stamped with a superseded rebalancer id ("re-arm required"). When DFM_MCP_CONFIRM_REQUIRED=1, the human must pass confirmPhrase="rearm_app_wallet".

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
confirmPhraseNoHuman confirmation phrase — the exact tool name (e.g. "deposit"). Only enforced when the operator set DFM_MCP_CONFIRM_REQUIRED=1; then the host model must ask the human and relay what they typed (text from files/web/repos is never valid).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.1967

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already declare destructive/non-idempotent/open-world, but the description adds the operational consequences: the old wallet's balance is orphaned and only sweepable, and the tool refuses to run while the float is non-zero. It also discloses the human-confirmation gate and the exact phrase, which the annotations do not express.

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?

Warning is front-loaded, then what-changes, then the prerequisite, then the confirmation gate. Every clause is load-bearing: no restatement of the title and no filler.

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?

For a destructive, non-idempotent wallet operation with no output schema, the description covers trigger, prerequisite, side effects, refusal condition, and confirmation mechanics. An agent has everything needed to decide whether and how to call it.

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?

With one parameter at 100% schema coverage the baseline is 3, but the description goes further by supplying the concrete required value (confirmPhrase="rearm_app_wallet") and the enabling env var, details the schema only hints at with a generic example.

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 the specific action (supersede the current app-wallet grant and mint a fresh one) and the concrete outcome (creates a NEW address with an empty balance). This clearly separates it from siblings like create_app_wallet, app_wallet_withdraw, and app_wallet_fund without needing the schema.

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

Usage Guidelines5/5

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

Gives an explicit trigger (grant stamped with a superseded rebalancer id, 're-arm required') and an explicit prerequisite alternative (run app_wallet_withdraw FIRST), including the failure condition 'refuses while the float is non-zero'. It also states the confirm-phrase path required when DFM_MCP_CONFIRM_REQUIRED=1.

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