Skip to main content
Glama
unusual-whales-mcp

unusual-whales-mcp

by erikmaday

Unusual Whales MCP Server

An MCP server that provides access to Unusual Whales market data - options flow, dark pool activity, congressional trades, and more. Works with any MCP-compatible client (Claude, or any LLM/application that supports MCP).

What You Can Do

Ask about the market using natural language:

  • "What's the options flow for AAPL today?"

  • "Show me the latest congressional trades"

  • "What's the dark pool activity for TSLA?"

  • "Get the max pain for SPY options expiring this Friday"

  • "What are institutions buying in the tech sector?"

  • "Give me a daily market summary"

  • "Deep dive on NVDA - options, dark pool, insider activity"

Available Data

Category

What's Included

Stock

Options chains, Greeks, IV rank, OHLC candles, max pain, open interest, volatility

Options

Contract flow, historic prices, intraday data, volume profiles

Flow

Options flow alerts, full tape, net flow by expiry, sector flow (mag7, semis, etc.)

Dark Pool

Dark pool transactions with filtering

Congress

Congressional trades, late reports, individual member activity

Politicians

Portfolios, recent trades, holdings by ticker

Insider

Insider transactions, sector flow, ticker flow

Institutions

13F filings, holdings, sector exposure, ownership

Market

Market tide, sector tide, economic calendar, FDA calendar, correlations

Earnings

Premarket and afterhours schedules, historical earnings

ETF

Holdings, exposure, inflows/outflows, sector weights

Shorts

Short interest, FTDs, short volume ratio

Seasonality

Market seasonality, monthly performers, ticker patterns

Screener

Stock screener, options screener, analyst ratings

News

Market news headlines

Built-in Analysis Prompts

The server includes many ready-to-use prompts. Just ask to use any prompt by name.

Market Overview

Prompt

Description

Example

daily-summary

Comprehensive market overview with tide, sectors, flow, dark pool

"Use the daily-summary prompt"

morning-briefing

Start the day with tide, earnings, and key activity

"Use the morning-briefing prompt"

end-of-day-recap

EOD summary with top movers, sectors, and themes

"Use end-of-day-recap"

weekly-expiration

Max pain, gamma, and OI for weekly expiration

"Use weekly-expiration for SPY, QQQ, IWM"

top-movers

Top tickers by net premium and options impact

"Use top-movers"

Ticker Analysis

Prompt

Description

Example

ticker-analysis

Deep dive on a stock with options, dark pool, insiders, catalysts

"Use ticker-analysis for NVDA"

options-setup

IV rank, term structure, max pain - is premium cheap or expensive?

"Use options-setup for TSLA"

pre-earnings

Historical moves, IV, positioning before earnings

"Use pre-earnings for AAPL"

greek-exposure

Gamma, delta, vanna exposure by strike

"Use greek-exposure for SPY"

short-interest

Short interest, FTDs, squeeze potential

"Use short-interest for GME"

option-contract

Deep dive on a specific option contract

"Use option-contract for AAPL240119C00150000"

correlation-analysis

Analyze correlations between tickers

"Use correlation-analysis for NVDA,AMD,INTC"

Flow & Activity

Prompt

Description

Example

unusual-flow

Scan for unusual options activity across the market

"Use unusual-flow with min_premium 500000"

dark-pool-scanner

Find large dark pool prints and institutional activity

"Use dark-pool-scanner"

sector-flow

Options flow sentiment for sector groups (mag7, semi, bank, etc.)

"Use sector-flow for semi"

Smart Money

Prompt

Description

Example

congress-tracker

Recent congressional trading with pattern detection

"Use congress-tracker"

politician-portfolio

Portfolio holdings and trades for a specific politician

"Use politician-portfolio for Nancy Pelosi"

insider-scanner

Scan for insider buying/selling patterns

"Use insider-scanner"

institutional-activity

13F filings, holdings changes, sector rotation

"Use institutional-activity for technology"

analyst-tracker

Analyst ratings with options flow correlation

"Use analyst-tracker"

Calendars & Events

Prompt

Description

Example

earnings-calendar

Earnings with IV, expected moves, and positioning

"Use earnings-calendar for this week"

fda-calendar

FDA events with biotech options activity

"Use fda-calendar"

economic-calendar

FOMC, CPI, jobs data with market positioning

"Use economic-calendar"

Screening & Discovery

Prompt

Description

Example

iv-screener

Find high or low IV rank stocks for options strategies

"Use iv-screener"

bullish-confluence

Stocks with bullish flow + dark pool + insider buying

"Use bullish-confluence"

bearish-confluence

Stocks with bearish flow + distribution + insider selling

"Use bearish-confluence"

news-scanner

Market news headlines with related flow

"Use news-scanner" or "Use news-scanner for TSLA"

Other

Prompt

Description

Example

seasonality

Historical seasonal patterns for a ticker or market

"Use seasonality for AAPL"

etf-flow

ETF inflows/outflows or find ETF exposure for a stock

"Use etf-flow for QQQ"

Combining Prompts

Chain prompts together for comprehensive analysis:

Use morning-briefing, then use unusual-flow to dig into the top movers
Use pre-earnings for NVDA, then use greek-exposure to see dealer positioning
Use bullish-confluence to find candidates, then use ticker-analysis on the top result

Related MCP server: quiver-quant-mcp

Getting Started

1. Get an API Key

Sign up at Unusual Whales and get your API key.

2. Install

Claude Code:

claude mcp add unusualwhales -e UW_API_KEY=your_api_key -- npx -y @erikmaday/unusual-whales-mcp

Claude Desktop:

Add to your config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "unusualwhales": {
      "command": "npx",
      "args": ["-y", "@erikmaday/unusual-whales-mcp"],
      "env": {
        "UW_API_KEY": "your_api_key"
      }
    }
  }
}

3. Start Asking Questions

Once configured, just ask about the market. The Unusual Whales data will be used automatically.

Configuration (Optional)

The defaults work well for most users. All settings can be adjusted via environment variables:

Variable

Description

Default

UW_API_KEY

Your Unusual Whales API key

Required

UW_RATE_LIMIT_PER_MINUTE

Max requests per minute

120

UW_MAX_RETRIES

Retry attempts for failed requests

3

UW_CIRCUIT_BREAKER_THRESHOLD

Failures before pausing requests

5

UW_CIRCUIT_BREAKER_RESET_TIMEOUT

Milliseconds before retrying after failures

30000

The server automatically handles rate limiting, retries failed requests with backoff, and temporarily pauses requests if the API is having issues (circuit breaker). See CONTRIBUTING.md for technical details.

Contributing

See CONTRIBUTING.md for development setup, testing, and contribution guidelines.

License

MIT

Available Tools

16 tools
uw_alertsA
Read-onlyIdempotent

Access UnusualWhales user alerts and configurations.

Available actions:

  • alerts: Get triggered alerts for the user

  • configurations: Get alert configurations

Inputs: no named parameters.

uw_congressB
Read-onlyIdempotent

Access UnusualWhales congress trading data including trades by congress members.

Available actions:

  • 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)

Inputs: no named parameters.

uw_darkpoolA
Read-onlyIdempotent

Access UnusualWhales darkpool trade data.

Available actions:

  • recent: Get recent darkpool trades across the market

  • ticker: Get darkpool trades for a specific ticker

Filtering options include premium range, size range, and volume range.

Inputs: no named parameters.

uw_earningsC
Read-onlyIdempotent

Access UnusualWhales earnings data including premarket and afterhours earnings schedules.

Available actions:

  • premarket: Get premarket earnings for a date

  • afterhours: Get afterhours earnings for a date

  • ticker: Get historical earnings for a ticker (ticker required)

Inputs: no named parameters.

uw_etfB
Read-onlyIdempotent

Access UnusualWhales ETF data including holdings, exposure, inflows/outflows, and weights.

Available actions:

  • 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)

Inputs: no named parameters.

uw_flowA
Read-onlyIdempotent

Access UnusualWhales options flow data including flow alerts, full tape, net flow, group flow, and lit exchange flow.

Available actions:

  • flow_alerts: Get flow alerts with extensive filtering options

  • 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)

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.

Inputs: no named parameters.

uw_insiderB
Read-onlyIdempotent

Access UnusualWhales insider trading data including transactions and flow.

Available actions:

  • 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)

Inputs: no named parameters.

uw_institutionsC
Read-onlyIdempotent

Access UnusualWhales institutional holdings and ownership data.

Available actions:

  • list: List institutions with filters

  • holdings: Get holdings for an institution (name required)

  • activity: Get trading activity for an institution (name required)

  • sectors: Get sector exposure for an institution (name required)

  • ownership: Get institutional ownership of a ticker (ticker required)

  • latest_filings: Get latest institutional filings

Inputs: no named parameters.

uw_marketD
Read-onlyIdempotent

Access UnusualWhales market-wide data including market tide, sector ETFs, economic calendar, FDA calendar, and more.

Available actions:

  • 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)

  • spike: Get SPIKE values (date 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)

Inputs: no named parameters.

uw_newsC
Read-onlyIdempotent

Access UnusualWhales news headlines.

Available actions:

  • headlines: Get news headlines with optional filters (ticker, sources, search_term, major_only, page)

Inputs: no named parameters.

uw_optionsA
Read-onlyIdempotent

Access UnusualWhales option contract data including flow, historic prices, intraday data, and volume profiles.

Available actions:

  • 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).

Inputs: no named parameters.

uw_politiciansA
Read-onlyIdempotent

Access UnusualWhales politician portfolio and trading data.

Available actions:

  • people: List all politicians

  • portfolio: Get a politician's portfolio (politician_id required; optional: aggregate_all_portfolios)

  • recent_trades: Get recent politician trades (optional: date, ticker, politician_id, filter_late_reports, disclosure_newer_than, disclosure_older_than, transaction_newer_than, transaction_older_than)

  • holders: Get politicians holding a ticker (ticker required; optional: aggregate_all_portfolios)

  • disclosures: Get annual disclosure file records (optional: politician_id, latest_only, year)

Inputs: no named parameters.

uw_screenerB
Read-onlyIdempotent

Access UnusualWhales screeners for stocks, options, and analysts.

Available actions:

  • stocks: Screen stocks with various filters

  • option_contracts: Screen option contracts with filters

  • analysts: Screen analyst ratings

Inputs: no named parameters.

uw_seasonalityC
Read-onlyIdempotent

Access UnusualWhales seasonality data showing historical performance patterns.

Available actions:

  • market: Get market-wide seasonality data

  • performers: Get top/bottom performers for a month (month required, 1-12) Optional filters: min_years, ticker_for_sector, s_p_500_nasdaq_only, min_oi, limit, order, order_direction

  • monthly: Get monthly seasonality for a ticker (ticker required)

  • year_month: Get year-month breakdown for a ticker (ticker required)

Inputs: no named parameters.

uw_shortsA
Read-onlyIdempotent

Access UnusualWhales short selling data including short interest, FTDs, and volume.

Available actions:

  • 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)

Inputs: no named parameters.

uw_stockC
Read-onlyIdempotent

Access UnusualWhales stock data including options chains, greeks, IV, OHLC candles, open interest, and more.

Available actions:

  • 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 optional)

  • option_contracts: Get option contracts (ticker, expiry required; option_type, 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)

  • 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)

  • 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)

  • stock_state: Get stock state (ticker required)

  • insider_buy_sells: Get insider buy/sells for stock (ticker required; limit optional)

  • ownership: Get ownership data (ticker required; limit optional)

  • tickers_by_sector: Get tickers in sector (sector required)

  • ticker_exchanges: Get mapping of all tickers to their exchanges (no params required)

Inputs: no named parameters.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.3/5.0

    Scored across 16 tools

    Disambiguation4/5

    The tools are grouped into distinct categories (alerts, congress, darkpool, etc.), but some overlap exists between uw_flow, uw_options, and uw_stock regarding options data, which could cause misselection by an agent.

    Naming Consistency5/5

    All tool names follow a consistent 'uw_<category>' pattern with lowercase nouns, making it predictable and easy to understand.

    Tool Count5/5

    With 16 tools covering a wide range of financial data, the count is well-scoped for the server's purpose, providing comprehensive coverage without being excessive.

    Completeness5/5

    The server covers a comprehensive set of financial data domains (alerts, congress, darkpool, earnings, ETFs, flow, insider, institutions, market, news, options, politicians, screener, seasonality, shorts, stocks), leaving no obvious gaps for its intended use.

    Maintenance

    ActivityActive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      C
      quality
      D
      maintenance
      Provides access to the Unusual Whales API for real-time financial data, options flow analysis, dark pool activity, and congressional trading tracking. It enables users to perform comprehensive market intelligence and stock analysis across 33 different tools.
      33
      46 npm
      4
      MIT
    • F
      license
      Not graded
      quality
      D
      maintenance
      Enables querying alternative financial data including congressional trades, insider transactions, government contracts, and WallStreetBets activity through the Quiver Quantitative API.
      1
      -
    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables querying of U.S. congressional stock trade data, including price history, recent trades, buy signals, stock activity, and politician activity, through natural language tools.
      1
      MIT