Skip to main content
Glama

Simulate Scenario

simulate_scenario
Read-onlyIdempotent

Simulates a 'what-if' scenario against the user's projected net worth. Scenario types: change_saving (delta_monthly), lump_sum (amount), growth_rate (low/mid/high overrides), target (target_amount, by_year). Returns baseline vs scenario at low/mid/high. Not financial advice. If the result has empty: true, the user has not added the relevant data yet: relay the message and next_step_url rather than treating it as an error.

Input Schema

NameRequiredDescriptionDefault
monthNo
scenarioYes
growth_ratesNo
horizon_yearsNo
monthly_savingNo
retirement_ageNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.8/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, closed-world), so the bar is lower. The description still adds real context beyond them: it discloses the return shape (baseline vs scenario at low/mid/high) and the empty-state contract with next_step_url, neither of which is derivable from annotations or schema.

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 purpose, then scenario types, then return shape, then the edge case — a logical order with dense, low-waste sentences. The 'Not financial advice' disclaimer is arguably filler but is defensible for a finance tool.

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?

For a nested, six-parameter tool with 0% schema coverage and no output schema, the description covers purpose, scenario-type semantics, return structure, and the empty-result contract. The main remaining gap is the undocumented top-level parameters (month, horizon_years, monthly_saving, retirement_age).

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?

Schema description coverage is 0% and the nested 'params' object is opaque (additionalProperties: {}), so the description carries the full burden. It rescues this by mapping each scenario type to its expected keys (delta_monthly, amount, low/mid/high, target_amount/by_year), but leaves the top-level month, horizon_years, monthly_saving and retirement_age params 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?

States a specific verb and resource ('Simulates a what-if scenario against the user's projected net worth') and enumerates the four supported scenario types, which makes the tool's scope unambiguous. It does not explicitly name or contrast with the closely related sibling 'project_retirement', so sibling differentiation is left implicit.

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 tool's name and purpose rather than stated: nothing tells the agent when to pick this over project_retirement or get_net_worth. The one piece of explicit guidance is handling of the 'empty: true' result (relay message and next_step_url rather than treat as error), which is useful but narrow.

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