Skip to main content
Glama

Forecast Cash Flow

forecast_cash_flow
Read-onlyIdempotent

Cash flow forecast weighted by invoice age. Weighs what each open invoice still owes by its age (current 100%, overdue under 30 days 90%, under 60 days 50%, 60 days or more 25%), adds the value of all unbilled billable time to date, approved or not (not hours a retainer fee covers), and adds sent or accepted proposals not yet invoiced. Also totals what open invoices still owe, unweighted. Money is in currency units. Unbilled time here is all unbilled billable time to date, approved or not, valued as expected cash; it is not WIP for one period. Proposals appear only as expected cash, not as offers or sales opportunities. Answers questions like "what cash can we expect?", "what is outstanding?", "how much unbilled time do we have in total?" or "forecast our receivables".

Input Schema

NameRequiredDescriptionDefault

No arguments

Output Schema

NameRequiredDescriptionDefault
asOfNo
totalsNo
unavailableNoParts that could not be read just now, so the totals leave them out
unbilledTimeNo
proposalCountNoEvery proposal counted in the totals; the list holds the 25 most recent
otherCurrenciesNoReceivables and pipeline in other currencies, summed apart, never in the totals
proposalPipelineNo
receivablesCountNoEvery open invoice counted in the totals; the list holds the 25 oldest
invoiceReceivablesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive). The description goes well beyond them by disclosing the exact weighting formula (100/90/50/25 by age band), what is included (all unbilled billable time regardless of approval, sent/accepted proposals) and explicitly what is excluded (hours a retainer fee covers, proposals as sales opportunities). This is genuine behavioral disclosure an agent cannot get from structured fields.

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?

Front-loaded with the core method and weighting table, then examples of the questions it answers. Slightly repetitive – the unbilled-time scope is stated twice ('adds the value of all unbilled billable time... approved or not' and again later) – but every block earns its place.

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

Completeness5/5

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

For a no-arg, read-only forecasting tool with an output schema, the description is complete: it explains the calculation, inclusions/exclusions, units, and the question space. An agent can invoke it correctly and interpret the results without further information.

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?

There are zero parameters, which sets a baseline of 4. The description nonetheless explains the currency units and the valuation basis for the figures returned, which is the only 'parameter-like' semantics available for a no-arg tool.

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 verb+resource (forecast cash flow) and goes further by naming the exact methodology and the question space it answers ('what cash can we expect?'). Siblings like get_project_profitability or list_invoices are clearly different operations, so no sibling differentiation is needed.

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 closing sentence maps user intents directly onto this tool ('what cash can we expect?', 'forecast our receivables'), giving strong context for when to reach for it. It stops short of naming when NOT to use it or which sibling handles outstanding-invoice listing, so it is clear context without exclusions.

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