# Mtcontext MCP server

Source: https://glimind.com/server/mcp-registry%2Fio.github.mtcontext%2Fmtcontext
Registry id: `mcp-registry/io.github.mtcontext/mtcontext`
Status: auth-required (checked 2026-10-26T22:56:03.095Z)

## Measurements (30 days)

- Uptime: 100%
- Checks: 213
- Outages (90 days): 0

## Install

```json
{
  "mcpServers": {
    "mtcontext-mcp-server": {
      "type": "http",
      "url": "https://mcp.mtcontext.com/mcp/v1"
    }
  }
}
```

Claude Code:

```sh
claude mcp add --transport http mtcontext-mcp-server https://mcp.mtcontext.com/mcp/v1
```

## Tools (73)

- `backtest_strategy`: Runs a micro-backtest of a simple rule-based strategy over historical bars fetched from the EA. Maximum 5000 bars. Returns equity curve and basic statistics. Ti
- `calculate_lot_size`: Calculates the appropriate lot size for a trade based on account equity and risk parameters. Uses live account equity and symbol contract specs from the connect
- `cancel_alert`: Cancels an active alert by alert_id (from create_alert or list_alerts). Returns ALERT_NOT_FOUND if the alert does not exist, already fired, or was already cance
- `cancel_order`: Cancels a pending (limit or stop) order by ticket. Defaults to dry_run=true — set dry_run=false to execute live. Returns ORDER_NOT_FOUND if the ticket is not in
- `check_order`: Checks whether an order can be placed without sending it. Supports both market and pending order types. Returns { feasible, required_margin, free_margin, estima
- `close_all_positions`: Closes all currently open positions, optionally filtered by symbol. The EA executes all closes in a single command to avoid N round-trips and partial-disconnect
- `close_position`: Closes an open position by ticket. Defaults to dry_run=true — set dry_run=false to execute live. Requires the `trade` capability and inp_AllowTrading=true on th
- `create_alert`: Creates a persistent server-side alert, evaluated every ~30 seconds while the terminal is connected (not tick-precise). Types: price (level above/below), indica
- `detect_patterns`: Runs deterministic rule-based candlestick pattern detection over recent bars: engulfing, hammer, shooting star, doji, inside/outside bar, morning/evening star. 
- `explain_trade`: Explains a trade: what conditions existed at entry, the risk/reward ratio, SL/ATR ratio, and whether it aligns with common strategies. Works for both open posit
- `get_account_info`: Returns account balance, equity, margin, leverage, and currency.
- `get_bars`: Returns OHLCV bars for a symbol and timeframe.
- `get_behavioral_insights`: Computes descriptive behavioural metrics from closed trade history: overtrading (trades/day vs the trailing 30-day baseline), revenge trading (re-entry within 1
- `get_cb_stance`: Returns the central bank hawk/dove stance for a currency, scored from −1 (max dovish) to +1 (max hawkish). Reads from persisted snapshots — no LLM call in the r
- `get_correlation`: Returns the Pearson price correlation coefficient between two symbols over N daily bars. Ranges from -1.0 (perfect inverse) to +1.0 (perfect positive). Requires
- `get_cot_report`: Returns the latest CFTC Commitments of Traders (COT) report data for a currency or commodity. Data sourced from the CFTC Socrata public API (free, no key requir
- `get_currency_strength`: Ranks the 8 major currencies (USD EUR GBP JPY CHF CAD AUD NZD) by normalised % change, computed from bars across up to 28 major crosses in the terminal's Market
- `get_economic_calendar`: Returns upcoming and recent economic calendar events. Prefers MT5's built-in Calendar API when a terminal is connected; falls back to the server-side calendar (
- `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 insuffi
- `get_equity_guard_status`: Returns the current equity guard: config, status (armed / breached / breached_pending / none), day_start_equity anchor, current equity, daily P&L percent, and t
- `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 th
- `get_execution_quality`: Reports slippage statistics (requested vs filled price) for live market orders placed through MT-MCP: average, median, and worst slippage in points, overall and
- `get_fibonacci_levels`: Computes Fibonacci retracement and extension levels from swing high and low price points. Pure server-side computation — no EA dispatch required. Available at F
- `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-c
- `get_indicator`: Returns raw indicator values for a symbol and timeframe. Values are deterministic and unlabelled — no directional signals or verdicts are attached; the caller i
- `get_interest_rates`: Returns current central bank policy interest rates for major currencies, sourced from MT5's built-in Calendar API. Includes the date of the last change and next
- `get_journal`: Returns recent lines from the MT5 Journal log. available=false when the log cannot be read.
- `get_key_levels`: Computes support/resistance key levels for a symbol: classic + Fibonacci pivot points from the prior period, swing highs/lows (fractal detection), and psycholog
- `get_macro_indicators`: Returns key macroeconomic indicators (CPI, GDP, NFP, PMI, unemployment, retail sales, trade balance) for a currency with the latest actual, previous, forecast, 
- `get_market_context`: Returns live cross-asset context in one call: DXY (broad USD), VIX (equity-vol risk regime), and the US 10Y yield — each with level, short-horizon (5-day) chang
- `get_market_depth`: Returns Depth of Market (DOM) bid/ask levels for a symbol. Requires the broker to supply DOM data — if unavailable, returns empty arrays with a note. On MT4 ter
- `get_market_sessions`: Returns which major trading sessions (Sydney, Tokyo, London, New York) are currently open and when the next session opens/closes. Pure server-side UTC computati
- `get_market_snapshot`: Returns a single-call market snapshot for one symbol: current tick (bid/ask/spread) plus a chosen indicator set across up to 4 timeframes. Replaces 5-8 separate
- `get_news`: Returns recent forex/financial news articles from NewsAPI.org. Requires NEWS_API_KEY environment variable — returns NEWS_NOT_CONFIGURED if not set. Returns NEWS
- `get_news_guard_status`: Returns the current news guard configuration, enabled state, last poll time, classifier mode (llm/heuristic), and count of alerts raised in the last 24h. Return
- `get_orders`: Returns all pending orders.
- `get_pnl_by_symbol`: Returns P&L broken down per trading symbol. Result: { items: [{ symbol, pnl, trades }] } sorted by |pnl| descending.
- `get_pnl_by_time`: Returns P&L bucketed into time intervals. Result: { items: [{ period_start, pnl, trades }] } sorted chronologically.
- `get_positions`: Returns all open positions with P&L.
- `get_prop_firm_status`: Returns a decision-ready prop-firm verdict: overall status (ok | warning | critical | breached), trade_advice (proceed | reduce_risk | block), max_safe_risk_per
- `get_rate_differential`: Returns the interest rate differential between the two currencies in a pair, plus the annualised swap cost/credit for the specified volume. Computed server-side
- `get_rate_expectations`: Returns the market's expected policy path per G10 central bank: next scheduled meeting + countdown, current policy rate, last decision, and — for USD when a Fed
- `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 transpare
- `get_risk_summary`: Returns a portfolio risk overview: aggregate currency exposure, margin utilisation, and correlated pairs. NOTE: Currency exposure logic assumes FX symbols (e.g.
- `get_sentiment`: Returns retail trader positioning sentiment for a symbol from Myfxbook Community Outlook (free, no key required). Includes long/short percentages and a contrari
- `get_spread_alert`: Returns the current spread for a symbol compared to an estimated historical average. The 30-day average is estimated from daily high-low range (not tick-level d
- `get_symbol_info`: Returns contract spec for a symbol: lot size, swap rates, digits.
- `get_symbols`: Returns all symbols available in Market Watch.
- `get_terminal_info`: Returns MT5 terminal metadata: name, company, path, build, max_bars.
- `get_tick`: Returns the current bid, ask, and spread for a symbol.
- `get_tick_history`: Returns a sequence of raw ticks for a symbol. Result: { ticks: [{ time, bid, ask, last, volume }] }.
- `get_trade_history`: Returns closed trades with optional date range filter.
- `get_trade_stats`: Returns aggregate statistics over closed trades: total_trades, win/loss counts, win_rate, avg_profit, avg_loss, profit_factor, total_pnl, expectancy, max_drawdo
- `list_alerts`: Lists all alerts for this license with status (active/fired/cancelled), condition, mode, fire count, and last_evaluated_at (stale while the terminal is disconne
- `list_experts`: Returns all Expert Advisors currently attached to open charts.
- `modify_order`: Modifies the price, stop_loss, take_profit, or expiry of a pending order. At least one of price, stop_loss, take_profit, or expiry must be provided. Defaults to
- `modify_position`: Modifies the stop_loss and/or take_profit of an open position. At least one of stop_loss or take_profit must be provided. Defaults to dry_run=true — set dry_run
- `partial_close`: Closes a portion of an open position. `volume` must be less than the full position volume. Defaults to dry_run=true — set dry_run=false to execute live. Returns
- `place_order`: Places a market or pending order on MT5. Defaults to dry_run=true — set dry_run=false to execute live. Pending orders may set expiry (unix epoch seconds) for br
- `poll_alerts`: Drains undelivered fired-alert events (oldest first) and marks them delivered. Each event carries event_id, the alert's condition echo, the triggering values, a
- `query_journal`: Queries trade journal entries, newest first. Filters: ticket, tag, setup, from_date/to_date (ISO), and search (case-insensitive text match). Entries linked to c
- `read_ea_logs`: Returns recent lines from the EA log file. available=false when the log cannot be read (MQL5 sandbox).
- `remove_equity_guard`: Removes the equity guard. If the guard is currently breached (or breached_pending), removal requires confirm=true — this prevents silently disabling an active s
- `remove_news_guard`: Removes the news guard for this license. The guard stops polling immediately. Returns { removed: true } on success. Requires the `analytics` capability.
- `remove_prop_firm_rules`: Removes the prop-firm ruleset for the terminal (does not touch any linked equity guard — remove that separately with remove_equity_guard). Returns RULESET_NOT_F
- `reverse_position`: Closes an open position and opens a market order in the opposite direction as ONE EA command (single trade-context acquisition — minimises the gap between the t
- `scan_symbols`: Scans Market Watch symbols and filters by spread, RSI, or ATR thresholds. At least one filter criterion must be provided. Returns up to 50 symbols. If scanning 
- `set_breakeven`: Moves the stop loss of a position (or all positions) to its entry price. Optional buffer_points adds N points on the safe side of entry. Returns POSITION_NOT_IN
- `set_equity_guard`: Configures an account-level circuit breaker enforced server-side (survives this session): when equity falls max_daily_loss_percent below the daily anchor (or ma
- `set_news_guard`: Configures a persistent server-side news monitor. When enabled, the guard polls news at the specified interval, classifies articles by severity and affected cur
- `set_prop_firm_rules`: Configures a per-terminal prop-firm ruleset evaluated server-side (survives this session). Rules: max_daily_loss_percent (vs the daily equity anchor), optional 
- `set_trailing_stop`: Registers a software trailing stop on a position. The EA updates the SL each timer cycle when price moves trailing_points in the position's favour. IMPORTANT: t
- `write_trade_note`: Persists a trade journal entry: rationale, setup label, and tags, optionally linked to a position/order ticket. Entries are append-only and immutable — to corre

Measured by Glimind (https://glimind.com): MCP handshake + tool list only, no tool is ever called. CC BY 4.0.
