Skip to main content
Glama

Forecast project duration (Monte Carlo)

forecast_duration
Read-onlyIdempotent

Run Monte Carlo simulations on three-point task estimates to forecast total project duration with P50/P80/P90/P95 confidence levels and target completion probability.

Instructions

Run a Monte Carlo simulation over a list of tasks, each with an optimistic / most-likely / pessimistic duration, to produce a probabilistic forecast of the TOTAL project duration. Returns P50/P80/P90/P95, mean, standard deviation, and a distribution shape. Optionally give a target to get the probability of finishing within it. Use this instead of guessing a single deadline: it turns three-point estimates into calibrated confidence levels. Tasks are summed (run in series).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
seedNoPRNG seed. Fixed by default so results are reproducible; change it to explore alternate random streams.
unitNoUnit label for the estimates, used only for display (e.g. days, hours, weeks).days
tasksYesThe tasks whose durations are summed into a project total.
targetNoOptional target duration (same unit as the estimates). Returns the probability of finishing within it.
iterationsNoNumber of Monte Carlo iterations (100..200000).
distributionNoProbability distribution for the estimate. 'pert' (beta-PERT) is the project-management default.pert

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
maxYes
minYes
meanYes
seedYes
unitYesUnit of the forecast values (e.g. days, EUR).
stdDevYes
targetNo
histogramYes
iterationsYes
percentilesYesMap of percentile label (e.g. '80') to value.
distributionYes
probabilityWithinTargetNoProbability (0..1) of finishing within `target`.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.1/5.0
Behavior4/5

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

With readOnly/idempotent/closed-world annotations already covered, the description adds genuinely useful behavior: results are a serial sum (no parallelism modeled), the fixed default seed makes runs reproducible, and specific outputs (P50/P80/P90/P95, mean, stdev) are named. It does not contradict the annotations and surfaces the key modeling assumption.

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?

Front-loads the action and output, then adds the value proposition and the crucial serial-summing caveat. Every sentence carries information; nothing is redundant filler.

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?

An output schema exists, so the brief return summary suffices; annotations cover the safety profile; and the description supplies the one thing an agent could otherwise miss (tasks are run in series). Complete enough to invoke correctly without opening the schema.

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 100%, so the schema already documents all six parameters thoroughly. The description only lightly reinforces `target` ('get the probability of finishing within it') and the three-point estimate shape, adding little beyond what the schema text provides, so the baseline of 3 applies.

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 verb+resource: 'Run a Monte Carlo simulation over a list of tasks ... to produce a probabilistic forecast of the TOTAL project duration.' The scope ('Tasks are summed (run in series)') is concrete and separates it from cost-oriented cousins, but it never names or contrasts the closest sibling (forecast_completion), so differentiation is only implicit.

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?

Gives a clear when-to-use rationale and an alternative: 'Use this instead of guessing a single deadline.' It also implies the precondition (three-point estimates per task). It stops short of routing the agent away from sibling tools such as pert_estimate or forecast_completion, so no explicit exclusions.

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