Skip to main content
Glama

Hedgr FX Risk & Treasury

simulate_scenario

Read-only

Models the P&L impact of exchange rate moves on the user's current net exposure (invoices + cash) and existing hedges. Four modes: (1) supply explicit scenarios for a linear what-if, e.g. 'What happens if GBP/EUR moves 3% before Q3 close?'; (2) set worst_case: true (scenarios optional) to revalue each currency at its OWN worst adverse 30-day historical move, the same worst-case the Monitor dashboard shows; (3) adverse_pct for one uniform move against every position; (4) base_move_pct for the base currency moving against all foreign currencies (negative = base weaker). Worst-case is a historical realised downside, not a forecast or a recommendation. Cross-currency pairs (neither leg is the reporting currency) are shocked base-neutrally.

Input Schema

NameRequiredDescriptionDefault
scenariosNoRate shocks to apply (required unless worst_case is true). Multiple entries are applied simultaneously (correlated move).
worst_caseNoWhen true, ignore linear shocks and apply each currency's own worst adverse 30-day historical move (adverse-aligned, always a loss). Matches the Monitor worst-case KPI when every exposed currency receives a move; partial coverage is reported in worst_case.coverage and worst_case.coverage_complete, and a partial gross_impact_base covers only the currencies listed in by_currency. scenarios becomes optional.
adverse_pctNoUniform adverse move: each currency moves this percentage against its own net position after open forwards (a net receivable currency weakens, a net payable currency strengthens), so every row is a loss. Use for 'a 10% adverse move' or 'everything moves 10% against me'. scenarios becomes optional.
horizon_daysNoForward-looking exposure window included in the simulation.
base_move_pctNoThe base currency moves this percentage against every foreign currency. Negative = base WEAKER (e.g. 'ZAR 10% weaker' on a ZAR book is -10), positive = base stronger. Use this instead of composing pairs for a base-currency move. scenarios becomes optional.
include_hedgesNoApply offsetting effect of existing hedges. Set false to see gross (unhedged) impact.

Output Schema

NameRequiredDescriptionDefault
dataYesTool-specific payload. Null when connection_status.state is 'setup_required'.
connection_statusYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / adverse_pct
      Added value: +{
      +  "description": "Uniform adverse move: each currency moves this percentage against its own net position after open forwards (a net receivable currency weakens, a net payable currency strengthens), so every row is a loss. Use for 'a 10% adverse move' or 'everything moves 10% against me'. scenarios becomes optional.",
      +  "exclusiveMinimum": 0,
      +  "maximum": 50,
      +  "type": "number"
      +}
    • addedInput schema / properties / base_move_pct
      Added value: +{
      +  "description": "The base currency moves this percentage against every foreign currency. Negative = base WEAKER (e.g. 'ZAR 10% weaker' on a ZAR book is -10), positive = base stronger. Use this instead of composing pairs for a base-currency move. scenarios becomes optional.",
      +  "maximum": 50,
      +  "minimum": -50,
      +  "type": "number"
      +}
  2. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Goes beyond the readOnlyHint annotation by disclosing that worst-case is a realized historical downside, not a forecast or recommendation, and that cross-currency pairs are shocked base-neutrally. Does not add much on auth or rate limits, but for a read-only simulation the added semantic caveats are substantive.

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-loads the purpose, then enumerates modes efficiently in one compound sentence. The mode list is dense but each clause earns its place; no filler.

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?

Covers purpose, mode semantics, and key behavioral caveats needed to call it correctly. Output schema exists, so return values need not be explained. Cross-currency base-neutrality and worst-case coverage are mentioned enough for correct use.

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 each parameter. The description adds mode-selection context but no syntax or format details beyond what the schema provides, so the baseline 3 applies.

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 (models), resource (P&L impact of FX moves), and scope (net exposure + hedges). The four-mode enumeration distinguishes it from every get_* sibling, which only report state rather than simulating it.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly enumerates four modes with the parameter that activates each and the natural-language question each answers. An agent can select the right mode without 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.

Resources