Skip to main content
Glama
ninetails-io

gnucash-mcp

update_account

DestructiveIdempotent

Change an existing GnuCash account's properties: rename, edit description/notes, toggle placeholder, or adjust account type within the same debit/credit polarity. Identify the account by path or GUID.

Instructions

Update an existing account's properties.

Args: name: Account ref to update (full path e.g. "Expenses:Groceries", %short GUID, or full 32-char GUID) new_name: New name for the account (just the leaf name, not full path) description: New description placeholder: New placeholder status (true = container only) account_type: New account type (e.g., "CREDIT", "BANK"). Only changes within the same debit/credit polarity are allowed — e.g., LIABILITY to CREDIT, ASSET to BANK. Cross-polarity changes (e.g., ASSET to LIABILITY) are blocked. notes: New notes (max 4096 bytes; shared with GnuCash desktop's Notes field). Pass "" to clear.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYes
notesNo
new_nameNo
descriptionNo
placeholderNo
account_typeNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.4.2

TDQS

A4/5.0
Behavior4/5

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

The description adds meaningful behavior beyond annotations: name reference formats, new_name leaf-only requirement, placeholder semantics, account_type polarity restriction with examples, notes byte limit, and clear-by-empty-string semantics. It does not contradict the readOnly=false, idempotent=true, or destructiveHint=true annotations, though it does not elaborate on what destructive effects might occur.

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?

One summary line followed by a compact, front-loaded parameter list; every clause adds information (e.g., 'pass "" to clear', 'cross-polarity changes blocked'). There is no padding or repetition of the schema's type information.

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 six-parameter mutable operation, the description covers the required ref, every optional property, and all relevant constraints. With an output schema present, return-value documentation is unnecessary, and all information needed to construct a valid call is present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description fully compensates by documenting all six parameters with richer meaning than the schema: formats, examples, valid transitions, units, and clearing behavior. Each parameter in the Args block receives actionable semantic detail.

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 opening sentence states a specific verb ('Update') and resource ('an existing account's properties'), which is clear and distinct from create/delete account siblings. It does not explicitly contrast with move_account or set_account_slot, so some differentiation is left to the agent.

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

Usage Guidelines2/5

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

No when-to-use or when-not-to-use guidance is provided; the description does not mention alternatives such as move_account or set_account_slot, nor does it state prerequisites like requiring the account to exist. The only selection signal is the generic verb in the name.

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