{"schemaVersion":1,"server":{"id":"trade-echo-mcp-intel","name":"Trade Echo MCP","version":"1.0.0","description":"Read-only Trade Echo market intelligence for AI assistants: options flow, dealer gamma levels, dark pool prints, Algo Edge signals, news, futures, and market data. It never places orders.","readOnly":true,"placesOrders":false,"membershipRequired":"paid"},"endpoint":{"url":"https://api.tradeecho.com/api/mcp/intel","transport":"Streamable HTTP (JSON responses, no SSE stream)","methods":["POST"],"stateless":true,"protocolVersions":["2024-11-05","2025-03-26","2025-06-18","2025-11-25"]},"auth":{"summary":"OAuth 2.1 with PKCE (S256) for public clients, with Dynamic Client Registration and client ID metadata documents. A personal access token from Agent Connections also works as a Bearer token. Unauthenticated requests get 401.","methods":["oauth2","personal_access_token"],"oauth":{"pkce":"S256","publicClients":true,"dynamicClientRegistration":true,"clientIdMetadataDocuments":true,"protectedResourceMetadataUrl":"https://api.tradeecho.com/.well-known/oauth-protected-resource","authorizationServerMetadataUrl":"https://api.tradeecho.com/.well-known/oauth-authorization-server"},"personalAccessTokens":{"manageUrl":"https://app.tradeecho.com/agent-connections"},"revokeUrl":"https://app.tradeecho.com/agent-connections"},"limits":{"note":"Typical limits, not guarantees. Each tool call costs credits; budgets refill hourly and may change.","creditsPerHourPerConnection":100,"creditsPerHourPerMember":150,"burstCreditsPerMinute":15},"toolCounts":{"total":23,"defaultConnection":18,"allMarketIntel":20,"withMyAccount":23},"defaultScopeBundle":{"id":"core_market_intel","title":"Default market intel","description":"Granted when a client connects without asking for specific scopes: every market intel scope except SEC filings. My Account is never included by default.","scopes":["flow.read","dealer_edge.read","darkpool.read","algo_edge.read","news.read","market.read","intel.read","futures.read"],"toolCount":18},"bundles":[{"id":"full_intel","title":"All market intel","description":"Every read-only Trade Echo intelligence tool: Option Flow, Dealer Edge, Dark Pool, Algo Edge, Market Data, News Edge, BT Cloud, SEC Filings and Futures.","scopes":["flow.read","dealer_edge.read","darkpool.read","algo_edge.read","market.read","news.read","intel.read","filings.read","futures.read"],"toolCount":20},{"id":"options_dealer_intel","title":"Options and dealer only","description":"Option Flow, Dealer Edge, market data and the futures map.","scopes":["flow.read","dealer_edge.read","market.read","futures.read"],"toolCount":11},{"id":"my_account","title":"My Account","description":"Optional switch layered on any profile. Adds your own journal, copy trading status, and broker holdings.","scopes":["account.read"],"toolCount":3}],"scopes":[{"id":"flow.read","title":"Option Flow","description":"Unusual options flow, Discovery noteworthy flow, and sector premium summaries.","includedByDefault":true,"optIn":false,"tools":["get_noteworthy_flow","get_option_flow","get_option_flow_sector_summary"]},{"id":"dealer_edge.read","title":"Dealer Edge","description":"Dealer gamma ladders and positioning levels.","includedByDefault":true,"optIn":false,"tools":["get_dealer_edge_data"]},{"id":"darkpool.read","title":"Dark Pool","description":"Recent dark-pool prints and FINRA market context.","includedByDefault":true,"optIn":false,"tools":["get_dark_pool_data"]},{"id":"algo_edge.read","title":"Algo Edge","description":"Algo Edge large-trade signals.","includedByDefault":true,"optIn":false,"tools":["get_algo_edge_signals"]},{"id":"market.read","title":"Market Data","description":"Quotes, indices, macro events, and options chains.","includedByDefault":true,"optIn":false,"tools":["get_market_data","get_finra_ats_volume","get_index_snapshot","get_macro_events","get_options_chain_snapshot"]},{"id":"news.read","title":"News Edge","description":"Ticker headlines and Discovery Breaking News.","includedByDefault":true,"optIn":false,"tools":["get_news","get_breaking_news"]},{"id":"intel.read","title":"BT Cloud & Multi-Signal","description":"BT Cloud, session structure, and combined multi-signal scans.","includedByDefault":true,"optIn":false,"tools":["get_bt_cloud_state","get_session_structure","multi_signal_scan"]},{"id":"filings.read","title":"SEC Filings & Financials","description":"SEC filings and structured company financials.","includedByDefault":false,"optIn":false,"tools":["get_sec_filings","get_company_financials"]},{"id":"futures.read","title":"Futures Echo Map","description":"CME futures session map, overnight stats, CVD, projected dealer walls, and Discovery large ES/NQ prints.","includedByDefault":true,"optIn":false,"tools":["get_unusual_futures_prints","get_futures_echo_map"]},{"id":"account.read","title":"My Account","description":"Your trade journal, copy-trading status, and live broker holdings. Third-party models will see these numbers.","includedByDefault":false,"optIn":true,"tools":["get_my_broker_snapshot","get_portfolio_stats","get_my_copy_trading_status"]}],"tools":[{"name":"get_bt_cloud_state","title":"BT Cloud state","description":"BT Cloud direction on 1-minute bars; returns cloud state (bullish/bearish) and crossover events.","scope":"intel.read","credits":1,"readOnly":true,"parameters":[{"name":"ticker","type":"string","required":true,"description":"Underlying ticker symbol (SPX/ES map to SPY proxy)"},{"name":"timespan_multiplier","type":"number","required":false,"description":"Bar multiplier for minute timespan (default 1)"}]},{"name":"get_session_structure","title":"Session structure","description":"Session VWAP + configurable EMA structure (e.g. EMA9/EMA20) plus opening ranges (5/15/30/45/60-minute highs/lows from 9:30 ET, for ORB setups). Returns scenario, action (TAKE/OPTIONAL/NO_TRADE), structure string, openingRanges, and prime-window flag. Periods default to 9 and 20.","scope":"intel.read","credits":1,"readOnly":true,"parameters":[{"name":"ticker","type":"string","required":true,"description":"Underlying ticker (SPX maps to SPY proxy for bars)"},{"name":"timeframe","type":"string","required":false,"description":"Bar timeframe, one of 1m, 3m, 5m, 15m, 30m, 1h (default 1m). Higher timeframes are resampled from 1-minute bars on the 09:30 ET session grid. Use the agent's configured session-structure timeframe when one is stated in the instructions."},{"name":"ema_periods","type":"array","required":false,"description":"Two EMA periods, e.g. [9, 20] or [14, 50]","items":"number"},{"name":"scenario_table_id","type":"string","required":false,"description":"Use the saved Session Structure scenario table; legacy by default.","enum":["stillrizing_v2","symmetric_trend_v1"]},{"name":"use_vwap","type":"boolean","required":false,"description":"Include session VWAP in classification (default true)"}]},{"name":"get_noteworthy_flow","title":"Noteworthy Flow","description":"Trade Echo Discovery Noteworthy Flow - the ranked, OI-confirmed institutional options prints ledger for ONE trading session (score, ticker, strike, expiration, fill price, premium, trade time ET, flags). Defaults to the most recent session that has a ledger (on a weekend or before 9:25 ET that is the last trading day); pass `date` for a specific past session. Every clause of a member's question maps to a parameter - use max_dte_days, time_from/time_to (ET), min_premium, max_fill_price, call_or_put rather than filtering by eye. The default premium floor ($350K) matches the member Discovery page. Includes next-session open-interest confirmation (oi_stick) when available.","scope":"flow.read","credits":2,"readOnly":true,"parameters":[{"name":"date","type":"string","required":false,"description":"Trading session YYYY-MM-DD (ET). Omit for the most recent session with a ledger."},{"name":"call_or_put","type":"string","required":false,"description":"Filter to 'Call' or 'Put' prints; omit for both"},{"name":"min_score","type":"number","required":false,"description":"Only prints with score above this (default 0)"},{"name":"min_premium","type":"number","required":false,"description":"Minimum total premium in dollars (default 350000, the Discovery page floor)"},{"name":"max_fill_price","type":"number","required":false,"description":"Only prints with per-contract fill under this (dollars per contract, e.g. 5)"},{"name":"max_dte_days","type":"number","required":false,"description":"Only contracts expiring within this many calendar days of the session date (0 = same-day/0DTE, 7 = within a week)"},{"name":"time_from","type":"string","required":false,"description":"Earliest trade time ET, e.g. '9:35 AM' or '09:35'"},{"name":"time_to","type":"string","required":false,"description":"Latest trade time ET, e.g. '10:15 AM' or '10:15'"},{"name":"limit","type":"number","required":false,"description":"Max rows (default 10, cap 25)"}]},{"name":"get_dealer_edge_data","title":"Dealer Edge (GEX)","description":"DealerEdge / GEX-style gamma ladder for an equity or index root symbol (e.g. SPY, QQQ). setups[] lists named setups active on the ticker now (name, Setups Library url, state); use those names verbatim. When present, metadata.keyLevels.vannaAnchor, vannaWalls and vannaFlip plus metadata.vanna (dollars of dealer delta per 1 IV point) are estimated dealer hedge pressure if implied vol moves, not predictions: positive means falling IV pushes dealers to buy, negative means falling IV pushes dealers to sell.","scope":"dealer_edge.read","credits":2,"readOnly":true,"parameters":[{"name":"ticker","type":"string","required":true,"description":"Underlying ticker symbol"},{"name":"timeframe","type":"string","required":false,"description":"Optional label for user context (e.g. 1d)"}]},{"name":"get_option_flow","title":"Option Flow","description":"Trade Echo OptionFlow - the raw unusual options activity feed (every SWEEP / TRADE print with premium, size, strike, expiration, sentiment; ~20K+ prints per session). Use for 'flow', 'sweeps', 'unusual activity' on a ticker or across the tape. Defaults to the most recent prints; pass date and/or time_from/time_to (ET) to scope a session or window, and map other clauses to call_or_put, min_premium, max_dte_days, min_size, sentiment. For the curated, ranked Discovery list use get_noteworthy_flow instead. Includes next-session open-interest confirmation (oi_stick) when available.","scope":"flow.read","credits":1,"readOnly":true,"parameters":[{"name":"ticker","type":"string","required":false,"description":""},{"name":"date","type":"string","required":false,"description":"Trading session YYYY-MM-DD (ET). Omit for most recent prints."},{"name":"time_from","type":"string","required":false,"description":"Earliest trade time ET, e.g. '9:35 AM' (applies to `date`, or today if no date)"},{"name":"time_to","type":"string","required":false,"description":"Latest trade time ET, e.g. '10:15 AM'"},{"name":"call_or_put","type":"string","required":false,"description":"'Call' or 'Put'; omit for both"},{"name":"min_premium","type":"number","required":false,"description":"Minimum premium in dollars"},{"name":"min_size","type":"number","required":false,"description":"Minimum contracts"},{"name":"max_dte_days","type":"number","required":false,"description":"Only contracts expiring within this many calendar days of the session date (0 = 0DTE)"},{"name":"sentiment","type":"string","required":false,"description":"'BULLISH', 'BEARISH' or 'NEUTRAL'"},{"name":"flow_type","type":"string","required":false,"description":"'SWEEP' or 'TRADE'"},{"name":"flow_types","type":"array","required":false,"description":"Option activity types to include when more than one is required. Omit when flow_type is set.","items":"string"},{"name":"limit","type":"number","required":false,"description":"Max rows (default 20, cap 50)"}]},{"name":"get_dark_pool_data","title":"Dark pool prints","description":"Dark pool (off-exchange) equity prints with optional min notional (USD) or share size. Defaults to the most recent prints; pass date and/or time_from/time_to (ET) for a session or window, or timeframe for a rolling 1h/24h look-back.","scope":"darkpool.read","credits":1,"readOnly":true,"parameters":[{"name":"ticker","type":"string","required":false,"description":""},{"name":"date","type":"string","required":false,"description":"Trading session YYYY-MM-DD (ET)"},{"name":"time_from","type":"string","required":false,"description":"Earliest print time ET, e.g. '9:35 AM'"},{"name":"time_to","type":"string","required":false,"description":"Latest print time ET, e.g. '10:15 AM'"},{"name":"min_amount","type":"number","required":false,"description":"Minimum print notional in USD (e.g. 1000000 for $1M+ prints)"},{"name":"min_size","type":"number","required":false,"description":"Minimum share size (use min_amount for dollar filters)"},{"name":"timeframe","type":"string","required":false,"description":"one of: 1h, 24h, 1d, or omit for all recent (ignored when date/time given)"},{"name":"limit","type":"number","required":false,"description":""}]},{"name":"get_algo_edge_signals","title":"Algo Edge signals","description":"Trade Echo Algo Edge - channel alerts (large_trades, momentum_trades, spx_0dte, high_value_0dte_trades, insider_trades, small_trades, original_short_expiry_trades, condition_219_trades, executive_trades). Each row carries ticker, strike, call/put, expiration, size, value ($), trade time, and % OTM. Defaults to the most recent alerts on one channel; pass date and/or time_from/time_to (ET) for a session or window, and map clauses to call_or_put, min_value, max_dte_days, moneyness.","scope":"algo_edge.read","credits":1,"readOnly":true,"parameters":[{"name":"ticker","type":"string","required":false,"description":""},{"name":"channel","type":"string","required":false,"description":"AlgoEdge channel id (e.g. large_trades, momentum_trades, spx_0dte). Defaults to large_trades.","enum":["large_trades","executive_trades","spx_0dte","momentum_trades","condition_219_trades","original_short_expiry_trades","high_value_0dte_trades","small_trades","insider_trades"]},{"name":"date","type":"string","required":false,"description":"Trading session YYYY-MM-DD (ET)"},{"name":"time_from","type":"string","required":false,"description":"Earliest alert time ET, e.g. '9:35 AM'"},{"name":"time_to","type":"string","required":false,"description":"Latest alert time ET, e.g. '10:15 AM'"},{"name":"call_or_put","type":"string","required":false,"description":"'Call' or 'Put'; omit for both"},{"name":"min_value","type":"number","required":false,"description":"Minimum trade value in dollars"},{"name":"max_dte_days","type":"number","required":false,"description":"Only contracts expiring within this many calendar days of the session date (0 = 0DTE)"},{"name":"moneyness","type":"string","required":false,"description":"'otm' or 'itm' to keep only out-/in-the-money alerts (rows with unknown spot are excluded)"},{"name":"limit","type":"number","required":false,"description":""}]},{"name":"get_market_data","title":"Market data","description":"Equity/ETF reference data from Trade Echo (price, instrument name/type, list date, freshness). Returns a guidance block - use it even when OptionFlow/DealerEdge are empty (common on thin or newly listed names). SPCX is SpaceX (Space Exploration Technologies Corp.), listed June 2026.","scope":"market.read","credits":2,"readOnly":true,"parameters":[{"name":"ticker","type":"string","required":true,"description":""},{"name":"endpoint_type","type":"string","required":false,"description":"","enum":["last_trade","snapshot","details","aggregates"]}]},{"name":"get_news","title":"Ticker news","description":"Ticker headlines for one symbol. Not the Discovery Breaking News tab - use get_breaking_news for that ranked News Edge feed.","scope":"news.read","credits":1,"readOnly":true,"parameters":[{"name":"ticker","type":"string","required":true,"description":""},{"name":"limit","type":"number","required":false,"description":""}]},{"name":"get_breaking_news","title":"Breaking news","description":"Trade Echo Discovery Breaking News tab - curated News Edge headlines (macro / hard-catalyst / urgency channels), ranked by the same urgency score as the dashboard. Periodic snapshot of the breaking market news feed; not a live subscribe. Use get_news for headlines on one ticker.","scope":"news.read","credits":1,"readOnly":true,"parameters":[{"name":"ticker","type":"string","required":false,"description":"Optional ticker to keep only stories tagged with that symbol"},{"name":"lookback_hours","type":"number","required":false,"description":"Lookback window in hours (default 6)","enum":[6,24,48]},{"name":"limit","type":"number","required":false,"description":"Max rows (default 15, cap 25)"}]},{"name":"multi_signal_scan","title":"Multi-signal scan","description":"Run market reference data plus DealerEdge, OptionFlow, Darkpool, and AlgoEdge for one ticker. Always read marketContext.guidance first - empty flow is not invalid data.","scope":"intel.read","credits":2,"readOnly":true,"parameters":[{"name":"ticker","type":"string","required":true,"description":""}]},{"name":"get_my_broker_snapshot","title":"My broker snapshot","description":"Read-only open holdings for the asking member's OWN linked broker account, including options. No user or account argument - always the caller. Use for 'what's in my account / holdings / live P&L'. Copy fills and skips belong on get_my_copy_trading_status.","scope":"account.read","credits":4,"readOnly":true,"parameters":[]},{"name":"get_portfolio_stats","title":"My portfolio stats","description":"Query the authenticated user's own trade journal for P&L, win rate, best/worst trade, and most-traded tickers.","scope":"account.read","credits":2,"readOnly":true,"parameters":[{"name":"period","type":"string","required":false,"description":"Time period to analyze","enum":["1w","1m","6m","all"]},{"name":"metric","type":"string","required":false,"description":"Which metric to retrieve","enum":["summary","best_trade","worst_trade","most_traded"]}]},{"name":"get_option_flow_sector_summary","title":"Option Flow by sector","description":"Today's top tickers by options premium, useful for identifying sector-level unusual activity.","scope":"flow.read","credits":4,"readOnly":true,"parameters":[]},{"name":"get_sec_filings","title":"SEC filings","description":"Search SEC EDGAR for recent filings (10-K, 10-Q, 8-K) or search within filing text by keyword.","scope":"filings.read","credits":4,"readOnly":true,"parameters":[{"name":"ticker","type":"string","required":true,"description":"Company ticker symbol"},{"name":"form_type","type":"string","required":false,"description":"Filing type filter","enum":["10-K","10-Q","8-K","all"]},{"name":"keyword","type":"string","required":false,"description":"Search within filing text for this keyword"},{"name":"limit","type":"number","required":false,"description":"Max results (default 10)"}]},{"name":"get_company_financials","title":"Company financials","description":"Retrieve structured XBRL financial data from SEC (revenue, EPS, net income, assets) across quarterly and annual filings.","scope":"filings.read","credits":4,"readOnly":true,"parameters":[{"name":"ticker","type":"string","required":true,"description":"Company ticker symbol"},{"name":"metric","type":"string","required":false,"description":"Specific XBRL concept name (e.g. Revenues, NetIncomeLoss). Omit for common metrics."}]},{"name":"get_finra_ats_volume","title":"FINRA ATS volume","description":"FINRA ATS (dark pool) weekly volume data. DELAYED 1-2 weeks - for educational/trend analysis only. Use get_dark_pool_data for live prints.","scope":"market.read","credits":4,"readOnly":true,"parameters":[{"name":"ticker","type":"string","required":true,"description":"Equity ticker symbol"},{"name":"weeks","type":"number","required":false,"description":"Number of weeks of history (default 8, max 52)"},{"name":"breakdown","type":"boolean","required":false,"description":"If true, return per-venue breakdown instead of aggregate"}]},{"name":"get_index_snapshot","title":"Index snapshot","description":"Cash index snapshot from Trade Echo (VIX, SPX, NDX, RUT, DJX). Use I:SPX style or bare SPX. Not for single stocks; use get_market_data for equities and ETFs.","scope":"market.read","credits":2,"readOnly":true,"parameters":[{"name":"symbol","type":"string","required":true,"description":"Index symbol: SPX, NDX, VIX, RUT, DJX, or I:SPX"}]},{"name":"get_unusual_futures_prints","title":"Unusual futures prints","description":"Trade Echo Discovery Large Futures Prints tab - unusually large on-exchange ES/NQ prints from the session ledger (notional floor $100M). Ranked by notional, same rows as the dashboard tab. Not Echo Map tape. Not a dark pool. Use get_futures_echo_map for session structure / CVD / walls.","scope":"futures.read","credits":2,"readOnly":true,"parameters":[{"name":"date","type":"string","required":false,"description":"Globex session date YYYY-MM-DD (Sunday 18:00 ET is Monday)"},{"name":"root","type":"string","required":false,"description":"Optional root filter. Omit for both ES and NQ.","enum":["ES","NQ"]},{"name":"limit","type":"number","required":false,"description":"Max rows (default 15, cap 25)"}]},{"name":"get_futures_echo_map","title":"Futures Echo Map","description":"Futures Echo Map for CME roots (ES, MES, NQ, MNQ, RTY, YM, CL, GC, ZN). Returns live quote, Globex session phase, overnight/session stats, volume-profile POC/value area, CVD total, dealer-gamma walls projected onto the futures axis, confluence levels, and a short thesis. Use for futures session structure and overnight vs cash context. Gamma is cash-index projected via basis - not futures-options GEX. Does not return the heatmap grid.","scope":"futures.read","credits":2,"readOnly":true,"parameters":[{"name":"symbol","type":"string","required":true,"description":"Futures root: ES, MES, NQ, MNQ, RTY, YM, CL, GC, or ZN"},{"name":"interval","type":"string","required":false,"description":"Bar interval for the map window (default 5min)","enum":["1min","3min","5min","15min","1hour","1day"]}]},{"name":"get_macro_events","title":"Macro events","description":"Upcoming US macro events (FOMC, CPI, NFP, PPI, PCE, jobless claims) with impact rating. Call this before recommending positions held overnight or into the next session to confirm no catalyst will whipsaw the trade. Returns events sorted chronologically with date, time (ET), impact (low/medium/high), dateSource, and a one-line context note. Dates come from the official Federal Reserve, BLS and BEA schedules (dateSource 'published'); 'estimated' means the agency has not published that date yet, so call it an estimate.","scope":"market.read","credits":2,"readOnly":true,"parameters":[{"name":"lookforward_days","type":"number","required":false,"description":"Days forward from today, default 7, max 30."},{"name":"min_impact","type":"string","required":false,"description":"Lowest impact tier to include. Default 'medium' (skips weekly jobless claims). Use 'high' for FOMC + CPI + NFP only.","enum":["low","medium","high"]},{"name":"country","type":"string","required":false,"description":"ISO country code. Currently only 'US' is supported."}]},{"name":"get_options_chain_snapshot","title":"Options chain snapshot","description":"Options contract snapshot for an underlying. SPX/SPXW and NDX/NDXP fetch index options (not SPY/QQQ). Each contract includes bid/ask/mid/last when quoted.","scope":"market.read","credits":4,"readOnly":true,"parameters":[{"name":"underlying","type":"string","required":true,"description":"Underlying ticker (SPY, SPX, SPXW, QQQ, NDX, NDXP, etc.)"},{"name":"expiration_date","type":"string","required":false,"description":"YYYY-MM-DD filter - REQUIRED for 0DTE agents (use tradingDateEt from prior call or today's ET session date)"},{"name":"limit","type":"number","required":false,"description":"API page size 1-250 (default 120)"}]},{"name":"get_my_copy_trading_status","title":"My copy trading status","description":"Read-only snapshot of the asking member's OWN copy-trading account: recent execution intents with skip/failure reasons, follow settings incl. pause states, and broker connection health with buying power. Call this BEFORE answering any question about the member's fills, skips, pauses, sizing, or broker state. Cannot see other users and cannot change anything.","scope":"account.read","credits":2,"readOnly":true,"parameters":[{"name":"topic","type":"string","required":false,"description":"Which section to fetch. Default 'all' (recommended for 'why didn't my trade fill?' questions).","enum":["executions","settings","broker","all"]},{"name":"window","type":"string","required":false,"description":"Execution lookback window. Default 'today'.","enum":["today","week"]},{"name":"only_problems","type":"boolean","required":false,"description":"If true, recent executions list only SKIPPED/FAILED rows."}]}]}