Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,558Letters: 14Defects: 1,336counted just now
teppi

Server definition

Hash
sha256:87888902d153840866f8faa1490feb92da862f7e726a2cb7ccefc2027c3738b3
What it is
What a remote MCP server returned when asked what it offers: 13 tools

The blob, as servednamed by its sha256

{ "instructions": "OptionsBell exposes unusual options activity and analytics derived from it (top prints, per-symbol unusual flow, history, streaks, expiry concentration, sentiment, IV rank, OI changes, sectors, market regime) for 7,000+ US stocks. Coverage is UNUSUAL activity only (contracts that passed the unusual filter), not the full options tape. Call get_dataset_stats first if unsure about available history. All data is end-of-day/intraday-scan based, not tick-level; premiums are estimates (last_price × volume × 100). This is data, not investment advice.", "tools": [ { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": {}, "type": "object" }, "name": "get_dataset_stats", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "date": { "description": "Trading day, YYYY-MM-DD. Defaults to the latest available day.", "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "type": "string" }, "symbols": { "description": "Comma-separated tickers, e.g. 'AAPL,NVDA,TSLA'.", "type": "string" } }, "type": "object" }, "name": "get_expiry_concentration", "outputSchema": null }, { "description": "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?'", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "date_from": { "description": "Range start, YYYY-MM-DD inclusive.", "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "type": "string" }, "date_to": { "description": "Range end, YYYY-MM-DD inclusive.", "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "type": "string" }, "limit": { "description": "Max rows, newest first (default 90).", "maximum": 200, "minimum": 1, "type": "integer" }, "symbol": { "description": "Single ticker, e.g. 'TSLA'.", "maxLength": 10, "minLength": 1, "type": "string" } }, "required": [ "symbol" ], "type": "object" }, "name": "get_flow_history", "outputSchema": null }, { "description": "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).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "date": { "description": "Trading day, YYYY-MM-DD. Defaults to the latest available day.", "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "type": "string" }, "date_from": { "description": "Range start, YYYY-MM-DD inclusive.", "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "type": "string" }, "date_to": { "description": "Range end, YYYY-MM-DD inclusive.", "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "type": "string" }, "limit": { "maximum": 500, "minimum": 1, "type": "integer" }, "min_premium": { "description": "Minimum call+put premium in USD (snapshot only).", "type": "number" }, "min_strength": { "description": "Snapshot only; rows without a signal count as 0.", "maximum": 9, "minimum": 0, "type": "integer" }, "offset": { "description": "Snapshot only. Rows to skip for paging; the response reports filtered_total and has_more.", "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "sector": { "description": "GICS sector name, e.g. 'Information Technology' (snapshot only).", "type": "string" }, "side": { "description": "Only rows classified with this signal side (snapshot only).", "enum": [ "bullish", "bearish" ], "type": "string" }, "signal_only": { "description": "Only rows with an active bullish/bearish signal (snapshot only).", "type": "boolean" }, "symbol": { "description": "Single ticker for its sentiment series; omit for the market-wide snapshot.", "type": "string" }, "symbols": { "description": "Comma-separated tickers, e.g. 'AAPL,NVDA,TSLA'.", "type": "string" } }, "type": "object" }, "name": "get_flow_sentiment", "outputSchema": null }, { "description": "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?'", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "date": { "description": "Trading day, YYYY-MM-DD. Defaults to the latest available day.", "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "type": "string" }, "limit": { "maximum": 200, "minimum": 1, "type": "integer" }, "min_streak": { "description": "Minimum consecutive days (default 3).", "maximum": 365, "minimum": 1, "type": "integer" }, "min_volume": { "type": "number" }, "offset": { "description": "Rows to skip for paging; the response reports filtered_total and has_more.", "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "side": { "description": "Dominant side by C/P volume ratio.", "enum": [ "call", "put", "all" ], "type": "string" }, "symbols": { "description": "Comma-separated tickers, e.g. 'AAPL,NVDA,TSLA'.", "type": "string" } }, "type": "object" }, "name": "get_flow_streaks", "outputSchema": null }, { "description": "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).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "limit": { "maximum": 500, "minimum": 1, "type": "integer" }, "lookback_days": { "maximum": 9007199254740991, "minimum": 1, "type": "integer" }, "max_rank": { "description": "Snapshot only.", "maximum": 1, "minimum": 0, "type": "number" }, "min_rank": { "description": "Snapshot only.", "maximum": 1, "minimum": 0, "type": "number" }, "side": { "description": "Snapshot only (default both).", "enum": [ "call", "put", "both" ], "type": "string" }, "symbol": { "description": "Single ticker for its IV-rank series; omit for the snapshot.", "type": "string" } }, "type": "object" }, "name": "get_iv_rank", "outputSchema": null }, { "description": "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?'", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "date": { "description": "Trading day, YYYY-MM-DD. Defaults to the latest available day.", "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "type": "string" }, "date_from": { "description": "Range start, YYYY-MM-DD inclusive.", "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "type": "string" }, "date_to": { "description": "Range end, YYYY-MM-DD inclusive.", "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "type": "string" }, "limit": { "description": "Max daily rows, newest first (default 30).", "maximum": 365, "minimum": 1, "type": "integer" } }, "type": "object" }, "name": "get_market_regime", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "date": { "description": "Trading day, YYYY-MM-DD. Defaults to the latest available day.", "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "type": "string" }, "date_from": { "description": "Range start, YYYY-MM-DD inclusive.", "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "type": "string" }, "date_to": { "description": "Range end, YYYY-MM-DD inclusive.", "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "type": "string" }, "limit": { "maximum": 500, "minimum": 1, "type": "integer" }, "min_change_pct": { "description": "Minimum absolute day-over-day change, e.g. 0.5 = 50% (market-wide only).", "type": "number" }, "min_prev_oi": { "description": "Minimum prior-day OI to filter low-base noise (default 1000; market-wide only).", "type": "number" }, "offset": { "description": "Market-wide view only. Rows to skip for paging; the response reports filtered_total and has_more.", "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "side": { "description": "Market-wide view only.", "enum": [ "gainers", "losers", "all" ], "type": "string" }, "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" } }, "type": "object" }, "name": "get_oi_changes", "outputSchema": null }, { "description": "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).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "date": { "description": "Trading day, YYYY-MM-DD. Defaults to the latest available day.", "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "type": "string" }, "limit": { "description": "Default 50 returns every group.", "maximum": 50, "minimum": 1, "type": "integer" } }, "type": "object" }, "name": "get_sector_flow", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "date": { "description": "Trading day, YYYY-MM-DD. Defaults to the latest available day.", "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "type": "string" }, "date_from": { "description": "Range start, YYYY-MM-DD inclusive.", "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "type": "string" }, "date_to": { "description": "Range end, YYYY-MM-DD inclusive.", "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "type": "string" }, "limit": { "maximum": 500, "minimum": 1, "type": "integer" }, "min_premium": { "type": "number" }, "min_voloi": { "type": "number" }, "symbol": { "description": "Single ticker, e.g. 'TSLA'.", "maxLength": 10, "minLength": 1, "type": "string" }, "type": { "enum": [ "c", "p", "all" ], "type": "string" } }, "required": [ "symbol" ], "type": "object" }, "name": "get_symbol_flow", "outputSchema": null }, { "description": "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?'", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "date": { "description": "Trading day, YYYY-MM-DD. Defaults to the latest available day.", "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "type": "string" }, "limit": { "description": "Max rows (default 20).", "maximum": 100, "minimum": 1, "type": "integer" }, "min_premium": { "description": "Minimum premium in USD (default 25000).", "type": "number" }, "offset": { "description": "Rows to skip for paging; the response reports filtered_total and has_more.", "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "symbols": { "description": "Comma-separated tickers, e.g. 'AAPL,NVDA,TSLA'.", "type": "string" }, "type": { "enum": [ "c", "p", "all" ], "type": "string" } }, "type": "object" }, "name": "get_top_prints", "outputSchema": null }, { "description": "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?'", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "date": { "description": "Trading day, YYYY-MM-DD. Defaults to the latest available day.", "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "type": "string" }, "date_from": { "description": "Range start, YYYY-MM-DD inclusive.", "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "type": "string" }, "date_to": { "description": "Range end, YYYY-MM-DD inclusive.", "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "type": "string" }, "limit": { "description": "Max rows (default 300).", "maximum": 1000, "minimum": 1, "type": "integer" }, "max_dte": { "description": "Maximum days to expiration, e.g. 30.", "maximum": 9007199254740991, "minimum": -9007199254740991, "type": "integer" }, "min_iv": { "description": "Minimum implied volatility in percent, e.g. 60.", "type": "number" }, "min_oi": { "description": "Minimum open interest.", "type": "number" }, "min_premium": { "description": "Minimum estimated premium in USD, e.g. 250000.", "type": "number" }, "min_voloi": { "description": "Minimum volume/open-interest ratio, e.g. 5.", "type": "number" }, "min_volume": { "description": "Minimum contract volume.", "type": "number" }, "offset": { "description": "Rows to skip for paging; the response reports filtered_total and has_more.", "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "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" }, "symbols": { "description": "Comma-separated tickers, e.g. 'AAPL,NVDA,TSLA'.", "type": "string" }, "type": { "description": "Side: c = calls, p = puts (default all).", "enum": [ "c", "p", "all" ], "type": "string" } }, "type": "object" }, "name": "get_unusual_activity", "outputSchema": null }, { "description": "Liveness check for the OptionsBell MCP server. No API key required.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": {}, "type": "object" }, "name": "ping", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:87888902d153840866f8faa1490feb92da862f7e726a2cb7ccefc2027c3738b3 | sha256sum