Skip to main content
Glama
ninetails-io

gnucash-mcp

debt_payoff_plan

Calculate an avalanche-method debt payoff schedule, showing kill order, balances, APRs, payoff months, totals, and debt-free date, with YETI impact of additional purchases.

Instructions

Calculate an avalanche-method debt payoff schedule with YETI multiplier.

Auto-discovers CREDIT/LIABILITY accounts that have an 'apr' slot set. Set APRs via set_account_slot (e.g., set_account_slot("Liabilities:Visa", "apr", "23.49")).

Returns a compact text summary by default — kill order with balances/APRs/payoff months, YETI line, totals, debt-free date. Use verbose=true for the full structured dict (per-account interest_paid / credit_limit / minimum_payment, plus the structured yeti block) suitable for programmatic consumers.

YETI (Your Expense's True Impact) shows the true cost of a purchase when carrying debt: "A $1.00 purchase will cost you $1.68 by the time your debt is paid off."

Args: monthly_budget: Total monthly amount available for all debt payments combined additional_purchase: Dollar amount to calculate YETI for (default "1.00") verbose: If true, return the full structured dict instead of the compact text summary.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
verboseNo
monthly_budgetYes
additional_purchaseNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses important behaviors: auto-discovery of accounts, dependency on pre-set 'apr' slots, YETI calculation logic with a concrete example sentence ('A $1.00 purchase will cost you $1.68'), and the two return formats (compact text vs verbose dict with detailed fields like interest_paid, credit_limit, minimum_payment). This is noteworthy behavioral detail for a computational 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 description is somewhat long but each section earns its place: the mechanism (avalanche), the setup prerequisite, the two output modes, the YETI explanation, and the Args block. It's front-loaded with the core purpose in the first sentence. The YETI example and verbose field breakdown are useful but add length; the structure (prose then Args) is clear and scannable.

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?

Given the tool's complexity (avalanche computation, auto-discovery, YETI multiplier, dual output modes), the description covers the essential gaps: setup prerequisites, parameter meanings, output format differences, and the YETI definition. An output schema exists, so return-value enumeration is covered. Minor gap: it doesn't specify behavior when no accounts have 'apr' slots set (edge case), but overall it's comprehensive for a moderately complex tool.

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 0%, meaning the schema itself provides no description for any of the 3 parameters. The description partially fills this gap: it documents monthly_budget ('Total monthly amount available for all debt payments combined'), additional_purchase ('Dollar amount to calculate YETI for'), and verbose ('If true, return the full structured dict'). This is substantial compensation for zero schema coverage.

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 description clearly states what the tool does: 'Calculate an avalanche-method debt payoff schedule with YETI multiplier.' It names the specific verb (calculate), resource (debt payoff schedule), and method (avalanche), and 'auto-discovers CREDIT/LIABILITY accounts' defines the scope. It distinctly differentiates from siblings like get_budget or create_transaction.

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?

The description explains the prerequisite setup explicitly: 'Set APRs via set_account_slot' with a concrete example. It also distinguishes output modes (compact text summary vs verbose structured dict) and indicates when to use verbose=true ('suitable for programmatic consumers'). It doesn't explicitly state when NOT to use it, but the setup context and output-mode guidance provide clear usage direction.

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