TradingWizard MCP.
Connect TradingWizard to your AI chat — your live trading data, in any MCP client. Read-only by design, with a structured get_trade_setup tool your AI agent can call before it acts.
Works with
Live context
Trading desk connected.
Your tools can read TradingWizard context. Trade execution stays in TradingWizard.
One command.
The CLI handles setup, auth, config, and the connection test — then wires up every MCP client it finds on your machine.
Install
Add the TradingWizard CLI.
Authorize
Approve access in the browser.
Connect
Claude, Gemini, Codex, OpenClaw, and Cursor are configured.
It reads everything. It acts only on your terms.
Read tools pull your live trading context. The write tools — alerts, watchlists, bots, and PAPER trades — are Ultimate-only and act solely on your own account. It never moves real money, withdraws, or touches your keys.
Reads — and acts only on your own account.
Read tools pull your live data. The Ultimate-only write tools manage alerts and watchlists, deploy and control your bots, and place PAPER trades — all scoped to you. It never executes real money, withdraws, or transfers.
Scoped to your account.
Each call authenticates with a personal API key and returns only your data — your bots, your trades, your portfolio. The key is the security boundary, and access is limited to Pro and Ultimate plans.
No secrets exposed.
No passwords, exchange API keys, 2FA codes, or billing card details are ever returned. get_account surfaces only your plan tier, credit balance, and daily usage.
Revocable in one click.
Regenerate your key in Settings → Integrations and the old one stops working instantly. The key is stored hashed and encrypted at rest — never in plain text.
Your key is the same one the browser extension and REST API use — one canonical key, kept private. Manage and regenerate it any time from Settings → Integrations.
43 tools, fully documented.
Grouped by area and generated straight from the live server, so this list always matches what the connector exposes. Each shows what it accepts, whether it reads or writes, and the plan it needs.
Account
get_accountFetch the authenticated TradingWizard user's plan tier, credit balance and daily-API usage. Use this to check whether a feature is gated before calling other tools.
- Params
- No parameters.
get_creditsCheck the agent budget: remaining credits, plan, and how many of today's API requests are left before the daily rate limit. Call this to self-monitor before running a batch of tools.
- Params
- No parameters.
get_memoryThe durable facts Wiz has learned about the signed-in user in their ACTIVE workspace (trading style, risk appetite, focus markets, decisions, lessons). Use to personalise answers or for 'what does Wiz remember about me'. Read-only and scoped to the user's own workspace.
- Params
- No parameters.
Portfolio
get_portfolioSnapshot of the user's portfolio — total equity, virtual cash balance, open exposure, win-rate, daily and all-time P&L, and per-holding AI verdicts.
- Params
- No parameters.
get_watchlistList the user's watchlists — saved symbol groups (name, icon, symbols, default flag). Use this to discover which symbols the user cares about before scanning or analysing.
- Params
- No parameters.
get_performance_statsThe user's own trading analytics over a window of CLOSED trades — win rate, profit factor, expectancy per trade, average and largest win/loss, total realized P&L, and max drawdown of the realized equity curve. `days` sets the window (default 90, max 365, 0 = all-time) — use days=30 for monthly stats. Optional `source` filter: paper | bot | live | imported. Use for "what's my win rate", "how did I trade this month", "am I profitable".
- Params
- days, source
Trades
get_tradesFetch the user's recent trades. `status` selects OPEN, CLOSED or PENDING (default: all three). `limit` caps the result count (default 25, max 100). Most recent first.
- Params
- status, limit
get_positions_liveMark-to-market view of all OPEN positions, priced live right now (vs get_trades, whose pnl is a stored snapshot). Returns a tradeId per row plus live price, live P&L and P&L %, so an agent can monitor position health and decide what to close or modify. Includes a totalLivePnl across positions.
- Params
- No parameters.
Bots
get_botsList the user's personal trading bots. Optional `symbol` filter (e.g. "BTC" or "BTCUSDT") narrows to one symbol. Returns bot status, current bias/score, recent P&L, win-rate and last/next scan timestamps.
- Params
- symbol
get_bot_timelineThe bot's merged activity timeline, newest first — the engine stream a human sees on the bot page: scan receipts (state, plain-language reason, plus verdict + trade-likelihood when present), life events (deploy, config_change and other lifecycle steps with their plain-language reason), and trade opens/closes (side, entry/exit, and realized pnlPercent on closes). `limit` caps rows (default 20, max 50); the web app has the full paginated view. Access mirrors the bot page: a private bot is visible only to its owner; a global fleet bot is public. Setup levels (entry/stop/target/rrr and the level-bearing reasons) are included only for the owner, Pro+ callers, or fleet admins — stripped otherwise.
- Params
- botId, limit
get_strategiesThe strategy lenses a bot can run — the six modules (Wiz plus five named technical lenses: Elliott Wave, Fibonacci, Cycle, MACD, MA Cross) with a plain-language description, the inputs each leans on, and the module it degrades to. Each carries an HONEST track record from real closed trades: status is 'proven' (with avgPnlPct + tradeCount), 'new' (no number yet — the lens hasn't earned one), or 'unproven' (a thin outlier we won't advertise). A lens changes what the analyst WEIGHS, never the odds — there is no fabricated per-strategy P&L. Pass a strategy id into deploy_bot or edit_bot to run a bot on that lens.
- Params
- No parameters.
deploy_botDeploy a new autonomous trading bot for a symbol. ⚠️ PAID: deploying kicks off an AI scan (consumes Gemini compute + 1 credit; the first bot is free on Free plan). Ultimate-only via the agent API. Respects plan bot-limits. Paper mode by default. timeframe/risk default to the user's settings. strategyId selects the analysis lens (default Wiz — call get_strategies for ids); language sets the bot's output language.
- Params
- symbol, name, timeframe, riskLevel, assetType, tradingStyle, strategyId, customPrompt, thinkingEffort, language
set_bot_stateControl a bot by id: pause, resume, delete, or scan. pause/resume/delete are free; delete closes any open positions and restores follower balances. scan queues an immediate re-scan (⚠️ PAID Gemini compute) and is Ultimate-only + rate-limited — it runs on the next cron tick, not inline.
- Params
- botId, action
edit_botEdit a personal bot's BEHAVIOUR config in place. `botId` is required; pass ONLY the fields you want to change (each optional). strategyId — a lens id from get_strategies (wiz | elliott | fibonacci | cycle | macd | macross) or an alias (breakout | meanreversion | vwap, which resolve). riskLevel — Low | Medium | High. timeframe — 1m, 5m, 15m, 30m, 1H, 2H, 4H, 1D, 1W. thinkingEffort — auto | low | medium | high. language — auto, en, sv, de, es, fr, nl, zh, hi. customPrompt — free-text strategy instructions (≤500 chars; empty string clears them). Every REAL change writes a permanent config_change event to the bot's timeline (see get_bot_timeline) and takes effect from the bot's next scan; a no-op save changes nothing. A bot's symbol/market/asset are FIXED — deploy a new bot for a different market. Owner-only; timeframe can't change while a trade is open. Returns the fields that changed plus the reloaded bot.
- Params
- botId, strategyId, riskLevel, timeframe, thinkingEffort, customPrompt, language
get_global_botsBrowse the PUBLIC TradingWizard AI bot fleet — the global bots any user can copy-trade. Each row carries the bot id (pass to follow_bot), symbol, current bias/verdict, AI confidence, trade-likelihood score, the forming setup (entry zone, stop, target, R:R — Pro+ levels) and the on-bot track record (PnL, win rate, trades). Optional symbol filter. Your own personal bots live in get_bots.
- Params
- symbol, limit
follow_botCopy-trade a GLOBAL fleet bot: paper copies of its trades land in the user's account, sized by volumeMultiplier. `action` selects follow | unfollow | pause | resume. Get bot ids from get_global_bots. Paper only — copying never touches real money.
- Params
- botId, action, volumeMultiplier
get_fund_performanceTrack record of the TradingWizard AI Bot Fund — the aggregate simulated equity curve across the whole global bot fleet. Returns headline stats (current equity, cumulative PnL, total trades, fleet win rate, active bots, period return, best/worst bot) plus a downsampled ~40-point equity curve. `period`: 24h | 7d | 30d | all (default 30d). Use to answer "how is the AI fund doing" or to benchmark the user's own stats (get_performance_stats) against the fleet.
- Params
- period
Market data
get_market_priceFetch the current live price for a single symbol. `type` should be one of CRYPTO, STOCK, FOREX, FUTURES, INDEX (default CRYPTO).
- Params
- symbol, type
get_market_summaryGlobal market snapshot — Fear & Greed index, BTC dominance, market regime (bull/bear/chop), an AI summary, and top gainers/losers plus bullish/bearish sentiment percentages. Call this first to read macro conditions before sizing or deciding to trade.
- Params
- No parameters.
get_market_trackLatest TradingWizard intelligence events (price spikes, regime changes, AI calls) for one or more symbols. Returns AI commentary, an action sentence and significance level. Pass a comma-separated list of symbols.
- Params
- symbols
get_market_moversLatest verified public statements from influential market-movers (Trump, Elon, Powell, Cathie Wood, Saylor, Cramer…) that could move a stock, crypto or sector — with the affected ticker, sentiment, a 'how likely to move' score, the source, and how far the asset has moved SINCE the statement. Optionally filter by symbols.
- Params
- symbols, limit
get_scannerCross-asset event scanner. `kind` selects "earnings" (upcoming earnings calendar, synced daily from the FMP calendar), "ipo" (upcoming IPOs by date from the IPO calendar, with a live NASDAQ-feed fallback), "insider" (recent insider transactions — live Yahoo Finance SEC Form 4 data across a curated large-cap universe) or "all" (default). Sections with no data return empty arrays.
- Params
- kind, limit
Analysis
get_chart_analysisFetch the most recent AI chart analysis for a symbol — verdict, confidence, entry/SL/TP levels, headline reasoning. Returns null when no analysis has been run yet. For a FRESH analysis, call run_analysis.
- Params
- symbol
get_trade_setupGet a structured trade SETUP for a symbol BEFORE execution — bias (BUY/SELL/WAIT), entry zone, stop / invalidation, targets, confidence, risk:reward, reasoning, and warnings. Built for AI trading agents that execute elsewhere: TradingWizard is the setup/risk layer ABOVE execution — ask for the setup first, then act. Returns the latest Wiz analysis mapped to the agent contract, plus a shareable receiptUrl when the call is actionable. Educational only — no profit guarantee.
- Params
- symbol, timeframe, marketType, riskMode, source
get_signalsTop trade signals across the global bot fleet right now — symbols where the AI conviction is highest. Use this when the user asks "what should I look at" without a specific ticker. Ultimate plan only.
- Params
- limit
get_bot_consensusHow the global bot fleet is currently biased on a symbol — a fast macro signal to validate or challenge your own conviction without running a fresh analysis. Returns bullish/bearish/neutral counts, the net consensus, and a confidence %.
- Params
- symbol
run_analysisTrigger a FRESH AI chart analysis for a symbol on demand (vs get_chart_analysis, which only returns the cached one). ⚠️ PAID: runs the Gemini engine (consumes a credit + Gemini compute). Ultimate-only via the agent API. Synchronous — can take up to ~2 min; if your client times out, the analysis still completes (recover it with get_analysis_status or get_chart_analysis). After it completes, call get_trade_setup for the structured setup.
- Params
- symbol, interval, marketType, imageUrl
get_analysis_statusCheck a chart analysis by analysisId, or the latest for a symbol — returns its status (processing/completed/failed) and the full analysis when ready. Use to poll a run_analysis that your client may have timed out on.
- Params
- analysisId, symbol
get_ranked_opportunitiesThe live scanner board: symbols the global AI bot fleet is watching, ranked by trade-likelihood (conviction 0-100). Each row: symbol, bias (LONG/SHORT/WAIT/NEUTRAL), likelihood score + label, AI confidence, fleet coverage (botCount), last scan — plus the forming-setup levels (entry zone, stop, target, risk:reward) for Pro+ callers. Broader and lower-gated than get_signals (Ultimate-only): reach for this first when the user asks "what should I look at right now".
- Params
- symbol, limit
watch_setupStart watching a setup receipt so TradingWizard tracks its outcome — target hit, stopped out, or invalidated — and alerts the user when it resolves. Pass the receiptId (the 24-char id inside get_trade_setup's receiptUrl, /r/<id>) or the receiptUrl itself. This closes the loop on get_trade_setup: fetch the setup, act (or not), then watch how the call plays out. Plan-capped concurrent watches (Free 1 / Pro 10 / Ultimate unlimited).
- Params
- receiptId, receiptUrl
Alerts
get_alertsList the user's price/indicator alerts. Optional `symbol` filter. Shows condition, target value, timeframe, delivery channels and active state.
- Params
- symbol
create_price_alertCreate a price or indicator alert for a symbol. Conditions: price_above, price_below, rsi_above, rsi_below, rsi_oversold, rsi_overbought, ma_cross_above, ma_cross_below, volume_spike. price_*/rsi_above/rsi_below need a positive `value` (RSI 1-99). Delivery defaults to in-app + email. Plan-capped (Free 3 / Pro 10 / Ultimate unlimited) and rate-limited. Notifications only — does NOT auto-trade.
- Params
- symbol, condition, value, period, timeframe, delivery, marketType, cooldownHours, oneShot
update_alertUpdate an existing alert by id — change its value, condition, timeframe, delivery, cooldown, or pause/resume it via `active`. Re-activating respects the plan cap.
- Params
- id, symbol, condition, value, timeframe, delivery, active, cooldownHours, oneShot, marketType
delete_alertDelete an alert by id. Frees a slot against the plan cap.
- Params
- id
Watchlist
add_to_watchlistAdd a symbol to a watchlist. Targets the list by `listId` or `listName`, else the user's default list. Idempotent (no duplicates).
- Params
- symbol, listId, listName
remove_from_watchlistRemove a symbol from a watchlist (by listId/listName, else the default list).
- Params
- symbol, listId, listName
create_watchlistCreate a new watchlist with an optional name, icon (emoji) and starting symbols. Plan-capped (Free 3 / Pro 10 / Ultimate unlimited).
- Params
- name, symbols, icon
delete_watchlistDelete a watchlist by id. If it was the default, the oldest remaining list is promoted to default.
- Params
- listId
Execution
execute_paper_tradeOpen a PAPER (simulated) market trade — no real money. Fills at the live market price (you cannot set the entry; a >2% move or no feed is rejected, like a real broker). Deducts from the virtual balance. Provide an optional analysisId to attribute the trade to a chart analysis. Free across plans; paper only.
- Params
- symbol, side, amount, stopLoss, takeProfit, leverage, analysisId
close_positionClose an OPEN paper position by tradeId (get the id from get_positions_live). Closes at the live price. Pass partialPercent (0-100) to scale out; omit for a full close. Bot positions also settle followers.
- Params
- tradeId, partialPercent
modify_positionEdit the stop-loss, take-profit(s) or trailing-stop on an OPEN paper position by tradeId. A level is set when present, cleared with null, untouched when omitted. New levels are validated against the live price (you can move a stop to break-even+ but not set one that would trigger immediately).
- Params
- tradeId, stopLoss, takeProfit, trailingStopPercent
place_limit_orderPlace a PAPER (simulated) LIMIT order at YOUR exact entry price — the execution counterpart to get_trade_setup's entryZone (execute_paper_trade is market-only). A BUY limit below / SELL limit above the live price waits until price reaches the level (funds are reserved up-front, Binance-style); a limit already at/past the live price fills immediately at market and the response says so. Optional stop/target are validated for side and sane distance (a dropped-k typo like "BTC at 107" is rejected with a units hint). Cancel an unfilled order with cancel_pending_order. Paper only — no real money.
- Params
- symbol, side, amount, entryPrice, stopLoss, takeProfit, leverage
cancel_pending_orderCancel one of the user's PENDING (unfilled) paper limit orders by tradeId and refund the funds reserved at placement. Find pending orders via get_trades with status=PENDING. Has no effect on OPEN positions — use close_position for those.
- Params
- tradeId
Prime your AI chat.
After you connect, paste this into Claude, ChatGPT, Cursor, or any MCP client. It tells the assistant which tools exist and how to use them — so your first question already pulls real numbers.
You can read my live TradingWizard account through MCP tools (get_portfolio, get_trades, get_bots, get_market_price, get_market_track, get_chart_analysis, get_trade_setup, get_signals, get_scanner, get_account). These tools are read-only — they pull real data, they never place trades or move money. When I ask about my trading, call the right tool and answer from real numbers, not guesses. Start by calling get_portfolio and get_trades, then give me a quick read on my account: total equity, open positions, today's P&L, and anything that moved. If a symbol comes up, use get_chart_analysis or get_trade_setup for the read before you comment.
Bring your desk into the chat.
The connector gives context. Opening trades and deploying bots still happen inside TradingWizard.
See what the market is doing. Right now.
Start my $1 monthThen $39/mo · cancel anytime
Trading involves risk. Every bot starts in paper mode — no real money.