MCP Reference

17 tools for AI assistants (6 flagship + 11 primitives) - sign in from ChatGPT or Claude, or connect with your own API key.

MCP Reference

The TradeWave MCP server exposes 17 tools (6 flagship + 11 primitives) for detected seasonal patterns, ML scoring, chart data, and the published daily-pick record. ChatGPT and Claude authorize a TradeWave account. Other developer clients can use OAuth when compatible or the developer bearer-authentication path. Access follows the account or developer credential used for the connection.

A research partner, not a black box. TradeWave supplies a seasonal + 62-feature-ML statistical edge and the timing only. It is blind to fundamentals, valuation, news, catalysts, macro/rates, analyst views, earnings dates, and the live price. It is designed to pair with the assistant's own web, news, and reasoning tools: TradeWave gives the seasonal/ML edge, the assistant extends it with fundamentals/news/macro, and the two synthesize one view. Every card carries a research hand-off, and the describe_tradewave tool self-documents the method. Tools use progressive disclosure - a one-line decision by default, full receipts / the Trend Chart data on request.

Seasonal patterns only. The same contract as the REST API applies. No raw prices or OHLCV data is ever returned. Seasonal tools are available to every connected plan. ML access follows the credential used to connect: TradeWave-account connections use web-plan entitlements, while developer-key connections use API-plan quotas. If ML is unavailable or its daily allowance is spent, the tool returns a graceful stub instead of failing.

Flagship tools

Start here. These six do the synthesis for you - rank, explain, brief, and compare seasonal setups in one call.

find_best_opportunities All tiers

The workhorse. Scans one or more markets and returns the strongest seasonal setups right now as ranked decision cards - headline, direction, edge score, entry window, and a research hand-off. Use when the user asks what to trade or when to enter.

Inputs: markets (plural - a list or CSV of market ids/names), window (e.g. "now"), direction (long | short), min_win_rate, min_years, min_days, max_days, min_avg_return, min_median_return, min_sharpe, pe_cycle, years, min_winning_years, rank_by, limit, view

Maps to: GET /v1/scan

analyze_symbol All tiers

Deep-dives one named ticker - the best current seasonal setup plus alternative setups, full receipts, and a ready-to-place ticket. Use when the user asks about a specific symbol.

Inputs: symbol (required), market, direction, days_out, entry_date, pe_cycle, years, period, reverse, view, include_chart

Maps to: GET /v1/analyze/{symbol}

explain_pick All tiers

Returns today's AI daily pick as a full Pattern Card WITH its live, forward-tested track record - the strongest proof TradeWave can offer (the pick is made in advance, then scored later). Use when the user asks for "today's pick", "the trade of the day", or wants to see proof the seasonal patterns work before trusting them.

Inputs: none

Maps to: GET /v1/daily-pick

morning_briefing All tiers

The one-call morning briefing: today's daily pick (decision view), the live forward-tested track-record summary with the last five outcomes, and the top setups entering their seasonal window now. Use on "good morning", "my briefing", or any open-ended start-of-day prompt. Sections degrade gracefully - a partial briefing beats no briefing.

Inputs: none

Maps to: GET /v1/daily-pick + GET /v1/daily-pick/track-record + GET /v1/scan (composed, fetched in parallel)

whats_seasonal_now All tiers

The zero-input starting point. Returns what is seasonally in play right now across the caller's in-scope markets - a fast "what should I be looking at today" overview.

Inputs: none required (optional markets (plural), min_win_rate, view)

Maps to: GET /v1/scan with window=now

compare_opportunities All tiers

Puts two or more setups side by side on the same yardstick - edge score, win rate, Sharpe, avg/median return, ML basis - so the assistant can reason about which is stronger. Use when the user is choosing between candidates.

Inputs: symbols (required, a list of ticker symbols, e.g. ["GLD", "SLV", "GDX"]), market (optional, applied to every symbol), view

Maps to: GET /v1/analyze/{symbol} (per symbol)

Primitive tools

Lower-level building blocks for clients that want to compose their own flow.

list_markets All tiers

Returns the 15 active TradeWave markets and which are within the caller's tier scope. Use this to discover what markets are available before fetching opportunities.

Inputs: none

Maps to: GET /v1/markets

whoami All tiers

Reports the caller's identity and entitlements as resolved from the authenticated TradeWave account or developer key - plan, in-scope markets, ML allowance, and remaining quota. Use it after connecting to confirm what the current connection can access.

Inputs: none

Maps to: GET /v1/me

describe_tradewave All tiers

Self-documents the method: what TradeWave measures (seasonal + 62-feature ML), what it is blind to (fundamentals, news, macro, live price), and how the assistant should pair it with its own research tools. Call this once so the model frames TradeWave correctly as a research partner.

Inputs: none

Maps to: static method description

list_symbols All tiers

Lists the tradeable symbols in a market.

Inputs: market (market id, e.g. "2")

Maps to: GET /v1/markets/{market_id}/symbols

get_seasonal_opportunities All tiers

Find the best seasonal trade setups for a market and date window, ranked by historical edge. Use when the user asks what to trade, when to enter, or which symbols have a strong seasonal tendency.

Inputs: market (required), from, to, direction (long | short), min_win_rate (0-1), limit

Returns: ranked list - symbol, direction, entry date, holding period, Sharpe ratio, avg/median return %, win rate. ML fields are included only when the connected TradeWave account or developer key has ML access and the market is ML-eligible (ids 0-4, 11); otherwise they are null.

Maps to: GET /v1/opportunities

get_symbol_patterns All tiers

A security's top seasonal patterns throughout the year, ranked by Sharpe ratio - the list the wave viewer shows in its pattern dropdown. Coverage: per-symbol patterns exist for market ids 0, 1, 2, 7, and 9 only (DOW 30, NASDAQ 100, S&P 500, Futures & Commodities, FOREX Liquid); any other market returns a clear error - use find_best_opportunities to scan those instead.

Inputs: symbol (required), market (required), pe_cycle, years, min_winning_years, min_days, max_days, min_avg_return, min_sharpe

Maps to: GET /v1/securities/{symbol}/patterns

get_seasonal_pattern All tiers

Returns aggregate seasonal pattern statistics for a symbol - win rate, average/median profit, Sharpe ratio, and related percentages. No price series is returned.

Inputs: market (required), symbol (required), pe_cycle, years, period, reverse

Maps to: GET /v1/patterns/{market_id}/{symbol}

get_opportunity_chart All tiers

Returns The Trend Chart DATA (not an image) for a seasonal setup - a single year-averaged, normalized 0-100 seasonal index curve (seasonal_curve, one {date, index} point per day). It is the typical within-year shape (where it rises, peaks, fades), NOT per-year cumulative price paths, and the index is never a price. Agents can reason over the shape. Raw prices are intentionally not exposed.

Inputs: market (required), symbol (required), entry_date, days_out, direction, years, pe_cycle, period, reverse

Maps to: GET /v1/seasonal-chart

score_opportunities All tiers

Runs the ML model on a list of opportunities and returns ml_score, win_prob, pred_return, and pred_mfe for each. Availability and daily allowance follow the connected TradeWave account's web plan or the developer key's API plan. If ML is unavailable or the daily allowance is spent, the response returns a graceful upgrade stub instead of failing.

Inputs: list of {symbol, date, days_out, direction}

Maps to: POST /v1/score

get_daily_pick All tiers

Returns today's ML-selected featured opportunity. The daily pick is the top ML-scored setup published each morning before market open.

Inputs: none

Maps to: GET /v1/daily-pick

get_pick_track_record All tiers

Returns the verifiable, time-stamped win/loss record of all past daily picks - this is the live, forward-tested track_record.win_rate, distinct from the seasonal historical_win_rate and the per-instance ml_win_prob. Use this to show the AI's historical performance to the user.

Inputs: none

Maps to: GET /v1/daily-pick/track-record

Connecting to MCP clients

Client setup screens change independently of the MCP protocol. Use the TradeWave MCP setup guide for the current, numbered ChatGPT and Claude instructions and a connection test.

Developer-key fallback for other clients

This fallback is only for developer clients that cannot complete TradeWave sign-in. ChatGPT and Claude users should follow the setup guide above.

  1. Create a TradeWave developer API key.
  2. Configure the MCP server as https://mcp.tradewave.ai and send Authorization: Bearer <your-key> if the client supports headers.
  3. If the client only supports local stdio servers, run mcp-remote as the bridge:
npx -y mcp-remote https://mcp.tradewave.ai \
  --header "Authorization: Bearer <your-key>"

Keep the key in the client's secure configuration. Do not paste it into a chat message.

Tier behavior in MCP

OAuth consumer connections mirror the TradeWave web subscription:

BYOK connections follow the standalone REST API ladder: