Skip to main content
Glama

Update vault constitutional policy (high sensitivity)

update_vault_policy
Destructive

Creates or amends an onchain policy for a vault, setting asset limits, rebalance caps, intervals, and blackout rules; requires an explicit human request.

Instructions

⚠️ HIGH-SENSITIVITY CONTROL (explicit-human-only). Create or amend the onchain policy for a vault administered by the signing wallet. The human must explicitly ask for this and, when DFM_MCP_CONFIRM_REQUIRED=1, provide confirmPhrase="update_vault_policy" plus every integer value. 0 disables min/max/interval/blackout constraints; 0 for the daily or weekly rebalance cap selects the protocol default. maxAssets is capped at the current product limit of 10. Local mode signs create or ordered propose→accept transactions. Keyless mode uses the operating wallet. Both modes re-read chain state and reconcile the policy before reporting completion. landedSignature retries reconciliation only and never emits another policy transaction.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
vaultYes
assetModeYes
maxAssetsYes
minAssetsYes
maxAssetBpsYes
minAssetBpsYes
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).
landedSignatureNo
maxRebalanceBpsYes
launchBlackoutSecsYes
maxRebalancesPerDayYes
maxRebalancesPerWeekYes
minRebalanceIntervalSecsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.1967

TDQS

A4.5/5.0
Behavior5/5

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

Annotations only say the call is non-read-only, destructive, non-idempotent and open-world; the description adds far more: human-only authorization, the DFM_MCP_CONFIRM_REQUIRED gate, local vs keyless signing paths, post-write chain re-read and reconciliation, and the restricted meaning of landedSignature. It also discloses that the operation is a create-or-propose/accept transaction flow, which is exactly the kind of behavior an agent needs before invoking a destructive tool.

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 warning marker and human-only constraint are front-loaded, and every subsequent clause carries operational information rather than filler. It is dense but justified for a 13-parameter destructive tool, though the mode/retry sentences could be split for faster scanning.

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?

With 13 parameters, 11 required, no output schema, and no enums, the description covers the authorization model, both signing modes, constraint-zero semantics, the maxAssets cap, and post-write reconciliation. Remaining gaps are the meaning of assetMode values and what the caller receives on success, but the core calling contract is complete.

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 description coverage is only 8% (one of 13 params documented), so the description must compensate and largely does: it explains that 0 disables min/max/interval/blackout constraints, that 0 on the daily/weekly rebalance cap selects the protocol default, and that maxAssets is capped at 10. It does not explain assetMode's 0-3 meaning or the BPS scale, leaving some gaps.

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 first sentence names a specific verb pair ('Create or amend') and resource ('onchain policy for a vault administered by the signing wallet'), which cleanly separates it from the sibling update_vault_assets (assets, not policy) and launch_vault (creation, not amendment). An agent can identify the operation without opening 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 Guidelines4/5

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

It states a hard precondition ('The human must explicitly ask for this') and the conditional confirm-phrase requirement, plus an explicit when-NOT clause for `landedSignature` ('retries reconciliation only and never emits another policy transaction'). It does not name alternative siblings such as update_vault_assets, so it falls just short of a 5.

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