MTContext Docs
Tool Reference

Macro Risk

6 tools in this category.

Overview

Macro Risk includes 6 tools for this workflow area.

Available tools: get_economic_surprise, get_event_risk, get_event_sensitivity, get_holding_risk, get_risk_regime, manage_news_guard.

Use the parameter tables and examples below as the canonical request contract.

get_economic_surprise

Returns a rolling actual-vs-forecast surprise index for a currency's economic events, weighted by impact tier (high=3×, medium=1×, low ignored). Reports insufficient_history when fewer than 30 days of data exist. Uses the server-side calendar. Requires the analytics capability (Team+ tier).

Parameters

NameTypeRequiredDefaultDescription
currencystringYes
daysintegerNo90

Example Request

{
  "tool": "get_economic_surprise",
  "arguments": {
    "currency": "currency_value"
  }
}

get_event_risk

Preflight check: returns a graded verdict (proceed/caution/block) for trading a symbol based on upcoming high-impact economic events within the horizon. Uses the server-side calendar — works with no terminal connected. Includes blackout windows, resume_after time, and per-event details. Unknown symbols default to caution (fail-safe). Requires the analytics capability (Team+ tier).

Parameters

NameTypeRequiredDefaultDescription
symbolstringYes
horizon_hoursnumberNo4
high_before_minintegerNo
high_after_minintegerNo
medium_before_minintegerNo
medium_after_minintegerNo

Example Request

{
  "tool": "get_event_risk",
  "arguments": {
    "symbol": "EURUSD"
  }
}

get_event_sensitivity

Reports, per calendar event type, how far a symbol has historically moved when that event landed — joining the persisted calendar against the symbol's own H1 price history. Move = high-to-low range spanning the event's bar and the following bar, in points and normalised by ATR at that time. H1 resolution overstates a short spike's duration; event types with fewer than 3 occurrences report insufficient_history and omit averages. Results are cached for at least one hour. Requires the analytics capability (Team+ tier).

Parameters

NameTypeRequiredDefaultDescription
symbolstringYes
event_typestringNo
lookback_daysintegerNo90

Example Request

{
  "tool": "get_event_sensitivity",
  "arguments": {
    "symbol": "EURUSD"
  }
}

get_holding_risk

Assesses risk for holding (or planning to hold) a position in a symbol for a specified duration. Reports events landing inside the hold window, weekend/market-closure gap exposure, and triple-swap day flags. Uses the server-side calendar — works with no terminal. Requires the analytics capability (Team+ tier).

Parameters

NameTypeRequiredDefaultDescription
symbolstringYes
expected_hold_hoursnumberNo24

Example Request

{
  "tool": "get_holding_risk",
  "arguments": {
    "symbol": "EURUSD"
  }
}

get_risk_regime

Returns a composite risk-on/risk-off score in [−1, 1] from z-scored market inputs (VIX, DXY, gold, 2s10s spread, equities). Pure scoring function with transparent per-input drivers, confidence, missing_inputs, and sizing_advice. Requires at least 3 available inputs or returns REGIME_UNAVAILABLE. Requires the analytics capability (Team+ tier).

Parameters

No parameters.

Example Request

{
  "tool": "get_risk_regime",
  "arguments": {}
}

manage_news_guard

Manages a persistent server-side news monitor, dispatched by action. Requires the analytics capability. Notify-only: the guard never closes positions or blocks trades. action=set: configures the guard. When enabled, it polls news at the specified interval, classifies articles by severity and affected currencies, and triggers alerts (via manage_alerts action=poll) when articles meet the threshold. One guard per license — calling again replaces the config. Requires currencies. action=status: returns the current configuration, enabled state, last poll time, classifier mode (llm/heuristic), and count of alerts raised in the last 24h. Returns { status: 'none' } if no guard is configured. action=remove: removes the news guard for this license. The guard stops polling immediately. Returns { removed: true } on success.

Parameters

NameTypeRequiredDefaultDescription
actionstringYes(one of: set, status, remove)
currenciesarrayNoRequired for action=set.
keywordsarrayNo[]
min_severitystringNo"high"(one of: low, medium, high, critical)
poll_interval_secondsintegerNo300

Example Request

{
  "tool": "manage_news_guard",
  "arguments": {
    "action": "set"
  }
}

On this page