OptionsBell Options Flow

Unusual options activity on 7,000+ US stocks: top prints, streaks, IV rank, sentiment, sectors.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
98%
Integridad del esquema
80%
Calidad de los nombres
98%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (1)

  • LOWTool 'get_symbol_flow' description lacks action verben get_symbol_flow

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~3,366Tokens (definiciones de herramientas)
~2.1 KBTamaño de respuesta típico
Impacto significativo en la atención (2.63% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "options-flow": {
      "url": "https://optionsbell.com/mcp"
    }
  }
}

Puntos de conexión remotos

https://optionsbell.com/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (13)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢ping

Liveness check for the OptionsBell MCP server. No API key required.

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_dataset_stats

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.

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡get_unusual_activity(symbols, type, min_voloi, min_premium, min_iv, ...)

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?'

Esquema de entrada

{
  "type": "object",
  "properties": {
    "symbols": {
      "description": "Comma-separated tickers, e.g. 'AAPL,NVDA,TSLA'.",
      "type": "string"
    },
    "type": {
      "description": "Side: c = calls, p = puts (default all).",
      "type": "string",
      "enum": [
        "c",
        "p",
        "all"
      ]
    },
    "min_voloi": {
      "description": "Minimum volume/open-interest ratio, e.g. 5.",
      "type": "number"
    },
    "min_premium": {
      "description": "Minimum estimated premium in USD, e.g. 250000.",
      "type": "number"
    },
    "min_iv": {
      "description": "Minimum implied volatility in percent, e.g. 60.",
      "type": "number"
    },
    "max_dte": {
      "description": "Maximum days to expiration, e.g. 30.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "min_volume": {
      "description": "Minimum contract volume.",
      "type": "number"
    },
    "min_oi": {
      "description": "Minimum open interest.",
      "type": "number"
    },
    "raw": {
      "description": "true = skip the always-on base floor (Vol/OI>=1.5, OI>=100, premium>=$25k).",
      "type": "boolean"
    },
    "since": {
      "description": "ISO-8601 timestamp; only contracts last seen intraday at or after this time (for polling).",
      "type": "string"
    },
    "date": {
      "description": "Trading day, YYYY-MM-DD. Defaults to the latest available day.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "date_from": {
      "description": "Range start, YYYY-MM-DD inclusive.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "date_to": {
      "description": "Range end, YYYY-MM-DD inclusive.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "limit": {
      "description": "Max rows (default 300).",
      "type": "integer",
      "minimum": 1,
      "maximum": 1000
    },
    "offset": {
      "description": "Rows to skip for paging; the response reports filtered_total and has_more.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_symbol_flow(symbol, type, min_voloi, min_premium, date, ...)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "symbol": {
      "type": "string",
      "minLength": 1,
      "maxLength": 10,
      "description": "Single ticker, e.g. 'TSLA'."
    },
    "type": {
      "type": "string",
      "enum": [
        "c",
        "p",
        "all"
      ]
    },
    "min_voloi": {
      "type": "number"
    },
    "min_premium": {
      "type": "number"
    },
    "date": {
      "description": "Trading day, YYYY-MM-DD. Defaults to the latest available day.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "date_from": {
      "description": "Range start, YYYY-MM-DD inclusive.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "date_to": {
      "description": "Range end, YYYY-MM-DD inclusive.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 500
    }
  },
  "required": [
    "symbol"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_top_prints(date, type, symbols, min_premium, limit, ...)

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?'

Esquema de entrada

{
  "type": "object",
  "properties": {
    "date": {
      "description": "Trading day, YYYY-MM-DD. Defaults to the latest available day.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "type": {
      "type": "string",
      "enum": [
        "c",
        "p",
        "all"
      ]
    },
    "symbols": {
      "description": "Comma-separated tickers, e.g. 'AAPL,NVDA,TSLA'.",
      "type": "string"
    },
    "min_premium": {
      "description": "Minimum premium in USD (default 25000).",
      "type": "number"
    },
    "limit": {
      "description": "Max rows (default 20).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "offset": {
      "description": "Rows to skip for paging; the response reports filtered_total and has_more.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_flow_history(symbol, date_from, date_to, limit)

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?'

Esquema de entrada

{
  "type": "object",
  "properties": {
    "symbol": {
      "type": "string",
      "minLength": 1,
      "maxLength": 10,
      "description": "Single ticker, e.g. 'TSLA'."
    },
    "date_from": {
      "description": "Range start, YYYY-MM-DD inclusive.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "date_to": {
      "description": "Range end, YYYY-MM-DD inclusive.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "limit": {
      "description": "Max rows, newest first (default 90).",
      "type": "integer",
      "minimum": 1,
      "maximum": 200
    }
  },
  "required": [
    "symbol"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_flow_streaks(min_streak, side, symbols, date, min_volume, ...)

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?'

Esquema de entrada

{
  "type": "object",
  "properties": {
    "min_streak": {
      "description": "Minimum consecutive days (default 3).",
      "type": "integer",
      "minimum": 1,
      "maximum": 365
    },
    "side": {
      "description": "Dominant side by C/P volume ratio.",
      "type": "string",
      "enum": [
        "call",
        "put",
        "all"
      ]
    },
    "symbols": {
      "description": "Comma-separated tickers, e.g. 'AAPL,NVDA,TSLA'.",
      "type": "string"
    },
    "date": {
      "description": "Trading day, YYYY-MM-DD. Defaults to the latest available day.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "min_volume": {
      "type": "number"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 200
    },
    "offset": {
      "description": "Rows to skip for paging; the response reports filtered_total and has_more.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_expiry_concentration(date, symbols)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "date": {
      "description": "Trading day, YYYY-MM-DD. Defaults to the latest available day.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "symbols": {
      "description": "Comma-separated tickers, e.g. 'AAPL,NVDA,TSLA'.",
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_flow_sentiment(symbol, side, signal_only, min_strength, min_premium, ...)

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

Esquema de entrada

{
  "type": "object",
  "properties": {
    "symbol": {
      "description": "Single ticker for its sentiment series; omit for the market-wide snapshot.",
      "type": "string"
    },
    "side": {
      "description": "Only rows classified with this signal side (snapshot only).",
      "type": "string",
      "enum": [
        "bullish",
        "bearish"
      ]
    },
    "signal_only": {
      "description": "Only rows with an active bullish/bearish signal (snapshot only).",
      "type": "boolean"
    },
    "min_strength": {
      "description": "Snapshot only; rows without a signal count as 0.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9
    },
    "min_premium": {
      "description": "Minimum call+put premium in USD (snapshot only).",
      "type": "number"
    },
    "sector": {
      "description": "GICS sector name, e.g. 'Information Technology' (snapshot only).",
      "type": "string"
    },
    "symbols": {
      "description": "Comma-separated tickers, e.g. 'AAPL,NVDA,TSLA'.",
      "type": "string"
    },
    "date": {
      "description": "Trading day, YYYY-MM-DD. Defaults to the latest available day.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "date_from": {
      "description": "Range start, YYYY-MM-DD inclusive.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "date_to": {
      "description": "Range end, YYYY-MM-DD inclusive.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 500
    },
    "offset": {
      "description": "Snapshot only. Rows to skip for paging; the response reports filtered_total and has_more.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡get_iv_rank(symbol, side, min_rank, max_rank, lookback_days, ...)

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

Esquema de entrada

{
  "type": "object",
  "properties": {
    "symbol": {
      "description": "Single ticker for its IV-rank series; omit for the snapshot.",
      "type": "string"
    },
    "side": {
      "description": "Snapshot only (default both).",
      "type": "string",
      "enum": [
        "call",
        "put",
        "both"
      ]
    },
    "min_rank": {
      "description": "Snapshot only.",
      "type": "number",
      "minimum": 0,
      "maximum": 1
    },
    "max_rank": {
      "description": "Snapshot only.",
      "type": "number",
      "minimum": 0,
      "maximum": 1
    },
    "lookback_days": {
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 500
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡get_oi_changes(symbol, symbols, side, min_prev_oi, min_change_pct, ...)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "symbol": {
      "description": "Single ticker for its OI-change series; omit for the market-wide view.",
      "type": "string"
    },
    "symbols": {
      "description": "Comma-separated tickers, e.g. 'AAPL,NVDA,TSLA'.",
      "type": "string"
    },
    "side": {
      "description": "Market-wide view only.",
      "type": "string",
      "enum": [
        "gainers",
        "losers",
        "all"
      ]
    },
    "min_prev_oi": {
      "description": "Minimum prior-day OI to filter low-base noise (default 1000; market-wide only).",
      "type": "number"
    },
    "min_change_pct": {
      "description": "Minimum absolute day-over-day change, e.g. 0.5 = 50% (market-wide only).",
      "type": "number"
    },
    "date": {
      "description": "Trading day, YYYY-MM-DD. Defaults to the latest available day.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "date_from": {
      "description": "Range start, YYYY-MM-DD inclusive.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "date_to": {
      "description": "Range end, YYYY-MM-DD inclusive.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 500
    },
    "offset": {
      "description": "Market-wide view only. Rows to skip for paging; the response reports filtered_total and has_more.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_sector_flow(date, limit)

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

Esquema de entrada

{
  "type": "object",
  "properties": {
    "date": {
      "description": "Trading day, YYYY-MM-DD. Defaults to the latest available day.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "limit": {
      "description": "Default 50 returns every group.",
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_market_regime(date, date_from, date_to, limit)

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?'

Esquema de entrada

{
  "type": "object",
  "properties": {
    "date": {
      "description": "Trading day, YYYY-MM-DD. Defaults to the latest available day.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "date_from": {
      "description": "Range start, YYYY-MM-DD inclusive.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "date_to": {
      "description": "Range end, YYYY-MM-DD inclusive.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "limit": {
      "description": "Max daily rows, newest first (default 30).",
      "type": "integer",
      "minimum": 1,
      "maximum": 365
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada13 herramientas
verificadoversión no registrada13 herramientas