Skip to main content
Glama

taxapp.nz

Add an expense account

create_expense_account
Idempotent

Adds an expense account: a category expenses are filed under, such as "Pest control". Check list_expense_accounts first: an active account with the same name is answered instead. Tag it with the IRD return line it feeds (list_choices lists them as irdExpenseLines) so the year's return totals it. When the organisation is connected to Xero the account is sent there too. Only for an organisation where this connection may add and change records (list_organisations says which). The answer is the saved account.

Input Schema

NameRequiredDescriptionDefault
codeNoIts accounting code, such as 473, when the organisation uses codes.
nameYesWhat the account is called.
ird_lineNoThe key of the IRD return line it feeds, from list_choices irdExpenseLines, such as ir3r-9.
allow_duplicateNoAdding is safe to repeat: the same details sent again return the record already made. Set true only when the person confirms they really want a second, identical record.
organisation_idNoThe id of the organisation to use, from list_organisations. Leave it out when the connection covers only one organisation; it is required when it covers more than one.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.4/5.0
Behavior4/5

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

Annotations cover safety (readOnly=false, destructive=false) and idempotency, but the description adds real behavior: duplicate-name handling, IRD tagging consequence, and an external Xero sync side-effect beyond the closed-world annotation. It stops short of describing rate limits or error behavior.

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?

Front-loads the purpose, then sequences duplicate-check, IRD tagging, Xero sync, and permission constraints so each sentence carries distinct actionable information. Slightly dense but no wasted sentences.

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 mutation tool with no output schema, the description closes the key gaps: it names the return value ('the saved account'), the duplicate behavior, the external side-effect, and the permission precondition. An agent has everything needed to call it correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all five parameters including defaults. The description reinforces the ird_line and organisation_id concepts but adds no syntax or format beyond what the schema provides, so the baseline 3 applies.

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 (Adds) and resource (expense account), then defines it concretely with an example ('a category expenses are filed under, such as “Pest control”'). It clearly distinguishes itself from the list_/update_ siblings.

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?

Explicitly tells the agent to check list_expense_accounts first because an active duplicate is answered instead, and restricts use to organisations where the connection may add records (per list_organisations). Conditions and alternatives are named, not inferred.

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.