[
{
"name": "finance_timeseries",
"description": "Universal data spine: OHLCV time series with cross-asset correlation analytics. 8 providers auto-detected from ticker pattern: stocks/ETFs/futures→Yahoo, FRED macro series→FRED (also FRED: prefix), IBKR:→Interactive Brokers 15-min delayed futures/FX/equities (e.g. IBKR:FUT:CL:NYMEX, IBKR:CASH:EUR:IDEALPRO), CLEV:→Cleveland Fed daily inflation nowcast (CLEV:CPI, CLEV:COREPCE), KX*→Kalshi candlesticks, numeric 6+digit→Polymarket price history, PYTH:→24/7 oracle, BN:→Binance crypto (2019+ depth). Mix sources freely in one call — top-level `sources` field lists distinct providers actually returned. Every candle has a 't' timestamp — check it for data freshness. Presets expand to curated groups.",
"inputSchema": {
"type": "object",
"properties": {
"preset": {
"type": "string",
"description": "17 presets: macro, yield_curve, liquidity, credit (ICE BofA OAS), financial_conditions (NFCI/STLFSI4/VIX), recession (Sahm/spreads/claims), fed_balance_sheet (QE/QT), housing (Case-Shiller/starts/mortgage), labor (NFP/JOLTS/wages), inflation (CPI/PCE/sticky/median), real_rates (TIPS), consumer_credit (delinquency/SLOOS), forex_majors, crypto, energy (WTI/Brent/NG/RBOB/HO/Gasoil via IBKR), commodities (CL/GC/SI/HG/grains/softs via IBKR), treasuries (ZT/ZF/ZN/ZB/VIX futures via IBKR)."
},
"tickers": {
"type": "string",
"description": "Comma-separated. Stocks: AAPL,SPY,CL=F. FRED: UNRATE,T10Y2Y. IBKR futures: IBKR:FUT:CL:NYMEX, IBKR:FUT:GC:COMEX. IBKR FX: IBKR:CASH:EUR:IDEALPRO. IBKR equities: IBKR:STK:2222:TADAWUL. Cleveland Fed: CLEV:CPI,CLEV:COREPCE. Pyth: PYTH:OIL,PYTH:BTC. Kalshi: KXNBERRECESSQ-Q1-2026. Polymarket: 609655. Binance: BN:BTCUSDT. Mix freely in one call."
},
"range": {
"type": "string",
"description": "Lookback: 30m, 1h, 4h, 1d, 5d, 1mo, 3mo, 6mo, 1y, 2y, 5y (default: 1y)"
},
"granularity": {
"type": "string",
"description": "Candle interval: 1m, 5m, 15m, 30m, 1h, 1d, 1w, 1mo (default: 1d)"
},
"as_of": {
"type": "string",
"description": "End timestamp for the window (RFC3339 or YYYY-MM-DD). Pin this for reproducible cache hits and historical reconstruction. Defaults to now."
},
"start": {
"type": "string",
"description": "Explicit window start (RFC3339 or YYYY-MM-DD). Must be used with end."
},
"end": {
"type": "string",
"description": "Explicit window end (RFC3339 or YYYY-MM-DD). Must be used with start."
},
"provider": {
"type": "string",
"description": "Force a specific provider (auto|yahoo|fred|ibkr|pyth|binance). Default auto routes by ticker prefix."
},
"max_points_per_ticker": {
"type": "integer",
"description": "Safety cap. Errors if window×granularity would exceed this; suggests a coarser granularity."
}
}
}
},
{
"name": "finance_movers",
"description": "Largest day movers across Yahoo Finance day-gainer/day-loser screeners or an explicit ticker list. Filter by direction, percent move, price, volume, min/max market cap, and sort by percent, market cap, dollar volume, or estimated market-cap value change. In provider=auto mode, uses IBKR Gateway for price/change when configured and Yahoo Finance otherwise; Yahoo is also used to enrich IBKR results with market cap metadata.",
"inputSchema": {
"type": "object",
"properties": {
"universe": {
"type": "string",
"description": "Candidate universe: day_movers, day_gainers, day_losers, or tickers. Default day_movers."
},
"tickers": {
"type": "string",
"description": "Comma-separated explicit tickers. If supplied, overrides screener discovery."
},
"direction": {
"type": "string",
"enum": ["gainers", "losers", "both"],
"description": "Direction filter. Default both."
},
"sort_by": {
"type": "string",
"enum": ["percent", "abs_percent", "market_cap", "value_change", "dollar_volume", "volume"],
"description": "Ranking metric. value_change = abs(market_cap * change_pct). Default value_change."
},
"provider": {
"type": "string",
"enum": ["auto", "yahoo", "ibkr"],
"description": "Price/change provider. Auto uses IBKR when configured, otherwise Yahoo."
},
"min_market_cap": {
"type": "string",
"description": "Minimum market cap, e.g. 500M, 2B, 1.5T."
},
"max_market_cap": {
"type": "string",
"description": "Maximum market cap, e.g. 2B."
},
"min_change_pct": {
"type": "number",
"description": "Minimum absolute percent move. Default 0."
},
"min_price": {
"type": "number",
"description": "Minimum last price. Default 5."
},
"min_volume": {
"type": "integer",
"description": "Minimum reported day volume."
},
"limit": {
"type": "integer",
"description": "Number of movers to return. Default 25."
},
"scan_limit": {
"type": "integer",
"description": "Candidate count per Yahoo screener leg before local filtering/sorting. Default 100, max 250."
},
"ibkr_account": {
"type": "string",
"description": "Optional IBKR account override."
},
"ibkr_host": {
"type": "string",
"description": "Optional IBKR host override."
},
"ibkr_port": {
"type": "integer",
"description": "Optional IBKR port override."
},
"ibkr_client_id": {
"type": "integer",
"description": "Optional IBKR client id override."
},
"ibkr_market_data_type": {
"type": "integer",
"description": "Optional IBKR market data type: 1 live, 2 frozen, 3 delayed, 4 delayed-frozen."
},
"ibkr_timeout_secs": {
"type": "integer",
"description": "Optional IBKR timeout in seconds."
},
"include_extended_hours": {
"type": "boolean",
"description": "If true, also fetch pre-market / after-hours move and surface as extended_price, extended_change_pct, extended_session. Sort metrics combine regular + extended when this is enabled."
}
}
}
},
{
"name": "finance_rate_path",
"description": "Aggregated Polymarket+Kalshi probabilities per FOMC meeting (hold/cut/hike buckets). DERIVED — combines multiple prediction markets per meeting via volume-weighted average. Returns: meetings[] (per-meeting hold/cut/hike + n_markets + volume_total, dates snapped to actual FOMC decision day), year_view (cuts_distribution, eoy_rate_distribution, cut_by_meeting_distribution from cardinality markets), compound_paths[] (joint multi-meeting Pause-Pause-Pause paths). For raw individual markets use finance_odds.",
"inputSchema": {
"type": "object",
"properties": {}
}
},
{
"name": "finance_odds",
"description": "Prediction market discovery + live pricing (Kalshi + Polymarket). Use single specific words for search — multi-word phrases return garbage. Examples: 'recession', 'tariff', 'fed', 'oil', 'iran'. Returns probabilities, volume (USD), and bid/ask. For probability HISTORY over time, use finance_timeseries with the market ticker instead.",
"inputSchema": {
"type": "object",
"properties": {
"search": {
"type": "string",
"description": "Single-word keyword works best (e.g. recession, tariff, fed, bitcoin, oil, iran, hormuz)"
},
"live": {
"type": "boolean",
"description": "Fetch fresh prices from exchange APIs (default: true)"
},
"orderbook": {
"type": "boolean",
"description": "Include Polymarket orderbook depth in returned markets"
},
"depth": {
"type": "integer",
"description": "Number of bid/ask levels per outcome. Defaults to 5 if orderbook=true. Polymarket only."
},
"limit": {
"type": "integer",
"description": "Maximum markets to return. Default 12."
},
"list_series": {
"type": "boolean",
"description": "Kalshi only. List available series (top-level groupings)."
},
"list_events": {
"type": "boolean",
"description": "List available events (mid-level groupings)."
},
"list_markets": {
"type": "boolean",
"description": "List available markets (leaf binary contracts)."
},
"list_tags": {
"type": "boolean",
"description": "Polymarket only. List available tags."
},
"provider": {
"type": "string",
"enum": ["kalshi", "polymarket", "auto"],
"description": "Force a specific venue. Default auto."
},
"series": {
"type": "string",
"description": "Kalshi series ticker filter (e.g. KXFEDDECISION)."
},
"event": {
"type": "string",
"description": "Event ticker filter."
},
"market": {
"type": "string",
"description": "Specific market ticker or Polymarket numeric ID."
},
"min_volume": {
"type": "integer",
"description": "Minimum 24h USD volume filter on local-cache search."
},
"top": {
"type": "integer",
"description": "Return top N markets after ranking. Different from `limit`: limit=API page size, top=post-rank cutoff."
},
"sort_by": {
"type": "string",
"enum": ["relevance", "volume", "delta_prob", "delta_yes_price", "delta_volume"],
"description": "Sort key for local-cache search. Default relevance."
},
"category": {
"type": "string",
"description": "Category filter."
},
"profile": {
"type": "string",
"enum": ["auto", "macro", "broad"],
"description": "Query profile. macro narrows to Fed/CPI/etc., broad casts wider."
},
"country": {
"type": "string",
"description": "Country filter for local-cache search (v1: US only)."
},
"cursor": {
"type": "string",
"description": "Pagination cursor for Kalshi list endpoints."
},
"deltas_only": {
"type": "boolean",
"description": "Only return markets that changed since last sync. Requires sync delta index."
},
"explain": {
"type": "boolean",
"description": "Include compact ranking explanations in local-cache search output."
},
"include_mentions": {
"type": "boolean",
"description": "Include mention/speech-prediction markets (filtered by default)."
},
"max_pages": {
"type": "integer",
"description": "Max pages to fetch from Kalshi list endpoints. Default unbounded."
},
"min_delta_pp": {
"type": "number",
"description": "Minimum absolute probability move (percentage points) since last sync. Requires sync delta index."
},
"status": {
"type": "string",
"description": "Filter by status (e.g. open, closed)."
}
}
}
},
{
"name": "finance_options",
"description": "Options chain with IV (from Yahoo), put/call OI ratio, max pain, and vol skew. Defaults to summary mode with ±10% strikes around current price. No Greeks (no Black-Scholes) — IV is passthrough from exchange. Max pain filters out pre-split strike artifacts. For full chain across ALL expirations with IV term structure and OI concentration, pass all=true. Top-level `atm_iv` mirrors `metrics.atm_iv` (jq `.atm_iv`); in `all=true` mode it reflects the nearest non-expired snapshot's ATM IV.",
"inputSchema": {
"type": "object",
"properties": {
"ticker": {
"type": "string",
"description": "Underlying ticker (e.g. SPY, NVDA, AAPL, QQQ)"
},
"all": {
"type": "boolean",
"description": "Fetch ALL expirations with cross-expiry analytics: IV term structure, OI concentration, max pain range. Large output auto-saves to file."
},
"summary": {
"type": "boolean",
"description": "Return summary metrics only, no full chain (default: true)"
},
"near_money": {
"type": "number",
"description": "Only return strikes within this % of the underlying (e.g. 5)"
},
"target_dte": {
"type": "integer",
"description": "Target days to expiry. If set without explicit expiry, picks the nearest listed expiry."
},
"expirations": {
"type": "boolean",
"description": "List available expirations only (no chain data)."
},
"expiry": {
"type": "string",
"description": "Specific expiration date (YYYY-MM-DD). Use --expirations first to see valid dates."
},
"type": {
"type": "string",
"enum": ["calls", "puts", "both"],
"description": "Filter chain by option type. Default both."
}
},
"required": ["ticker"]
}
},
{
"name": "finance_fundamentals",
"description": "Quarterly financial statements: income statement, balance sheet, cash flow. Not for ETFs — use finance_timeseries instead.",
"inputSchema": {
"type": "object",
"properties": {
"tickers": {
"type": "string",
"description": "Comma-separated list of tickers, e.g. AAPL,MSFT,NVDA. Single ticker returns array of 1."
}
},
"required": ["tickers"]
}
},
{
"name": "finance_search",
"description": "Search for ticker symbols or FRED macro series IDs by name. Use before timeseries when you don't know the exact ticker/series ID.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Search query (e.g. tesla, unemployment, S&P 500, crude oil)"
}
},
"required": ["query"]
}
},
{
"name": "finance_filings",
"description": "Download recent SEC filings by ticker. Returns SEC metadata, filing URLs, local primary-document paths, saved filing index JSON, and optionally all filing attachments. No filing text parsing or inline excerpting.",
"inputSchema": {
"type": "object",
"properties": {
"ticker": {
"type": "string",
"description": "Stock ticker (e.g. TSLA, NVDA, AAPL)"
},
"forms": {
"type": "string",
"description": "Comma-separated form types (e.g. 10-K,10-Q). Default: 8-K,10-K,10-Q"
},
"limit": {
"type": "integer",
"description": "Max filings (default: 5)"
},
"download": {
"type": "boolean",
"description": "Download primary filing documents and index JSON to local cache. Default: true"
},
"download_all": {
"type": "boolean",
"description": "Download every file listed in each filing index, including exhibits/attachments. Default: false"
},
"include_text": {
"type": "boolean",
"description": "Deprecated alias for download=true; no text parsing or inline excerpt is performed"
},
"max_chars": {
"type": "integer",
"description": "Deprecated; ignored because filings are downloaded raw"
},
"user_agent": {
"type": "string",
"description": "Optional SEC User-Agent override with contact email, e.g. eli-cli (mailto:me@example.com)"
}
},
"required": ["ticker"]
}
},
{
"name": "finance_schedule",
"description": "Earnings calendar (Nasdaq) + macro release calendar (FRED). Shows upcoming CPI, PCE, GDP, jobs, FOMC, claims, and earnings dates. Use min_cap (e.g. '50B') to filter large-cap earnings only.",
"inputSchema": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"description": "all | earnings | macro (default: macro)"
},
"from": {
"type": "string",
"description": "Start date YYYY-MM-DD"
},
"to": {
"type": "string",
"description": "End date YYYY-MM-DD"
},
"date": {
"type": "string",
"description": "Single date YYYY-MM-DD (overrides from/to)"
},
"major": {
"type": "boolean",
"description": "Macro: keep just major US releases"
},
"ticker": {
"type": "string",
"description": "Filter earnings by ticker(s), comma-separated"
},
"min_cap": {
"type": "string",
"description": "Min market cap for earnings (e.g. 10B, 500M, 1T)"
},
"time": {
"type": "string",
"description": "Filter: pre-market | after-hours"
},
"macro_profile": {
"type": "string",
"enum": ["broad", "market", "major"],
"description": "Macro filtering profile. broad=all releases, market=common-watched only, major=top-tier only. The boolean `major` is a shortcut for macro_profile=major."
}
}
}
},
{
"name": "finance_auctions",
"description": "Recent US Treasury auction results: bid-to-cover, direct/indirect bidder pct, high yield, total accepted, total tendered, CUSIP, security type, security term, auction/issue/maturity dates.",
"inputSchema": {
"type": "object",
"properties": {
"security_type": {
"type": "string",
"description": "all, bill, note, bond, tips, frn (default: all)"
},
"limit": {
"type": "integer",
"description": "Number of recent auctions (default: 50)"
}
}
}
},
{
"name": "finance_cot",
"description": "CFTC Commitment of Traders weekly positions (specs vs commercials, longs/shorts/net, OI, week-over-week change). Released Friday for prior Tuesday. Natural query matching — use 'crude', 'gold', '10-year', 'spx', 'yen', 'treasury'. Auto-detects financial vs disaggregated report. Includes historical percentile rank across the requested window.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Natural query: gold, crude, 10-year, spx, treasury, yen, bitcoin"
},
"weeks": {
"type": "integer",
"description": "Weeks of history (default: 12)"
},
"report": {
"type": "string",
"description": "disaggregated (commodities) or financial (rates/FX/equity). Auto-detected if omitted"
},
"limit": {
"type": "integer",
"description": "Max distinct contracts to return (default: 15). Use higher for broad queries"
}
}
}
},
{
"name": "finance_nyfed",
"description": "NY Fed Markets data: overnight reference rates (SOFR, EFFR, OBFR, TGCR, BGCR with percentiles and volume), ON RRP facility (total amount, counterparties, rate), SOMA holdings (Fed balance sheet by security type), primary dealer positions. Real-time Fed plumbing data.",
"inputSchema": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"description": "rates (SOFR/EFFR/OBFR/TGCR/BGCR), rrp (reverse repo facility), soma (Fed balance sheet), dealers (primary dealer positions). Default: rates"
}
}
}
},
{
"name": "finance_volsurface",
"description": "CBOE volatility indices: VIX (30-day), VIX9D (9-day), VIX3M (3-month), VIX6M (6-month), VIX1Y (1-year), VVIX (vol-of-vol), OVX (oil), GVZ (gold), SKEW. Returns latest OHLC + optional history. Not a per-underlying strike/expiry implied-vol surface.",
"inputSchema": {
"type": "object",
"properties": {
"symbols": {
"type": "string",
"description": "Comma-separated: VIX,VIX9D,VIX3M,VIX6M,VIX1Y,VVIX,OVX,GVZ,SKEW (default: all 9)"
},
"history": {
"type": "integer",
"description": "Trading days of history (default: latest only)"
}
}
}
},
{
"name": "finance_stress",
"description": "OFR Financial Stress Index (composite + credit/equity/funding/safe-assets/volatility components). Daily, updated T+1. Index is z-scored vs OFR's own historical baseline; raw values returned without categorical labeling.",
"inputSchema": {
"type": "object",
"properties": {
"range": {
"type": "integer",
"description": "Days of history (default: 30)"
}
}
}
},
{
"name": "finance_fiscal",
"description": "Treasury fiscal data: daily national debt total (public + intragovernmental, in billions), daily Treasury operating cash balance (deposits/withdrawals), average interest rates by security type.",
"inputSchema": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"description": "debt (daily national debt), statement (Treasury cash balance), interest (avg rates by security). Default: debt"
}
}
}
},
{
"name": "finance_ecb",
"description": "ECB Statistical Data Warehouse (SDMX): EUR exchange rates, Euro STR, M3 money supply, EURIBOR term structure, euro area yield curve, Eurosystem balance sheet. No auth required. Presets or custom SDMX dataset+key.",
"inputSchema": {
"type": "object",
"properties": {
"preset": {
"type": "string",
"description": "eurusd | fx_majors (USD/GBP/JPY/CHF/CNY) | estr (Euro Short-Term Rate) | m3 (money supply) | euribor (1M/3M/6M/12M term structure) | yield_curve (3M-30Y spot rates) | balance_sheet (Eurosystem total assets)"
},
"dataset": {
"type": "string",
"description": "SDMX dataset ID (EXR, FM, EST, BSI, YC). Use with key."
},
"key": {
"type": "string",
"description": "SDMX dimension key (e.g. D.USD.EUR.SP00.A). Use with dataset."
},
"start": {
"type": "string",
"description": "Start period YYYY-MM-DD or YYYY-MM. Default: 2025-01-01"
},
"end": {
"type": "string",
"description": "End period (YYYY-MM-DD or YYYY-MM). Defaults to now."
}
}
}
},
{
"name": "finance_eia",
"description": "EIA (U.S. Energy Information Administration): weekly petroleum inventories (crude oil, gasoline, distillate stocks) and natural gas storage. Requires EIA_API_KEY env var (free registration at eia.gov/opendata).",
"inputSchema": {
"type": "object",
"properties": {
"preset": {
"type": "string",
"description": "crude (US crude oil stocks excl SPR) | gasoline | distillate | all (crude+gasoline+distillate+Cushing) | nat_gas (Lower 48 working storage)"
},
"start": {
"type": "string",
"description": "Start date YYYY-MM-DD"
},
"length": {
"type": "integer",
"description": "Max observations (default 52 = ~1 year weekly)"
},
"route": {
"type": "string",
"description": "Custom EIA API route (e.g. petroleum/stoc/wstk/data/). Overrides preset."
}
}
}
},
{
"name": "finance_bis",
"description": "BIS (Bank for International Settlements): global central bank policy rates, total assets, credit-to-GDP gaps, property prices, real effective exchange rates. Covers 40-50 economies. No auth.",
"inputSchema": {
"type": "object",
"properties": {
"preset": {
"type": "string",
"description": "policy_rates (US/EU/JP/GB/CH/CN) | assets (CB total assets in local ccy) | credit_gap (credit-to-GDP gap) | property (real residential prices) | eer (real effective exchange rates)"
},
"countries": {
"type": "string",
"description": "Comma-separated ISO codes: US,XM(Euro area),JP,GB,CH,CN,AU,CA. Default: US,XM,JP,GB"
},
"dataset": {
"type": "string",
"description": "BIS SDMX dataset (e.g. WS_CBPOL). Use with `key` for direct query, bypassing presets."
},
"key": {
"type": "string",
"description": "SDMX dimension key (e.g. M.US+XM+JP+GB). Use with `dataset`."
},
"start": {
"type": "string",
"description": "Start period YYYY-MM. Default: 2020-01"
}
}
}
},
{
"name": "finance_boj",
"description": "Bank of Japan: monetary base, BOJ balance sheet (total assets, JGB holdings, ETF holdings), TANKAN business sentiment DI, call rate, M2/M3 money stock, USD/JPY. New Feb 2026 API, no auth.",
"inputSchema": {
"type": "object",
"properties": {
"preset": {
"type": "string",
"description": "policy_rate | call_rate | monetary_base | balance_sheet | money_stock (M2+M3) | tankan (Mfg+Non-Mfg large DI) | fx (USD/JPY)"
},
"start": {
"type": "string",
"description": "Start date YYYYMM format. Default: 202401"
},
"db": {
"type": "string",
"description": "BOJ database name (e.g. IR01, FM01, BS01, CO). Use with codes for direct query."
},
"codes": {
"type": "string",
"description": "BOJ series codes (comma-separated)."
}
}
}
},
{
"name": "finance_boe",
"description": "Bank of England: Bank Rate, SONIA, gilt yields (5Y/10Y/20Y par and zero-coupon), M4 money supply, GBP exchange rates. CSV endpoint, no auth.",
"inputSchema": {
"type": "object",
"properties": {
"preset": {
"type": "string",
"description": "bank_rate | sonia | gilts (5Y/10Y/20Y yields) | m4 (money supply) | fx (GBP/USD, GBP/EUR, GBP/JPY) | all (dashboard: rate+SONIA+10Y+M4+GBPUSD)"
},
"codes": {
"type": "string",
"description": "Comma-separated BOE series codes (e.g. IUDBEDR,IUDSOIA,IUDMNPY). Use instead of preset for custom queries."
},
"start": {
"type": "string",
"description": "Start date DD/Mon/YYYY (e.g. 01/Jan/2025). Default: 01/Jan/2025"
},
"end": {
"type": "string",
"description": "End date DD/Mon/YYYY format like 01/Jan/2026, or 'now'. Defaults to now."
}
}
}
},
{
"name": "finance_curve",
"description": "Futures forward curve for commodities. Returns every contract month's price, front month price, back month price, raw spread (back-front), and spread_pct. Supported: oil/wti, brent, gold, silver, natgas, copper, platinum, palladium, gasoline/rbob, heating/ho.",
"inputSchema": {
"type": "object",
"properties": {
"commodity": {
"type": "string",
"description": "Commodity to chart: oil, brent, gold, silver, natgas, copper, platinum, palladium, gasoline, heating"
},
"months": {
"type": "integer",
"description": "Number of forward months to include (default 12, max 24)"
},
"list": {
"type": "boolean",
"description": "List supported commodities and exit (no curve data)."
}
}
}
}
]