A side-by-side look at the Figma MCP Rust and Unusual Whales MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Figma MCP Rust for finance & fintech work as a local process; choose Unusual Whales MCP for finance & fintech over a hosted endpoint. You can also run both side by side in one mcpServers block.
get_document, get_pages, get_metadata.UW_API_KEY.uw_stock, uw_options, uw_flow.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Finance & Fintech | Finance & Fintech |
| Quality signal | 67/100 · Great | 84/100 · Excellent |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Remote HTTP/SSE |
| Auth | Not declared | API key required |
| Pricing | Not declared | Paid service |
| Required env vars | None listed | UW_API_KEY |
| Verified owner | Community listing | Verified |
| GitHub stars | 68 | 92 |
| Directory activity | 4 views 0 installs 0 upvotes | 3 views 0 installs 0 upvotes |
| Tools | 73 | 27 |
| Full listing | View Figma MCP Rust | View Unusual Whales MCP |
get_documentGet the full node tree of the current page (not the whole file — only the active page). Returns all nodes recursively and can be very large. Prefer get_design_context for exploration or when token efficiency matters.get_pagesList all pages in the document with their IDs and names. Lightweight alternative to get_document.get_metadataGet metadata about the current Figma document: file name, pages, current page.get_selectionGet the nodes currently selected in Figma. Returns an empty array if nothing is selected. Use get_design_context or get_node to retrieve deeper detail about a specific node by ID.get_nodeGet a single node by ID with full detail. Use get_nodes_info to fetch multiple nodes in one round-trip instead of calling this repeatedly. Node ID must be colon format e.g. '4029:12345', never hyphens.get_nodes_infoGet full details for multiple nodes by ID in one round-trip. Prefer this over calling get_node repeatedly when you need several nodes.get_design_contextGet a depth-limited, token-efficient tree of the current selection or page. Use this instead of get_document when exploring large files. Supports detail levels (minimal/compact/full) and dedupe_components for pages heavy with repeated component instances.search_nodesSearch for nodes by name substring and/or type within a subtree. Use this when you know (part of) the node name. Use scan_nodes_by_types when you want all nodes of a type regardless of name.scan_text_nodesScan all TEXT nodes in a subtree and return their content. Shorthand for scan_nodes_by_types with ['TEXT'] — use when you only need text copy from a component or frame.scan_nodes_by_typesFind all nodes of specific types in a subtree, regardless of name. Use search_nodes instead when you need to filter by name.get_reactionsGet the prototype reactions defined on a node. Returns an array of reaction objects — each has a trigger (e.g. ON_CLICK, ON_HOVER, AFTER_TIMEOUT) and an actions array (navigate to node, open URL, go back, etc.). Use set_reactions to add or replace reactions, remove_reactions to delete them.get_viewportGet the current Figma viewport: scroll center, zoom level, and visible bounds.uw_stockAccess UnusualWhales stock data including options chains, greeks, IV, OHLC candles, open interest, and more.
Available commands:
- info: Get stock information (ticker required)
- ohlc: Get OHLC candles (ticker, candle_size required; date, timeframe, end_date, limit optional)
- option_chains: Get option chains (ticker required; date, greeks optional)
- option_contracts: Get option contracts (ticker required; expiry, option_type, min_dte, max_dte, filters, limit optional)
- greeks: Get greeks data (ticker, expiry required; date optional)
- greek_exposure: Get gamma/delta/vanna exposure (ticker required; date, timeframe optional)
- greek_exposure_by_expiry: Get greek exposure by expiry (ticker required; date optional)
- greek_exposure_by_strike: Get greek exposure by strike (ticker required; date optional)
- greek_exposure_by_strike_expiry: Get greek exposure by strike and expiry (ticker, expiry required; date optional)
- gex_levels: Get GEX (gamma exposure) levels (ticker required; date optional)
- option_stance: Get option trade-stance ranking (ticker, stance required; limit, type, option_symbol, date optional)
- options_pulse: Get options pulse for a ticker (ticker required; date optional)
- greek_flow: Get greek flow (ticker required; date optional)
- greek_flow_by_expiry: Get greek flow by expiry (ticker, expiry required; date optional)
- iv_rank: Get IV rank (ticker required; date, timespan optional)
- interpolated_iv: Get interpolated IV (ticker required; date optional)
- max_pain: Get max pain (ticker required; date optional)
- oi_change: Get OI change (ticker required; date, limit, page, order optional)
- oi_per_expiry: Get OI per expiry (ticker required; date optional)
- oi_per_strike: Get OI per strike (ticker required; date optional)
- options_volume: Get options volume (ticker required; limit optional)
- volume_oi_expiry: Get volume/OI by expiry (ticker required; date optional)
- atm_chains: Get ATM chains for given expirations (ticker, expirations required)
- expiry_breakdown: Get expiry breakdown (ticker required; date optional)
- flow_per_expiry: Get flow per expiry (ticker required)
- flow_per_strike: Get flow per strike (ticker required; date optional)
- flow_per_strike_intraday: Get intraday flow per strike (ticker required; date, filter optional)
- flow_recent: Get recent flow (ticker required; side, min_premium optional)
- net_prem_ticks: Get net premium ticks (ticker required; date optional)
- nope: Get NOPE data (ticker required; date optional)
- stock_price_levels: Get stock price levels (ticker required; date optional)
- stock_volume_price_levels: Get volume price levels (ticker required; date optional)
- spot_exposures: Get spot exposures (ticker required; date optional)
- spot_exposures_by_expiry_strike: Get spot exposures by expiry/strike (ticker, expirations required; date, filters optional)
- spot_exposures_by_strike: Get spot exposures by strike (ticker required; date, filters optional)
- spot_exposures_expiry_strike: Get spot exposures for specific expiry (ticker, expirations required; date, strike filters optional)
- spot_exposures_by_expiry: DEPRECATED — Get spot GEX exposures by strike for a single expiry (ticker, expiry required; date, min_strike, max_strike optional)
- historical_risk_reversal_skew: Get risk reversal skew (ticker, expiry, delta required; date, timeframe optional)
- volatility_realized: Get realized volatility (ticker required; date, timeframe optional)
- volatility_stats: Get volatility stats (ticker required; date optional)
- volatility_term_structure: Get term structure (ticker required; date optional)
- volatility_anomaly: Get volatility anomaly score (ticker required; date optional)
- volatility_character: Get volatility character (ticker required; date optional)
- volatility_variance_risk_premium: Get variance risk premium (ticker required; date optional)
- stock_state: Get stock state (ticker required)
- quote: Get the latest trade, NBBO and per-session quote change statistics (ticker required)
- insider_buy_sells: Get insider buy/sells for stock (ticker required; limit optional)
- ownership: PREMIUM — Get ownership data (ticker required; limit optional). Requires premium API plan, contact support@unusualwhales.com to upgrade
- tickers_by_sector: Get tickers in sector (sector required)
- ticker_exchanges: Get mapping of all tickers to their exchanges (no params required)
- flow_alerts: Get flow alerts for a specific ticker (ticker required; limit, is_ask_side, is_bid_side optional)
- fundamental_breakdown: Get fundamental financial data including EPS, revenue, dividends, share counts, and revenue breakdowns (ticker required)uw_optionsAccess UnusualWhales option contract data including flow, historic prices, intraday data, and volume profiles.
Available commands:
- flow: Get option contract flow (id required; side, min_premium, limit, date optional)
- historic: Get historic option contract data (id required; limit optional)
- intraday: Get intraday option contract data (id required; date optional)
- volume_profile: Get volume profile for option contract (id required; date optional)
The 'id' parameter is the option contract symbol (e.g., AAPL240119C00150000).uw_flowAccess UnusualWhales options flow data including flow alerts, full tape, net flow, group flow, and lit exchange flow.
Available commands:
- flow_alerts: Get flow alerts with extensive filtering options
- flow_alert: Get a single flow alert by ID with all constituent trades (id required; older_than optional). For multi-leg alerts returns all related legs; for RepeatedHits returns all transactions.
- full_tape: Get full options tape for a date (date required)
- net_flow_expiry: Get net flow by expiry date (date optional)
- group_greek_flow: Get greek flow (delta & vega) for a flow group (flow_group required; date optional)
- group_greek_flow_expiry: Get greek flow by expiry for a flow group (flow_group, expiry required; date optional)
- lit_flow_recent: Get recent lit exchange trades across the market
- lit_flow_ticker: Get lit exchange trades for a specific ticker (ticker required)
- exchange_breakdown: Get exchange & trade-code breakdown for a date (date required; ticker, by_trade_code, min_premium, limit, page, order optional)
- optionable_tickers: Get the list of optionable tickers (ticker optional)
- option_trades: Filter the full option trades tape — same data and filters as the live options flow page (all params optional)
- multi_leg_trades: Get detected multi-leg strategies (verticals, condors, butterflies, calendars, diagonals) with net price, premium and greeks (all params optional)
- multi_leg_legs: Get the individual legs of one multi-leg strategy (id required)
Flow groups: airline, bank, basic materials, china, communication services, consumer cyclical, consumer defensive, crypto, cyber, energy, financial services, gas, gold, healthcare, industrials, mag7, oil, real estate, refiners, reit, semi, silver, technology, uranium, utilities
Flow alerts filtering options include: ticker, premium range, volume range, OI range, DTE range, and more.
Lit flow filtering options include: premium range, size range, volume range, and timestamp filters.uw_marketAccess UnusualWhales market-wide data including market tide, sector ETFs, economic calendar, FDA calendar, and more.
Available commands:
- market_tide: Get market tide data showing net premium flow (date optional; otm_only, interval_5m optional)
- sector_tide: Get sector-specific tide (sector required; date optional)
- etf_tide: Get ETF-based tide (ticker required; date optional)
- sector_etfs: Get SPDR sector ETF statistics
- economic_calendar: Get economic calendar events
- fda_calendar: Get FDA calendar (announced_date_min/max, target_date_min/max, drug, ticker, limit optional)
- correlations: Get correlations between tickers (tickers required; interval, start_date, end_date optional)
- insider_buy_sells: Get total insider buy/sell statistics (limit optional)
- oi_change: Get top OI changes (date, limit, order optional)
- top_net_impact: Get top tickers by net premium (date, issue_types, limit optional)
- total_options_volume: Get total market options volume (limit optional)
- options_pulse_sectors: Get options pulse by sector/industry (date optional)
- options_pulse_top: Options pulse scanner across the market (direction, date, ticker, min_score, max_score, min_txn, limit optional)
- options_pulse_total: Get market-wide options pulse (date optional)
- volatility_anomaly_top: Get top volatility anomalies (direction required; date, limit optional)
- volatility_character_top: Get top volatility character (date, limit, sort, dir optional)
- vix_term_structure: Get VIX term structure (history_days optional)uw_darkpoolAccess UnusualWhales darkpool trade data.
Available commands:
- recent: Get recent darkpool trades across the market
- ticker: Get darkpool trades for a specific ticker
- price_levels: Get darkpool & lit volume concentration by price level for a ticker (ticker required; date optional)
Filtering options include premium range, size range, and volume range.uw_congressAccess UnusualWhales congress trading data including trades by congress members.
Available commands:
- recent_trades: Get recent trades by congress members
- late_reports: Get recent late reports by congress members
- congress_trader: Get trades by a specific congress member (name required)
- politicians: List politicians with trade data (trade count, first/last trade date, party, chamber, gender). Optional last_traded_within_months filter.uw_insiderAccess UnusualWhales insider trading data including transactions and flow.
Available commands:
- transactions: Get insider transactions with filters. Use ticker_symbol for comma-separated tickers (e.g., AAPL,INTC)
- sector_flow: Get aggregated insider flow for a sector (sector required)
- ticker_flow: Get aggregated insider flow for a ticker (ticker required)
- insiders: Get all insiders for a ticker (ticker required)uw_institutionsAccess UnusualWhales institutional holdings and ownership data.
Available commands:
- list: List institutions with filters
- holdings: Get holdings for an institution (name required)
- activity: Get trading activity for an institution (name required)
- activity_v2: Get trading activity v2 with enhanced data for an institution (name required; date, start_date, end_date optional)
- sectors: Get sector exposure for an institution (name required)
- ownership: Get institutional ownership of a ticker (ticker required)
- latest_filings: Get latest institutional filingsuw_earningsAccess UnusualWhales earnings data including premarket and afterhours earnings schedules.
Available commands:
- premarket: Get premarket earnings for a date
- afterhours: Get afterhours earnings for a date
- ticker: Get historical earnings for a ticker (ticker required)uw_etfAccess UnusualWhales ETF data including holdings, exposure, inflows/outflows, and weights.
Available commands:
- info: Get ETF information (ticker required)
- holdings: Get ETF holdings (ticker required)
- exposure: Get ETFs that hold a ticker (ticker required)
- in_outflow: Get ETF inflow/outflow data (ticker required)
- weights: Get sector and country weights (ticker required)uw_screenerAccess UnusualWhales screeners for stocks, options, and analysts.
Available commands:
- stocks: Screen stocks with various filters
- option_contracts: Screen option contracts with filters
- analysts: Screen analyst ratings
- unusual_activity: Get option contracts flagged as unusual — the API equivalent of the live options flow "unusual" view (all params optional)uw_shortsAccess UnusualWhales short selling data including short interest, FTDs, and volume.
Available commands:
- data: Get short data for a ticker (ticker required)
- ftds: Get failure to deliver data (ticker required)
- interest_float: Get short interest as percent of float (ticker required)
- volume_ratio: Get short volume and ratio (ticker required)
- volumes_by_exchange: Get short volumes by exchange (ticker required)
- interest_float_v2: Get short interest as percent of float v2 with enhanced data (ticker required)
- short_screener: Screen for stocks by short interest metrics (all params optional)Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"figma-mcp-rust": {
"command": "npx",
"args": [
"-y",
"@alvinindra/figma-mcp-rust@latest"
]
}
}
}
{
"mcpServers": {
"unusual-whales-mcp": {
"command": "npx",
"args": [
"-y",
"@unusualwhales/mcp"
],
"env": {
"UW_API_KEY": "YOUR_UW_API_KEY_HERE"
}
}
}
}