OptionWhales

US options flow & stock data: unusual activity, gamma levels, IV, earnings. OAuth sign-in or keys.

사용해야 할까요

품질 및 안전성

A
설명 품질
93%
스키마 완전성
90%
이름 품질
81%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

발견 사항 (6)

  • LOWTool 'directional_current' description lacks action verbdirectional_current에서
  • LOWTool 'earnings_current' description lacks action verbearnings_current에서
  • LOWTool 'volatility_term_structure' description lacks action verbvolatility_term_structure에서
  • LOWTool 'contract_historic' description lacks action verbcontract_historic에서
  • LOWTool 'dividends' description lacks action verbdividends에서
  • LOWTool 'short_volume' description lacks action verbshort_volume에서

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~5,696토큰 (도구 정의)
~848 B일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 4.45%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "options-flow": {
      "url": "https://api.optionwhales.io/mcp"
    }
  }
}

원격 엔드포인트

https://api.optionwhales.io/mcpstreamable-http
https://api.optionwhales.io/mcp/connectstreamable-http

할 수 있는 일

도구 목록

도구 (34)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢intent_flow_current

Today's options-flow intent rankings: which tickers show bullish vs bearish institutional positioning (accumulation, distribution, hedging), with direction bias and strength. Use for 'what are big options traders doing today?' or 'where is smart money flowing?'. Without an account: top 3 tickers (ticker, intent, direction); free: top 3 with core fields; Pro: every tracked ticker with all fields.

입력 스키마

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟢momentum_rankings(top)

Tickers ranked by options-flow momentum (the fastest-changing positioning this session). Use for 'which stocks have the strongest options momentum right now?'. Free keys: top 3; Pro: up to 200 with all fields.

입력 스키마

{
  "type": "object",
  "properties": {
    "top": {
      "type": "integer",
      "minimum": 1,
      "maximum": 200,
      "description": "Tickers to return (default 50)"
    }
  },
  "additionalProperties": false
}
🟢abnormal_trades_current(limit)

Unusual options activity this session — large, sweep-like or volume-versus-open-interest outlier orders with ticker, direction, size and time. Use for 'any unusual options activity in NVDA?' or 'biggest options trades today'. Without an account: the latest 3 trades (ticker, direction, type, time); free: the latest 5 with core fields; Pro: the full feed.

입력 스키마

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 5000,
      "description": "Trades to return (default 100)"
    }
  },
  "additionalProperties": false
}
🟢directional_current(max_display)

Per-ticker directional score for this session (-1 bearish to +1 bullish) combining net premium, order clustering and implied volatility. Use to rank names by bullish or bearish options positioning. Pro.

입력 스키마

{
  "type": "object",
  "properties": {
    "max_display": {
      "type": "integer",
      "minimum": 10,
      "maximum": 500,
      "description": "Tickers to return (default 100)"
    }
  },
  "additionalProperties": false
}
🟢market_tide(session, top_n)

Market-wide options net-premium 'tide': signed large-order premium into calls versus puts, its intraday cumulative curve, and the top net-premium tickers for a session. Use for 'is options flow bullish or bearish overall today?'. Pro.

입력 스키마

{
  "type": "object",
  "properties": {
    "session": {
      "type": "string",
      "description": "Trading date YYYY-MM-DD, or 'latest' (default)"
    },
    "top_n": {
      "type": "integer",
      "minimum": 1,
      "maximum": 200,
      "description": "Top tickers to include (default 25)"
    }
  },
  "additionalProperties": false
}
🟢sector_tide(session)

Options net premium aggregated by sector for a session. Use for 'which sectors are seeing bullish options flow?'. Pro.

입력 스키마

{
  "type": "object",
  "properties": {
    "session": {
      "type": "string",
      "description": "Trading date YYYY-MM-DD, or 'latest' (default)"
    }
  },
  "additionalProperties": false
}
🟢darkpool_ranking(date)

Off-exchange (dark pool) activity: the market-wide off-exchange share and a per-ticker ranking by off-exchange notional for a date (default latest). Use for 'where is dark pool activity concentrated?'. Pro.

입력 스키마

{
  "type": "object",
  "properties": {
    "date": {
      "type": "string",
      "description": "YYYY-MM-DD (default latest)"
    }
  },
  "additionalProperties": false
}
🟢earnings_current

Options positioning around earnings for companies reporting this session: pre-earnings order flow, Greeks and intent signals. Use for 'how are traders positioned into NVDA earnings?'. Pro.

입력 스키마

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟢economic_calendar(impact)

Upcoming US economic events (CPI, FOMC, jobs, GDP and more) with impact level and the ETFs that historically react. Use for 'what macro events are coming up?'. Without an account: the next 3 high-impact events; free and Pro: the full calendar.

입력 스키마

{
  "type": "object",
  "properties": {
    "impact": {
      "type": "string",
      "description": "Optional filter: high, medium or low"
    }
  },
  "additionalProperties": false
}
🟢earnings_calendar(ticker, days, limit)

Upcoming earnings reports: date, before/after market, EPS and revenue estimates. Pass a ticker for 'when does NVDA report?', or omit it for 'who reports this week?' (days sets the window, default 7). Without an account: date and time for one ticker or the next 3 reporters; free: up to 10 with estimates; Pro: the full calendar plus the options-flow intent label.

입력 스키마

{
  "type": "object",
  "properties": {
    "ticker": {
      "type": "string",
      "description": "Optional ticker, e.g. NVDA"
    },
    "days": {
      "type": "integer",
      "minimum": 1,
      "maximum": 30,
      "description": "Days ahead to return (default 7)"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 500,
      "description": "Reporters to return (default 10)"
    }
  },
  "additionalProperties": false
}
🟢gex_levels(ticker, session, dte_filter)

Dealer gamma-exposure key levels for a ticker: gamma flip, max pain, call wall, put wall and spot. Use when asked where price may pin, bounce, stall or accelerate, e.g. 'what are the gamma levels on SPY?'. session defaults to the latest trading day. Without an account and on free: SPY and QQQ; Pro: any ticker.

입력 스키마

{
  "type": "object",
  "properties": {
    "ticker": {
      "type": "string",
      "description": "Stock or ETF ticker, e.g. NVDA, SPY, BRK.B"
    },
    "session": {
      "type": "string",
      "description": "Trading date YYYY-MM-DD, or 'latest' (default)"
    },
    "dte_filter": {
      "type": "integer",
      "description": "Optional expiry window filter"
    }
  },
  "required": [
    "ticker"
  ],
  "additionalProperties": false
}
🟢greek_exposure(ticker, session, dte_filter)

Dealer gamma, charm and vanna exposure for a ticker, by strike and by expiry (calls, puts, net). Use for detailed hedging-flow analysis beyond the key GEX levels. session defaults to the latest trading day. Pro.

입력 스키마

{
  "type": "object",
  "properties": {
    "ticker": {
      "type": "string",
      "description": "Stock or ETF ticker, e.g. NVDA, SPY, BRK.B"
    },
    "session": {
      "type": "string",
      "description": "Trading date YYYY-MM-DD, or 'latest' (default)"
    },
    "dte_filter": {
      "type": "string",
      "enum": [
        "all",
        "0dte",
        "0+1",
        "weekly",
        "monthly"
      ]
    }
  },
  "required": [
    "ticker"
  ],
  "additionalProperties": false
}
🟢volatility_term_structure(ticker)

At-the-money implied volatility by expiration (the IV term structure), plus spot and the overall ATM IV for a ticker. Use for 'is NVDA implied volatility elevated?' or 'is the vol curve inverted before earnings?'. Free keys: SPY, QQQ, AAPL, MSFT, GOOGL, AMZN, NVDA, META, TSLA; Pro: any ticker.

입력 스키마

{
  "type": "object",
  "properties": {
    "ticker": {
      "type": "string",
      "description": "Stock or ETF ticker, e.g. NVDA, SPY, BRK.B"
    }
  },
  "required": [
    "ticker"
  ],
  "additionalProperties": false
}
🟢volatility_movers(direction, limit)

Tickers whose 30-day at-the-money implied volatility moved most versus the prior close (expansions and/or compressions). Use for 'which stocks saw the biggest IV spikes today?'. Free keys: top 3; Pro: up to 50.

입력 스키마

{
  "type": "object",
  "properties": {
    "direction": {
      "type": "string",
      "enum": [
        "both",
        "expansions",
        "compressions"
      ]
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50,
      "description": "Tickers to return (default 10)"
    }
  },
  "additionalProperties": false
}
🟢oi_movers(dte, limit)

Tickers ranked by day-over-day change in total options open interest (top gainers, losers, most active). Use for 'where is new options positioning building?'. Pro.

입력 스키마

{
  "type": "object",
  "properties": {
    "dte": {
      "type": "string",
      "enum": [
        "all",
        "lt8",
        "gte8"
      ]
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 500,
      "description": "Tickers to return (default 50)"
    }
  },
  "additionalProperties": false
}
🟢oi_timeseries(ticker, dte, slot)

Open interest and volume across recent snapshots for one ticker (calls, puts, total). Use to see whether options positioning is building or unwinding. Pro.

입력 스키마

{
  "type": "object",
  "properties": {
    "ticker": {
      "type": "string",
      "description": "Stock or ETF ticker, e.g. NVDA, SPY, BRK.B"
    },
    "dte": {
      "type": "string",
      "enum": [
        "all",
        "lt8",
        "gte8"
      ]
    },
    "slot": {
      "type": "string",
      "enum": [
        "AM",
        "PM"
      ]
    }
  },
  "required": [
    "ticker"
  ],
  "additionalProperties": false
}
🟢contract_chain(ticker, date, expiry, type, min_oi, ...)

Option chain for a ticker from the latest open-interest snapshot: each contract's OCC symbol, strike, expiry, type and open interest (OI > 0). Filter by expiry, call/put or minimum OI. Pro.

입력 스키마

{
  "type": "object",
  "properties": {
    "ticker": {
      "type": "string",
      "description": "Stock or ETF ticker, e.g. NVDA, SPY, BRK.B"
    },
    "date": {
      "type": "string",
      "description": "Snapshot date YYYY-MM-DD (default latest)"
    },
    "expiry": {
      "type": "string",
      "description": "One expiry, YYYY-MM-DD"
    },
    "type": {
      "type": "string",
      "enum": [
        "call",
        "put"
      ]
    },
    "min_oi": {
      "type": "integer",
      "minimum": 0
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 10000,
      "description": "Contracts to return (default 500)"
    }
  },
  "required": [
    "ticker"
  ],
  "additionalProperties": false
}
🟢contract_atm(ticker, date, width)

Near-the-money option strikes grouped by expiry, within a band around spot (default plus or minus 5%). Use to find the liquid at-the-money contracts for a ticker. Pro.

입력 스키마

{
  "type": "object",
  "properties": {
    "ticker": {
      "type": "string",
      "description": "Stock or ETF ticker, e.g. NVDA, SPY, BRK.B"
    },
    "date": {
      "type": "string",
      "description": "Snapshot date YYYY-MM-DD (default latest)"
    },
    "width": {
      "type": "number",
      "minimum": 0.001,
      "maximum": 0.5,
      "description": "Strike band as a fraction of spot (default 0.05)"
    }
  },
  "required": [
    "ticker"
  ],
  "additionalProperties": false
}
🟢contract_historic(occ, from, to)

Daily OHLC price bars for one option contract by OCC symbol (e.g. SPY260130C00600000) between two dates, about a year of look-back. Pro.

입력 스키마

{
  "type": "object",
  "properties": {
    "occ": {
      "type": "string",
      "description": "OCC option symbol, e.g. SPY260130C00600000"
    },
    "from": {
      "type": "string",
      "description": "YYYY-MM-DD"
    },
    "to": {
      "type": "string",
      "description": "YYYY-MM-DD"
    }
  },
  "required": [
    "occ",
    "from",
    "to"
  ],
  "additionalProperties": false
}
🟢stock_quote(ticker)

Latest price for a stock or ETF. Real-time for symbols on your key's real-time watchlist; otherwise the most recent price at least 15 minutes old. Use for 'what is NVDA trading at?'. Pro.

입력 스키마

{
  "type": "object",
  "properties": {
    "ticker": {
      "type": "string",
      "description": "Stock or ETF ticker, e.g. NVDA, SPY, BRK.B"
    }
  },
  "required": [
    "ticker"
  ],
  "additionalProperties": false
}
🟢stock_candles(ticker, session, timespan, limit)

Intraday OHLCV bars for a stock on a session (default today), 1 to 60 minute bars; returns the most recent `limit` bars. Live bars are real-time for watchlisted symbols and 15 minutes delayed otherwise. Pro.

입력 스키마

{
  "type": "object",
  "properties": {
    "ticker": {
      "type": "string",
      "description": "Stock or ETF ticker, e.g. NVDA, SPY, BRK.B"
    },
    "session": {
      "type": "string",
      "description": "YYYY-MM-DD (default today)"
    },
    "timespan": {
      "type": "integer",
      "minimum": 1,
      "maximum": 60,
      "description": "Minutes per bar (default 1)"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 1000,
      "description": "Most recent bars to return (default 120)"
    }
  },
  "required": [
    "ticker"
  ],
  "additionalProperties": false
}
🟢technical_indicator(ticker, indicator, timespan, window, limit, ...)

Technical indicator series for a stock: SMA, EMA, RSI or MACD on adjusted closes (daily by default), latest first. Use for 'is AAPL overbought?' (RSI) or trend questions. Pro.

입력 스키마

{
  "type": "object",
  "properties": {
    "ticker": {
      "type": "string",
      "description": "Stock or ETF ticker, e.g. NVDA, SPY, BRK.B"
    },
    "indicator": {
      "type": "string",
      "enum": [
        "sma",
        "ema",
        "rsi",
        "macd"
      ]
    },
    "timespan": {
      "type": "string",
      "enum": [
        "minute",
        "hour",
        "day",
        "week",
        "month",
        "quarter",
        "year"
      ]
    },
    "window": {
      "type": "integer",
      "minimum": 1,
      "maximum": 500,
      "description": "Look-back window for sma/ema/rsi (default 14)"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 500,
      "description": "Points to return (default 50)"
    },
    "short_window": {
      "type": "integer",
      "minimum": 1,
      "maximum": 500
    },
    "long_window": {
      "type": "integer",
      "minimum": 1,
      "maximum": 500
    },
    "signal_window": {
      "type": "integer",
      "minimum": 1,
      "maximum": 500
    }
  },
  "required": [
    "ticker",
    "indicator"
  ],
  "additionalProperties": false
}
🟢financials(ticker, timeframe, limit)

Company financial statements (income statement, balance sheet, cash flow) for trailing-twelve-month, quarterly or annual periods, latest first. Pro.

입력 스키마

{
  "type": "object",
  "properties": {
    "ticker": {
      "type": "string",
      "description": "Stock or ETF ticker, e.g. NVDA, SPY, BRK.B"
    },
    "timeframe": {
      "type": "string",
      "enum": [
        "ttm",
        "quarterly",
        "annual"
      ]
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 40,
      "description": "Periods to return (default 4)"
    }
  },
  "required": [
    "ticker"
  ],
  "additionalProperties": false
}
🟢dividends(ticker, limit)

Cash dividend history for a stock: amount, frequency, ex-dividend and pay dates. Pro.

입력 스키마

{
  "type": "object",
  "properties": {
    "ticker": {
      "type": "string",
      "description": "Stock or ETF ticker, e.g. NVDA, SPY, BRK.B"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 500,
      "description": "Dividends to return (default 20)"
    }
  },
  "required": [
    "ticker"
  ],
  "additionalProperties": false
}
🟢stock_splits(ticker, limit)

Stock split history for a ticker: execution date and split ratio. Pro.

입력 스키마

{
  "type": "object",
  "properties": {
    "ticker": {
      "type": "string",
      "description": "Stock or ETF ticker, e.g. NVDA, SPY, BRK.B"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 500,
      "description": "Splits to return (default 20)"
    }
  },
  "required": [
    "ticker"
  ],
  "additionalProperties": false
}
🟢stock_news(ticker, limit)

Recent news for a ticker, each article with a pre-computed sentiment (positive, negative, neutral) and its reasoning. Use for 'why is TSLA moving?'. Pro.

입력 스키마

{
  "type": "object",
  "properties": {
    "ticker": {
      "type": "string",
      "description": "Stock or ETF ticker, e.g. NVDA, SPY, BRK.B"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "description": "Articles to return (default 10)"
    }
  },
  "required": [
    "ticker"
  ],
  "additionalProperties": false
}
🟢short_interest(ticker, limit)

FINRA short interest history (bi-weekly settlements) with days to cover for a stock. Use for 'how heavily shorted is GME?'. Pro.

입력 스키마

{
  "type": "object",
  "properties": {
    "ticker": {
      "type": "string",
      "description": "Stock or ETF ticker, e.g. NVDA, SPY, BRK.B"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 500,
      "description": "Settlements to return (default 24)"
    }
  },
  "required": [
    "ticker"
  ],
  "additionalProperties": false
}
🟢short_volume(ticker, limit)

Daily FINRA short-sale volume and short-volume ratio for a stock, with per-venue split. Pro.

입력 스키마

{
  "type": "object",
  "properties": {
    "ticker": {
      "type": "string",
      "description": "Stock or ETF ticker, e.g. NVDA, SPY, BRK.B"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 500,
      "description": "Days to return (default 30)"
    }
  },
  "required": [
    "ticker"
  ],
  "additionalProperties": false
}
🟢insider_trades(ticker, limit)

SEC Form 4 insider transactions for a stock, latest first: insider, transaction code, shares, price, value and the SEC filing link. Use for 'are insiders buying AAPL?'. Pro.

입력 스키마

{
  "type": "object",
  "properties": {
    "ticker": {
      "type": "string",
      "description": "Stock or ETF ticker, e.g. NVDA, SPY, BRK.B"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 1000,
      "description": "Transactions to return (default 25)"
    }
  },
  "required": [
    "ticker"
  ],
  "additionalProperties": false
}
🟢seasonality(ticker, years)

Monthly seasonality for a stock: average and median return by calendar month, hit rate, best and worst years over a 1 to 25 year look-back. Pro.

입력 스키마

{
  "type": "object",
  "properties": {
    "ticker": {
      "type": "string",
      "description": "Stock or ETF ticker, e.g. NVDA, SPY, BRK.B"
    },
    "years": {
      "type": "integer",
      "minimum": 1,
      "maximum": 25,
      "description": "Look-back in years (default 10)"
    }
  },
  "required": [
    "ticker"
  ],
  "additionalProperties": false
}
🟢screener(session, direction, min_abs_premium, min_oi_change, fda_within_days, ...)

Screen the market across options-flow net premium, open-interest change, FDA catalysts and congressional trading. Filter by direction, minimum premium or OI change, catalyst window, trial phase or congress activity; sort and limit. Use for 'find bullish options-flow names with an FDA catalyst in the next 30 days'. Pro.

입력 스키마

{
  "type": "object",
  "properties": {
    "session": {
      "type": "string",
      "description": "Trading date YYYY-MM-DD, or 'latest' (default)"
    },
    "direction": {
      "type": "string",
      "enum": [
        "any",
        "bullish",
        "bearish"
      ]
    },
    "min_abs_premium": {
      "type": "number",
      "minimum": 0,
      "description": "Minimum absolute net premium in dollars"
    },
    "min_oi_change": {
      "type": "integer",
      "description": "Minimum day-over-day OI change"
    },
    "fda_within_days": {
      "type": "integer",
      "minimum": 0,
      "maximum": 1095,
      "description": "Require an FDA catalyst within N days (0 = no requirement)"
    },
    "phase": {
      "type": "string",
      "enum": [
        "any",
        "PHASE2",
        "PHASE3"
      ]
    },
    "has_congress": {
      "type": "boolean",
      "description": "Require congressional trades in the last 30 days"
    },
    "signals": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "flow",
          "oi",
          "fda",
          "congress"
        ]
      },
      "description": "Signals a row must carry"
    },
    "sort_by": {
      "type": "string",
      "enum": [
        "abs_premium",
        "net_premium",
        "oi_change",
        "order_count",
        "congress_30d",
        "next_fda_days"
      ]
    },
    "order": {
      "type": "string",
      "enum": [
        "desc",
        "asc"
      ]
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 200,
      "description": "Rows to return (default 25)"
    }
  },
  "additionalProperties": false
}
🟢register_free_key(email, agent_name)

Get a FREE OptionWhales API key for the person you are helping. Only use this if they do not already have a key. Pass their own email address (ask if unsure). The key in the response works immediately for 24 hours, and this MCP session starts using it automatically when the client supports sessions. OptionWhales emails them 'Confirm your OptionWhales API key' with a confirmation code: if you can read their inbox, call confirm_registration with that code; otherwise ask them to click the link. Once confirmed the key is permanent (and Pro if their account is Pro).

입력 스키마

{
  "type": "object",
  "properties": {
    "email": {
      "type": "string",
      "description": "Email address of the person you act for"
    },
    "agent_name": {
      "type": "string",
      "maxLength": 60,
      "description": "Your assistant's name, shown to them in the email"
    }
  },
  "required": [
    "email"
  ],
  "additionalProperties": false
}
⚪confirm_registration(code)

Confirm a key from register_free_key using the code in the 'Confirm your OptionWhales API key' email, which makes the key permanent. Safe to call again.

입력 스키마

{
  "type": "object",
  "properties": {
    "code": {
      "type": "string",
      "description": "Confirmation code from the email"
    }
  },
  "required": [
    "code"
  ],
  "additionalProperties": false
}
🟡use_api_key(api_key)

Attach an existing OptionWhales API key to this MCP session, for clients that cannot send an X-API-Key header. Use when the person gives you their key.

입력 스키마

{
  "type": "object",
  "properties": {
    "api_key": {
      "type": "string",
      "description": "An ow_free_... or ow_pro_... key"
    }
  },
  "required": [
    "api_key"
  ],
  "additionalProperties": false
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 34개
검증됨버전이 기록되지 않음도구 31개