Skip to main content
Glama

Fortunest demo

Simulation

simulation
Read-onlyIdempotent

DEMO portfolio (synthetic, shared, read-only). Read what the app knows about the user's SIMULATIONS — the Simulator tab's future projection, the goal seek, the what-if and the historical trade replay — without running any of them. It never starts a simulation and never starts a job. include (default ['summary']) ⊆ summary, whatif, dcaGoal, backtest. IMPORTANT: the future projection, the DCA goal and the what-if are computed on demand in the app and stored NOWHERE on the server — the only copy of what the user ran is the live-UI line 'last simulation — …' in the current turn's context; each block says resultsStoredOnServer: false and serves the INPUTS instead, so an absent result is never read as a zero. summary = what the portfolio is worth now plus the actual return, volatility and strategy horizon a projected line has to be judged against (whole-history figures; the simulator averages over its own lookback window). whatif = the before side a what-if is measured from (value, cash, diversification, portfolio fundamentals) and the verb that computes the after. dcaGoal = the goal seek's inputs, including the saved Trades-tab budget, which is NOT a recurring contribution. backtest = the historical trade replay, which IS kept server-side for an hour from when it was STARTED (the prune clock runs from the job's creation, not from its completion): state, progress and, once complete, its summary, window, coverage gaps and warnings; backtestId picks one, the default is the newest, and the per-day series, trades, decisions and assumptions are get_workload's answer, not this one's. Amounts are in the display currency; a field ending in Pct is a percent. Describes the user's own simulations; never investment advice.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "simulation"
  }
}

Input Schema

NameRequiredDescriptionDefault
includeNo
backtestIdNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, but the description adds material behavior the agent could not otherwise know: projection, DCA goal and what-if are computed on demand and stored nowhere, so an absent result must not be read as a zero. It also discloses the backtest retention window and that the prune clock runs from job creation rather than completion, plus the display-currency and Pct conventions.

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?

The scoping statement and the read-only guarantee are front-loaded, and nearly every sentence carries non-redundant information. It is a dense single block, however, and a few clauses (the DEMO parenthetical, the doubled 'never starts' phrasing) could be tightened for faster scanning.

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?

With no output schema and zero schema-level parameter documentation, the description compensates fully: it defines each returned block, flags the not-stored-on-server caveat, states retention and currency conventions, and marks the advice disclaimer. Nothing an agent needs in order to call this correctly or interpret its output appears to be missing.

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

Parameters5/5

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

Schema description coverage is 0%, so the description carries the full burden and does: it enumerates the legal include values, states the default (['summary']), and defines the meaning and content of each block (summary = current worth plus return/volatility/horizon; whatif = the `before` side plus the computing verb; dcaGoal = goal-seek inputs including the non-recurring saved budget; backtest = state/progress/summary/window/gaps). backtestId's selection rule and its 'newest' default are also spelled out.

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?

The description names a specific verb (read) and resource (the user's simulations: future projection, goal seek, what-if, historical trade replay) and immediately bounds it with 'without running any of them' and 'never starts a simulation and never starts a job'. It also carves out the sibling boundary explicitly, saying the per-day series, trades, decisions and assumptions are get_workload's answer, not this one's.

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?

It gives a clear condition for use (read what the app already knows about simulations rather than executing one) and routes detailed replay data to get_workload. It stops short of explicit when-not-to-use guidance against the broader sibling set (e.g., when to prefer get_core or get_trade_plan over the summary block), leaving some selection to inference.

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.