Skip to main content
Glama

Add an upcoming expense

add_upcoming_expense

Add an upcoming or recurring expense to a ledger. Commits immediately. amount_cents is MINOR units (cents): pass 150000 for 1500.00, never a decimal. The returned amount is in currency units.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "ledger_id": "<ledger_id>",
      "category": "<category>",
      "amount_cents": "<amount_cents>",
      "due_date": "<due_date>",
      "name": "<name>"
    },
    "name": "add_upcoming_expense"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameYesName / label for this expense.
categoryYesCategory slug or name. Call list_budget_categories if unsure.
due_dateYesFirst (or only) due date as ISO YYYY-MM-DD.
end_dateNoOptional last due date for recurring expenses.
ledger_idYes
recurrenceNoRecurrence pattern. Defaults to 'none' (one-off).
amount_centsYesAmount in minor units (cents). 150000 = 1500.00.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare write, non-destructive, non-open-world behavior, so the description's added value is 'Commits immediately' (no confirmation/draft step) and the input-vs-output unit mismatch warning, both genuinely useful. It still says nothing about permission requirements, what happens if ledger_id is invalid, or how recurrence interacts with end_date.

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?

Four short sentences, front-loaded with what the tool does and the commit semantics. The unit rule is slightly restated relative to the schema's amount_cents description, but every line carries weight.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 7-parameter mutation with no output schema, the description covers persistence and the highest-risk unit pitfall well. It leaves gaps on the undocumented ledger_id, on the due_date/end_date/recurrence relationship, and on failure behavior — omissions an agent must resolve by inspecting the schema.

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?

With 86% schema coverage the baseline is 3, but the description adds real error prevention by stating amount_cents is minor units, forbidding decimals, and flagging that the returned amount uses major units. It does not compensate for ledger_id, the one parameter the schema leaves undocumented.

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?

Names a specific verb and resource ('Add an upcoming or recurring expense to a ledger') and scopes it to future/recurring items, which implicitly separates it from record_expense. It stops short of naming the sibling explicitly, so the differentiation is inferable rather than stated.

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 given, and record_expense is never mentioned as the alternative for already-incurred spending. 'Commits immediately' hints at caution for a write operation but does not tell the agent how to choose between this and its siblings.

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.

Resources