Skip to main content
Glama
ninetails-io

gnucash-mcp

create_billterm

Set up a billing term with due date and early-payment discount options to standardize payment conditions on invoices.

Instructions

Create a new billing term.

Args: name: Billterm name (e.g., "Net 30"). due_days: Number of days until payment is due. Default 30. description: Optional description. discount_days: Days within which early discount applies. discount_percent: Early payment discount percentage (e.g., "2" for 2%).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYes
due_daysNo
descriptionNo
discount_daysNo
discount_percentNo0

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.4.2

TDQS

A3.7/5.0
Behavior2/5

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

Annotations indicate readOnlyHint=false and idempotentHint=false, and the description's 'Create' aligns with a mutating, non-idempotent operation. However, the description adds no beyond-annotation behavioral context such as duplicate handling, validation rules, or side effects.

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?

The description is well-structured: a one-sentence purpose followed by a compact Args list. Every line adds value by explaining or exemplifying a parameter, with no filler or repeated schema boilerplate.

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?

All five parameters are fully explained, defaults are specified, and an output schema is present so return-value documentation is unnecessary. The main gap is the lack of broader context about when to create a billing term or how it relates to sibling tools like list_billterms, but the invocation details are complete enough.

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%, so the description carries the full burden for parameter meaning. It provides meaningful semantics for all five parameters, including examples ('Net 30'), default behavior, and purpose of discount fields. This goes well beyond the bare schema titles.

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 states a specific verb and resource: 'Create a new billing term.' The 'Net 30' example clarifies what a billing term is, and the resource name distinguishes it from sibling tools like create_budget or create_taxtable. There is no ambiguity about the operation.

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 guidance is given on when to use this tool versus alternatives, such as list_billterms to check existing terms. The one-line purpose implies its use case, but there are no explicit conditions, prerequisites, or exclusions.

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