Skip to main content
Glama
ninetails-io

gnucash-mcp

update_taxtable

Update a sales-tax table's name or entries. Returns a diff; requires force when replacing entries on a table in use to safeguard existing invoices.

Instructions

Update a sales-tax table's name and/or entries.

Diff-style response: only changed fields are returned.

Entry replacement on a taxtable that's already in use is destructive to FUTURE entries' tax math. Existing posted invoices retain their original splits (splits are stored, not derived), but new entries on any document will use the replacement entries' rates. When refcount > 0 and entries is given, force=True is required to proceed.

Args: name: Current taxtable name. new_name: New name (optional). entries: Replacement entry list (optional). Same shape and validation as create_taxtable. force: Required to replace entries when the taxtable is already referenced by document entries.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYes
forceNo
entriesNo
new_nameNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior5/5

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

No annotations provided, so the description carries full burden—and it shines. It discloses the destructive nature of entry replacement on in-use taxtables ('destructive to FUTURE entries' tax math'), explains that existing posted invoices retain splits because splits are stored-not-derived, and specifies the return format (diff-style, only changed fields). This is exactly the kind of behavioral context an agent needs for a mutation with risk implications.

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?

Well-organized: opening statement, bolded destructive caveat, args block. The dangerous-behavior warning is front-loaded near the top rather than buried, which is ideal. Slightly verbose in the caveat wording but every sentence earns its place given the risk profile. The Args section cleanly maps 1:1 with schema parameters.

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?

Complex mutation with an output schema present (making return format less critical to document—yet the diff-style note still adds value over schema). The description covers safety (force/refcount), persistence semantics (splits stored not derived), dependencies (create_taxtable shape), and params. It's complete for an agent to decide and invoke correctly. Minor gap: doesn't state error behavior when name isn't found or force is omitted with refcount > 0, but force's requirement is already stated.

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 0% and entries is an opaque anyOf array, so the description's per-parameter notes add real value: name (current name, needed to target), new_name (optional), entries (replacement list matching create_taxtable validation and shape), force (required when refcount > 0). The description doesn't deeply detail the entries object structure itself, but it points to create_taxtable for that, which is a reasonable delegation. Minor deduction for not describing force's full effect or what happens on failure.

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?

Clear verb+resource: 'Update a sales-tax table's name and/or entries.' It distinguishes itself from create/delete/list/get siblings by specifying exactly which aspects (name and/or entries) are mutable. The description also reveals it's a mutating sibling to update_customer/vendor/employee in the same family.

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?

Description implies context: used to rename a taxtable and/or replace its entries, with the diff-style response and references to create_taxtable for shape/validation. It doesn't explicitly exclude alternatives or state when NOT to use it (e.g., preferring delete+recreate), but it does explain the force/refcount prerequisite clearly, which is strong situational guidance.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ninetails-io/gnucash-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server