Skip to main content
Glama
TylerNguyennn

finops-mcp

cash_forecast

Read-onlyIdempotent

Forecast daily cash for one currency using bank balance, Stripe funds, payouts, invoices and approved bills; show movements, lowest point, first negative day and assumptions.

Instructions

Day-by-day cash forecast for one currency: bank balance you give + Stripe available today, Stripe pending and payouts in transit, customer invoices on their due date, approved bills on theirs. Returns each day with movement, the lowest point and the first day cash goes negative. The assumptions list in the result must be shown to the user with the numbers.

Input Schema

NameRequiredDescriptionDefault
daysNo
currencyNoUSD
opening_bank_balanceNo0
pending_settles_in_daysNo
include_overdue_receivablesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), so the description adds real value beyond them: it discloses the modeling assumptions baked into the math (invoices land on due date, bills on theirs, pending settles later) and mandates that the result's assumptions list be shown to the user with the numbers. It stops short of covering pagination or how the negative-cash day is detected when multiple days tie.

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?

Three tight sentences, front-loaded with the resource and its inputs, then the return shape, then the critical display directive. No filler, and the most actionable instruction is placed last for emphasis.

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 does the necessary work of explaining what comes back: per-day movement, the low point, and the first negative day. The remaining gap is parameter-level, particularly the settle-days default and the overdue-receivables toggle, which materially change the numbers an agent is instructed to present.

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

Parameters2/5

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

Schema coverage is 0%, so the description carries the full burden, yet two of the five parameters — pending_settles_in_days and include_overdue_receivables — get no explanation at all; 'Stripe pending' hints at the first but not that it is a day-count. It does clarify currency and the supplied bank balance, but the opaque defaults (2-day settle, overdue excluded) are left for the agent to guess.

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 artifact ('day-by-day cash forecast for one currency') and enumerates exactly which sources feed it: bank balance, Stripe available/pending/in-transit payouts, invoices by due date, approved bills. An agent can immediately tell this apart from point-in-time siblings like balance, payouts, receivables and payables, because it is the forward projection that combines them.

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 implied by the composition breakdown — an agent can infer this is the forward-looking tool versus the current-state siblings — but the description never states when to prefer it over balance or payables, nor any preconditions. No explicit alternative routing or exclusion is given.

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