MCP 서버

OptionsBell Options Flow

com.optionsbell/options-flow
데이터 및 분석 금융 및 투자 공개 · 연결 가능 MCP 2025-11-25

이 MCP로 할 수 있는 일

Provides unusual options activity, implied-volatility, sentiment, open-interest, sector, and market-regime analytics for U.S. stocks.

get_dataset_stats
Dataset coverage
Discover what data is available before querying: date ranges, contract counts, symbol counts and sector coverage for the unusual-activity dataset and its daily aggregates. Call this first when unsure about available history.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
get_expiry_concentration
Expiry (DTE) concentration (Pro)
Where the day's unusual premium sits along the expiry axis, in DTE buckets (0-7, 8-30, 31-90, 90+) with call/put splits. Heavy short-dated premium reads as event bets; heavy long-dated as positioning.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Trading day, YYYY-MM-DD. Defaults to the latest available day.'}, 'symbols': {'type': 'string', 'description': "Comma-separated tickers, e.g. 'AAPL,NVDA,TSLA'."}}}
get_flow_history
Per-symbol unusual-flow history (Pro)
End-of-day series of one symbol's UNUSUAL options flow (aggregated from the contracts that passed the unusual filter - not the full tape): daily call/put volume, premium, C/P ratios, average IV, net delta and the consecutive-day streak. ~75 trading days - the series behind back-tests and 'how has unusual flow on NVDA developed?'
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['symbol'], 'properties': {'limit': {'type': 'integer', 'maximum': 200, 'minimum': 1, 'description': 'Max rows, newest first (default 90).'}, 'symbol': {'type': 'string', 'maxLength': 10, 'minLength': 1, 'description': "Single ticker, e.g. 'TSLA'."}, 'date_to': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Range end, YYYY-MM-DD inclusive.'}, 'date_from': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Range start, YYYY-MM-DD inclusive.'}}}
get_flow_sentiment
Flow sentiment (Pro)
Bullish/bearish classification of each symbol's unusual flow with a 0-9 strength score, based on call/put volumes, premium and net delta. Pass a symbol for that ticker's sentiment time series (date_from, date_to, limit apply); omit it for the cross-market snapshot (filterable by sector, side, minimum strength or premium).
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Trading day, YYYY-MM-DD. Defaults to the latest available day.'}, 'side': {'enum': ['bullish', 'bearish'], 'type': 'string', 'description': 'Only rows classified with this signal side (snapshot only).'}, 'limit': {'type': 'integer', 'maximum': 500, 'minimum': 1}, 'offset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Snapshot only. Rows to skip for paging; the response reports filtered_total and has_more.'}, 'sector': {'type': 'string', 'description': "GICS sector name, e.g. 'Information Technology' (snapshot only)."}, 'symbol': {'type': 'string', 'description': 'Single ticker for its sentiment series; omit for the market-wide snapshot.'}, 'date_to': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Range end, YYYY-MM-DD inclusive.'}, 'symbols': {'type': 'string', 'description': "Comma-separated tickers, e.g. 'AAPL,NVDA,TSLA'."}, 'date_from': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Range start, YYYY-MM-DD inclusive.'}, 'min_premium': {'type': 'number', 'description': 'Minimum call+put premium in USD (snapshot only).'}, 'signal_only': {'type': 'boolean', 'description': 'Only rows with an active bullish/bearish signal (snapshot only).'}, 'min_strength': {'type': 'integer', 'maximum': 9, 'minimum': 0, 'description': 'Snapshot only; rows without a signal count as 0.'}}}
get_flow_streaks
Multi-day unusual-flow streaks (Pro)
Symbols with unusual options activity on N+ consecutive trading days, with the dominant side (call/put). Persistent unusual flow is a stronger signal than a single print - use for 'where does money keep showing up?'
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Trading day, YYYY-MM-DD. Defaults to the latest available day.'}, 'side': {'enum': ['call', 'put', 'all'], 'type': 'string', 'description': 'Dominant side by C/P volume ratio.'}, 'limit': {'type': 'integer', 'maximum': 200, 'minimum': 1}, 'offset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Rows to skip for paging; the response reports filtered_total and has_more.'}, 'symbols': {'type': 'string', 'description': "Comma-separated tickers, e.g. 'AAPL,NVDA,TSLA'."}, 'min_streak': {'type': 'integer', 'maximum': 365, 'minimum': 1, 'description': 'Minimum consecutive days (default 3).'}, 'min_volume': {'type': 'number'}}}
get_iv_rank
IV rank (Pro)
IV rank and IV percentile per symbol against its rolling history (needs 20+ days). Pass a symbol for its IV-rank time series (lookback_days, limit apply); omit it for a ranked snapshot (e.g. side=put&min_rank=0.8 finds elevated put IV; side=both ranks by the higher of call/put IV rank).
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'side': {'enum': ['call', 'put', 'both'], 'type': 'string', 'description': 'Snapshot only (default both).'}, 'limit': {'type': 'integer', 'maximum': 500, 'minimum': 1}, 'symbol': {'type': 'string', 'description': 'Single ticker for its IV-rank series; omit for the snapshot.'}, 'max_rank': {'type': 'number', 'maximum': 1, 'minimum': 0, 'description': 'Snapshot only.'}, 'min_rank': {'type': 'number', 'maximum': 1, 'minimum': 0, 'description': 'Snapshot only.'}, 'lookback_days': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1}}}
get_market_regime
Market breadth & regime (Pro)
Market-wide breadth of unusual flow per trading day: breadth score 0-100, aggregate call/put ratio, regime label (bullish/bearish/mixed) and signal counts. Use for 'what's the overall tone of the unusual-flow tape?'
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Trading day, YYYY-MM-DD. Defaults to the latest available day.'}, 'limit': {'type': 'integer', 'maximum': 365, 'minimum': 1, 'description': 'Max daily rows, newest first (default 30).'}, 'date_to': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Range end, YYYY-MM-DD inclusive.'}, 'date_from': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Range start, YYYY-MM-DD inclusive.'}}}
get_oi_changes
Open-interest changes (Pro)
Day-over-day open-interest change per symbol (total, calls, puts) - fresh positioning being built or unwound. Pass a symbol for its OI-change series (date_from, date_to, limit apply); omit it for market-wide gainers/losers.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Trading day, YYYY-MM-DD. Defaults to the latest available day.'}, 'side': {'enum': ['gainers', 'losers', 'all'], 'type': 'string', 'description': 'Market-wide view only.'}, 'limit': {'type': 'integer', 'maximum': 500, 'minimum': 1}, 'offset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Market-wide view only. Rows to skip for paging; the response reports filtered_total and has_more.'}, 'symbol': {'type': 'string', 'description': 'Single ticker for its OI-change series; omit for the market-wide view.'}, 'date_to': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Range end, YYYY-MM-DD inclusive.'}, 'symbols': {'type': 'string', 'description': "Comma-separated tickers, e.g. 'AAPL,NVDA,TSLA'."}, 'date_from': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Range start, YYYY-MM-DD inclusive.'}, 'min_prev_oi': {'type': 'number', 'description': 'Minimum prior-day OI to filter low-base noise (default 1000; market-wide only).'}, 'min_change_pct': {'type': 'number', 'description': 'Minimum absolute day-over-day change, e.g. 0.5 = 50% (market-wide only).'}}}
get_sector_flow
Sector unusual-flow rollup (Pro)
Which sectors the day's unusual options premium is concentrating in: total premium, volume, average net delta and bullish/bearish symbol counts per sector label (11 GICS sectors plus Diversified, Unknown and Unclassified; only labels with activity, at most 14 rows).
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Trading day, YYYY-MM-DD. Defaults to the latest available day.'}, 'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': 'Default 50 returns every group.'}}}
get_symbol_flow
Per-symbol unusual activity
Every unusual contract on a single ticker, ranked by score (Vol/OI weighted by premium). Use when the question is about one specific stock's unusual options flow.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['symbol'], 'properties': {'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Trading day, YYYY-MM-DD. Defaults to the latest available day.'}, 'type': {'enum': ['c', 'p', 'all'], 'type': 'string'}, 'limit': {'type': 'integer', 'maximum': 500, 'minimum': 1}, 'symbol': {'type': 'string', 'maxLength': 10, 'minLength': 1, 'description': "Single ticker, e.g. 'TSLA'."}, 'date_to': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Range end, YYYY-MM-DD inclusive.'}, 'date_from': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Range start, YYYY-MM-DD inclusive.'}, 'min_voloi': {'type': 'number'}, 'min_premium': {'type': 'number'}}}
get_top_prints
Top prints of the day
The day's biggest options bets ranked by estimated premium - the same view OptionsBell alert emails lead with. Perfect for 'what were the largest options trades today?'
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Trading day, YYYY-MM-DD. Defaults to the latest available day.'}, 'type': {'enum': ['c', 'p', 'all'], 'type': 'string'}, 'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Max rows (default 20).'}, 'offset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Rows to skip for paging; the response reports filtered_total and has_more.'}, 'symbols': {'type': 'string', 'description': "Comma-separated tickers, e.g. 'AAPL,NVDA,TSLA'."}, 'min_premium': {'type': 'number', 'description': 'Minimum premium in USD (default 25000).'}}}
get_unusual_activity
Unusual options activity
Contract-level unusual options activity scan across 7,000+ US stocks (the dataset behind OptionsBell alerts). Filter by symbols, side and thresholds: Vol/OI ratio, premium (USD), IV, days-to-expiration, volume, open interest. Rows include strike, expiry, volume, open interest, IV, delta, sector and an estimated premium. Use for questions like 'what unusual put buying hit TSLA today?'
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'raw': {'type': 'boolean', 'description': 'true = skip the always-on base floor (Vol/OI>=1.5, OI>=100, premium>=$25k).'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Trading day, YYYY-MM-DD. Defaults to the latest available day.'}, 'type': {'enum': ['c', 'p', 'all'], 'type': 'string', 'description': 'Side: c = calls, p = puts (default all).'}, 'limit': {'type': 'integer', 'maximum': 1000, 'minimum': 1, 'description': 'Max rows (default 300).'}, 'since': {'type': 'string', 'description': 'ISO-8601 timestamp; only contracts last seen intraday at or after this time (for polling).'}, 'min_iv': {'type': 'number', 'description': 'Minimum implied volatility in percent, e.g. 60.'}, 'min_oi': {'type': 'number', 'description': 'Minimum open interest.'}, 'offset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Rows to skip for paging; the response reports filtered_total and has_more.'}, 'date_to': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Range end, YYYY-MM-DD inclusive.'}, 'max_dte': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Maximum days to expiration, e.g. 30.'}, 'symbols': {'type': 'string', 'description': "Comma-separated tickers, e.g. 'AAPL,NVDA,TSLA'."}, 'date_from': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Range start, YYYY-MM-DD inclusive.'}, 'min_voloi': {'type': 'number', 'description': 'Minimum volume/open-interest ratio, e.g. 5.'}, 'min_volume': {'type': 'number', 'description': 'Minimum contract volume.'}, 'min_premium': {'type': 'number', 'description': 'Minimum estimated premium in USD, e.g. 250000.'}}}
ping
Ping
Liveness check for the OptionsBell MCP server. No API key required.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
변경됨
get_sector_flow
2026년 9월 27일 2:53 AM
변경됨
get_oi_changes
2026년 9월 27일 2:53 AM
변경됨
get_flow_sentiment
2026년 9월 27일 2:53 AM
변경됨
get_flow_streaks
2026년 9월 27일 2:53 AM
변경됨
get_top_prints
2026년 9월 27일 2:53 AM
변경됨
get_market_regime
2026년 9월 21일 3:00 AM
변경됨
get_oi_changes
2026년 9월 21일 3:00 AM
변경됨
get_iv_rank
2026년 9월 21일 3:00 AM
변경됨
get_flow_sentiment
2026년 9월 21일 3:00 AM
변경됨
get_flow_streaks
2026년 9월 21일 3:00 AM
변경됨
get_flow_history
2026년 9월 21일 3:00 AM
변경됨
get_symbol_flow
2026년 9월 21일 3:00 AM
변경됨
get_unusual_activity
2026년 9월 21일 3:00 AM
추가됨
get_market_regime
2026년 9월 17일 12:36 PM
추가됨
get_sector_flow
2026년 9월 17일 12:36 PM
추가됨
get_oi_changes
2026년 9월 17일 12:36 PM
추가됨
get_iv_rank
2026년 9월 17일 12:36 PM
추가됨
get_flow_sentiment
2026년 9월 17일 12:36 PM
추가됨
get_expiry_concentration
2026년 9월 17일 12:36 PM
추가됨
get_flow_streaks
2026년 9월 17일 12:36 PM
추가됨
get_flow_history
2026년 9월 17일 12:36 PM
추가됨
get_top_prints
2026년 9월 17일 12:36 PM
추가됨
get_symbol_flow
2026년 9월 17일 12:36 PM
추가됨
get_unusual_activity
2026년 9월 17일 12:36 PM
추가됨
get_dataset_stats
2026년 9월 17일 12:36 PM
추가됨
ping
2026년 9월 17일 12:36 PM