get_options_flow_signals
Retrieve curated high-conviction options flow signals filtered by long streaks, large premium, and screener confluence. Each signal includes performance tracking with max high and max drawdown percentages.
Instructions
Return curated high-conviction options flow signals for a date range. These are the strongest setups filtered by long streaks, large premium, and screener confluence. Each signal includes performance tracking (max_high_pct, max_drawdown_pct). Use when the user asks 'what are today's signals' or 'show me bullish setups from last week'. If date_from/date_to omitted, returns last 60 days. Returns { count, signals: [...] }. Tier: Pro only.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| date_from | No | Start date (YYYY-MM-DD) | |
| date_to | No | End date (YYYY-MM-DD) |
Implementation Reference
- src/tools/optionsFlow.ts:111-123 (handler)Handler function that parses input, builds a cache key, and proxies the request to GET /options-flow/signals with optional date_from/date_to query parameters.
export async function handleGetOptionsFlowSignals( ctx: McpContext, rawArgs: unknown ): Promise<unknown> { const args = GetOptionsFlowSignalsInputSchema.parse(rawArgs); const key = `options-flow:signals:${args.date_from || "default"}:${args.date_to || "default"}`; return ctx.cache.wrap(key, 300_000, () => ctx.apiClient.get("/options-flow/signals", { date_from: args.date_from, date_to: args.date_to, }) ); } - src/tools/optionsFlow.ts:35-38 (schema)Zod schema defining the input for get_options_flow_signals: optional date_from and date_to fields validated as YYYY-MM-DD strings.
export const GetOptionsFlowSignalsInputSchema = z.object({ date_from: z.string().regex(dateRegex).optional().describe("Start date (YYYY-MM-DD)"), date_to: z.string().regex(dateRegex).optional().describe("End date (YYYY-MM-DD)"), }); - src/tools/optionsFlow.ts:64-70 (registration)Tool registration object with name, description, input schema, and read-only annotations, exported as part of the optionsFlowTools array.
{ name: "get_options_flow_signals", description: "Return curated high-conviction options flow signals for a date range. These are the strongest setups filtered by long streaks, large premium, and screener confluence. Each signal includes performance tracking (max_high_pct, max_drawdown_pct). Use when the user asks 'what are today's signals' or 'show me bullish setups from last week'. If date_from/date_to omitted, returns last 60 days. Returns { count, signals: [...] }. Tier: Pro only.", inputSchema: z.toJSONSchema(GetOptionsFlowSignalsInputSchema) as Tool["inputSchema"], annotations: READ_ONLY_ANNOTATIONS, }, - src/tools/index.ts:79-89 (registration)Handler mapping in the HANDLERS record that wires the tool name to the handler function.
get_options_flow_signals: (ctx, args) => handleGetOptionsFlowSignals(ctx, args), get_unusual_options_activity: (ctx, args) => handleGetUnusualOptionsActivity(ctx, args), get_stock_info: (ctx, args) => handleGetStockInfo(ctx, args), get_candles: (ctx, args) => handleGetCandles(ctx, args), get_stock_report: (ctx, args) => handleGetStockReport(ctx, args), search_setups: (ctx, args) => handleSearchSetups(ctx, args), get_market_momentum: (ctx, args) => handleGetMarketMomentum(ctx, args), get_trends: (ctx, args) => handleGetTrends(ctx, args), get_trend_connections: (ctx, args) => handleGetTrendConnections(ctx, args), explain_concept: (ctx, args) => handleExplainConcept(ctx, args), }; - src/tools/index.ts:28-28 (registration)Import of handleGetOptionsFlowSignals from the optionsFlow module into the main tools registry.
handleGetOptionsFlowSignals,