NestDaddy

FinzData market data

io.github.FinzData/finzdata-mcp · v1.0.0

US stocks incl. delisted, futures, CPI/macro vintages, point-in-time GEX, 13F, COT, backtests.

Connect Remote server

Terminal
claude mcp add --transport http finzdata-mcp https://api.finzdata.com/mcp --header "X-API-Key: <X_API_KEY>"
~/.cursor/mcp.json
{
  "mcpServers": {
    "finzdata-mcp": {
      "url": "https://api.finzdata.com/mcp",
      "headers": {
        "X-API-Key": "<X_API_KEY>"
      }
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "finzdata-mcp": {
      "type": "http",
      "url": "https://api.finzdata.com/mcp",
      "headers": {
        "X-API-Key": "<X_API_KEY>"
      }
    }
  }
}
Claude Desktop
Settings > Connectors > Add custom connector
URL: https://api.finzdata.com/mcp

Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.

Tools 41 found in our last check

  • search_datasets

    Answers 'which FinzData dataset holds this data?' Give a search phrase such as 'crude oil', 'insider trading' or 'housing'. Returns matching dataset ids, titles and descriptions. Use an id with describe_dataset, then call that dataset's tool (for example get_bars for prices, get…

  • describe_dataset

    Answers 'what fields and coverage does this dataset have?' Give a dataset id from search_datasets (for example prices_daily, cot, gex_daily). Returns the schema, coverage and field definitions. If the id is unknown, the error lists every valid id - call search_datasets to browse…

  • get_universe

    Answers 'which US stocks were trading on this date - including ones that later delisted?' Give as_of (YYYY-MM-DD, defaults to today); optionally index top500/top1000/top3000 for the most-traded names priced at least $5 that day, prefix to filter, offset to page through 500 at a…

  • get_bars

    Answers 'what did these stocks do between these dates?' Give symbols (a list, or '/ES' for a futures root - plain 'ES' is the stock Eversource), start and end dates. Returns daily OHLCV bars clipped to as_of so no future data leaks; up to 5,000 rows per page, use next_cursor for…

  • backtest_export

    Answers 'give me this stock's bars ready to load into my backtester.' Give a symbol and a framework (backtrader, backtesting_py, vectorbt, zipline, lean, nautilus, freqtrade or qlib); optionally start and end. Returns files (path, encoding, content) plus load_code - write each f…

  • get_fundamentals_pit

    Answers 'what were this company's fundamentals as known on this date - before later restatements?' Give a symbol and as_of (defaults to today). Returns SEC fundamentals as filed (earnings yield, book-to-market, ROE, leverage and more) exactly as known on that date. Covers US sto…

  • get_macro_vintage

    Answers 'what was inflation (or GDP, payrolls, retail sales) as first published on this date - not as later revised?' Give a series id (for example CPIAUCSL) and as_of; optionally start. Returns the series as actually published by as_of, with every vintage kept, across 22,700+ m…

  • get_quant_model

    Answers 'what macro regime are we in, and how stressed is the S&P 500?' Give as_of (defaults to today), or nothing for the latest reading. Returns the FinzData Quantitative Model labels as known on that date - financial-conditions and risk direction, growth level and direction,…

  • get_cot

    Answers 'how are traders positioned in this market?' Give a market (for example GOLD or CRUDE_OIL) and a start date; optionally end. Returns CFTC Commitments of Traders rows - managed money, producers, swap dealers, leveraged funds and asset managers, long/short/net - clipped to…

  • get_gex

    Answers 'is dealer gamma long or short for this ticker - where are the gamma flip, call wall and put wall?' Give a ticker plus start/end for a time series, or a date alone for every name that session ranked by absolute net gamma. Returns one row per ticker per session: spot, net…

  • get_political_spending

    Answers 'who is spending election money, where, and on what?' Give a table (races, candidates, donor_geo, race_geo, flows, spending, vendors, state_local, state_local_geo); optionally cycle (2026, 2022 or 2018), state (2-letter code) and office (H or S). Returns cleaned, rolled-…

  • get_13f

    Answers 'who owns this stock, and what does this manager hold?' Give a query such as a manager name ('BERKSHIRE') or a ticker ('AAPL'). Returns 13F holdings as known on as_of (defaults to today); filings after as_of are hidden. Free keys get the last 12 months; full history with…

  • get_events

    Answers 'when is this earnings report, or the next CPI / payrolls / FOMC release?' Give kind earnings or macro, plus start and end dates. Returns events clipped to as_of, up to 5,000 rows per page. kind=macro returns market-moving releases by default (CPI, payrolls, GDP, PCE, re…

  • run_backtest

    Answers 'would this strategy have worked - without look-ahead or survivorship bias?' Give a JSON spec (universe as a symbol list or top500/top1000/top3000/all, start, end, signal, rebalance D/W/M/Q, top_n, costs_bps, side long or long_short, blind=true to hide tickers). Signals:…

  • run_strategy

    Answers 'how has this published strategy done since it started?' Give a slug from list_strategies; optionally end (default today). Returns stats, benchmark stats, equity curve, the published spec and the strategy page, re-running the strategy exactly as published on its full poi…

  • compare_runs

    Answers 'which of my backtests performed best?' Give run_ids from earlier run_backtest calls in this session. Returns a table (run_id, CAGR, Sharpe, max drawdown, turnover, final equity) for each run. If a run_id is unknown, the error names it - call run_backtest again to get a…

  • publish_strategy

    Answers 'publish this backtest as a public, reproducible strategy page.' Give a spec (same format as run_backtest), a title (1-120 characters) and your hypothesis (what would falsify it); visibility public or private. Returns the new strategy's slug and page URL. Runs the backte…

  • fork_strategy

    Answers 'copy this published strategy and change one thing.' Give a slug and changes (nested fields merged, e.g. signal lookback 252 to 126); optionally a new title. Returns the fork's slug and page URL. Re-runs the strategy on the server and publishes the fork linked to its par…

  • list_strategies

    Answers 'what are the best published strategies on the FinzData Hub?' Optionally sort by benchmark (full record re-run nightly through today; strategies beating their benchmark on return and Sharpe first), robust (deflated Sharpe), forward (forward Sharpe, 63+ days out-of-sample…

  • get_strategy

    Answers 'show me this published strategy - its spec, backtest and forward record.' Give a slug from list_strategies. Returns the spec, server-computed backtest result, forward-tracking record and fork lineage, plus its public page URL. If the slug is unknown or the strategy is p…

  • star_strategy

    Answers 'star this strategy so it counts toward Trending.' Give a slug; pass unstar=true to remove your star. Returns the slug, star count and public page URL. Stars feed the Trending list; rankings stay on deflated Sharpe and forward record. If the slug is unknown or private, t…

  • comment_strategy

    Answers 'ask a question or leave a note on this strategy.' Give a slug and a body (1-2000 characters) - a question, a result from a fork, or a suggested change. Returns the posted comment and the strategy's page URL. Posts a public comment under your handle. If the slug is unkno…

  • survivorship_audit

    Answers 'how much of this backtest's return is survivorship bias?' Give a spec (same format as run_backtest, universe top500/top1000/top3000 or a symbol list). Returns both stats plus the inflation in CAGR and Sharpe that survivorship bias adds. Runs it twice - once on the point…

  • get_futures

    Answers 'give me every ES contract since 2007' (or any futures market's history). Give a root (ES, NQ, YM, RTY, CL, GC, SI, NG, ZN, ZB, VX, 6E and more; a leading '/' is fine) for the continuous back-adjusted series, or a contract (e.g. ESZ26) for one contract; optionally interv…

  • get_futures_rolls

    Answers 'when does ES roll next - and what back-adjustment did the roll add?' Give a root (ES, CL, GC and more) or ALL for every market; optionally start and end. Returns the roll calendar for all 139 futures markets since 2007: for each front-month contract its first and last d…

  • get_crypto

    Answers 'what did BTC (or ETH, SOL) do?' Give a symbol (pair, e.g. BTC-USD) and optionally interval (1min, 5min, 15min, 30min, 1hour or 1day, default 1day) plus start and end. Returns OHLCV bars clipped to as_of. Covers 512 crypto pairs (BTC-USD since 2013, ETH-USD since 2016, S…

  • get_fx

    Answers 'what did EURUSD (or USDJPY) do?' Give a symbol (currency pair, e.g. EURUSD) and optionally interval (1min, 5min, 15min, 30min, 1hour or 1day, default 1day) plus start and end. Returns OHLC bars, times in US Eastern, clipped to as_of. Covers 79 currency pairs (EURUSD, US…

  • get_index

    Answers 'what did the S&P 500 (or VIX) do?' Give a symbol (index, e.g. SPX, NDX, VIX, RUT, DXY) and optionally interval (1min, 5min, 15min, 30min, 1hour or 1day, default 1day) plus start and end. Returns OHLC bars, times in US Eastern, clipped to as_of. Covers 123 indexes: S&P 5…

  • get_options_eod

    End-of-day US options chains since January 2010 for 5,800+ underlyings (stocks, ETFs and indexes, delisted included): every strike and expiry each day with last, bid, ask, bid and ask implied volatility, open interest, volume, delta, gamma, vega, theta and rho. Give symbol and d…

  • get_ticks

    Answers 'show me every NVDA trade on this day.' Give a symbol and a day (YYYY-MM-DD); optionally start/end times (HH:MM, US Eastern) to narrow the window, or omit day to list the days available. Returns every trade print (time in UTC nanoseconds and ISO, price, size, exchange, c…

  • get_global_pulse

    Answers 'how busy is the Suez Canal (or Singapore port, or US airspace) right now?' Give a dataset (chokepoints, ports, port_calls, air, air_europe, air_us or road); optionally match to filter by name or id (e.g. Suez, Singapore, JFK) and dim for air data. Returns daily real-wor…

  • translate_stockcharts_scan

    Answers 'turn my StockCharts scan into a FinzData backtest.' Give a StockCharts scan (e.g. '[type = stock] and [daily close > daily sma(50,daily close)] and [rsi(14) < 70]'). Returns the FinzData signal formula (expr), universe, notes and a ready-to-run backtest spec; clauses no…

  • backtest_stockcharts_scan

    Answers 'backtest my StockCharts scan on real history.' Give a scan and a start date; optionally end, symbols (e.g. a ChartList) to restrict the universe, top_n (default 50) and rebalance (D/W/M/Q, default W). Each rebalance holds the stocks that pass the scan, equally weighted…

  • register_strategy

    Answers 'score my signal out-of-sample from today, with a record nobody can edit.' Give agent_name, a signal formula, universe (top500/top1000/top3000/all), rebalance (daily/weekly/monthly), side (long/long_short) and top_frac (0-0.5). The strategy is scored only on data after r…

  • get_verified_record

    Answers 'show me this verified strategy's forward record.' Give a record_id from register_strategy or the verified_board. Returns the record: signal, universe, registration date and every forward result since. If the id is unknown, the error says so - call verified_board to brow…

  • verified_board

    Answers 'which verified strategies are leading?' Optionally give limit (1-200, default 50). Returns the leaderboard of verified strategies, ranked on forward results scored only after registration. Use get_verified_record for one record's full detail.

  • verify_chain

    Answers 'prove no verified record was edited or back-dated.' Give nothing. Returns the hash chain over every verified record so anyone can check the record is intact. If the check fails, the result names the broken link - contact [email protected] with the record id.

  • retire_strategy

    Answers 'stop forward-tracking one of my verified strategies.' Give the record_id you registered. Returns the retired record id. It stops accruing new forward results, keeps its full history and stays public on the Verified board marked retired. If the id is unknown or is not yo…

  • search_mcp_servers

    Answers 'which financial MCP servers can I connect to - and which are healthy?' Give a search phrase q, optionally a category, a minimum grade (A-F) and a limit (1-50, default 10). Returns servers graded nightly by FinzData for health, protocol conformance and prompt-injection r…

  • get_mcp_server

    Answers 'show me this MCP server's listing, tools and probe history.' Give a slug from search_mcp_servers. Returns the listing with tools, probe history, issues and verified-data status, plus its directory page URL. If the slug is unknown, the error says so - call search_mcp_ser…

  • claim_mcp_server

    Answers 'claim this directory listing so I can enable price-accuracy checks for it.' Give the slug of the listing you own; first claimant wins. Returns the claimed slug. If it is already claimed or the slug is unknown, the error says so - contact [email protected] to dispute a c…

Headers

NameDescription
X-API-Key
Optional, secret
Free key from https://finzdata.com/signup

Details

Endpointhttps://api.finzdata.com/mcp (Streamable HTTP)
First published19 Oct 2026
Last updated19 Oct 2026
Registry nameio.github.FinzData/finzdata-mcp

More finance and crypto servers See all

Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.