Skip to main content
Glama

Budget outlook

get_budget_outlook
Read-only

Month forecast for a ledger: actuals so far, upcoming committed costs, run-rate projection, limit, status, and goal progress. Amounts in currency units, not cents.

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>"
    },
    "name": "get_budget_outlook"
  }
}

Input Schema

NameRequiredDescriptionDefault
monthNoCalendar month YYYY-MM. Defaults to current month.
ledger_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, openWorldHint=false and destructiveHint=false, so safety is covered. The description adds genuinely non-obvious context beyond annotations: the exact composition of the response (committed costs and run-rate projection alongside actuals) and the unit convention that amounts are in currency units, not cents — a real correctness risk it preempts.

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?

One sentence plus a short unit caveat — no waste, and the core purpose is front-loaded before the field enumeration. The unit note could arguably be spliced in, but keeping it as a separate clause makes it more noticeable, which is appropriate for a data-correctness detail.

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?

With no output schema, the description carries the burden of describing return content, and it does so by naming all six response components. Combined with read-only annotations and a two-parameter schema, an agent has enough to call this correctly; only the untested edge cases (unknown ledger_id, month outside budgeted range) are unaddressed.

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 coverage is 50%: month is documented in-schema including its YYYY-MM pattern and current-month default, while ledger_id has no description anywhere. The description's phrase 'for a ledger' hints at the identifier's meaning but adds no detail about where a ledger_id comes from or what happens with an unknown one, so it neither compensates for nor extends the schema.

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?

States a specific resource and analytic view: a month forecast for a ledger, enumerating exactly what is returned (actuals, committed costs, run-rate projection, limit, status, goal progress). This is clearly distinct from forecast-adjacent siblings like get_ledger_summary or get_category_breakdown, though no sibling is named.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: an agent can infer this is the tool for 'how is this month's budget tracking' questions from the phrase 'Month forecast' and the schema's default-to-current-month month parameter. There is no explicit when-to-use statement, no guidance on when to prefer get_ledger_summary or get_category_breakdown, and no stated prerequisites for ledger_id.

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