io.github.FinzData/finzdata-mcp

FinzData market data

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

Endpointhttps://api.finzdata.com/mcp (streamable-http)
Registry version1.0.0
Now35 tools · grade D (63) · pin ts_8a88ba40fc76fd22b46318b859079370 · protocol 2025-06-18
First / last listed2026-10-31 01:31 UTC / 2026-10-31 01:31 UTC
Grade over time2026-10-31: D (63), 35 tools

Is this your server? Own a server? ToolFit hosted watch re-checks it every 24 h ($0.25 per 30 days) or 6 h ($0.60) and sends you an HMAC-signed webhook when its tools or grade change: POST https://api.youraitools.co/toolfit/v1/watch. To opt out, see About & opt-out.

Timeline

First listing · 2026-10-31 01:31 UTC
35 tools, grade D (63)

Tools: search_datasets describe_dataset get_universe get_bars backtest_export get_fundamentals_pit get_macro_vintage get_quant_model get_cot get_gex get_political_spending get_13f get_events run_backtest compare_runs publish_strategy fork_strategy list_strategies get_strategy star_strategy comment_strategy survivorship_audit get_futures get_futures_rolls get_crypto translate_stockcharts_scan backtest_stockcharts_scan register_strategy get_verified_record verified_board verify_chain retire_strategy search_mcp_servers get_mcp_server claim_mcp_server

Current tools (35)

search_datasetsFull-text search over the dataset catalog. Returns matching dataset ids and descriptions. Free of look-ahead concerns; no as_of needed.
params: query*
describe_datasetReturns the schema, coverage and field definitions of one dataset. Raises not_found for an unknown dataset id.
params: dataset*
get_universeReturns every US symbol that was trading on as_of, including companies that later delisted (survivorship-free). index='top500'|'top1000'|'top3000' instead returns the most-traded names priced at least $5 that day, ranked by 63-day dollar volume (a point-in-time large-cap proxy, not official S&P or Russell membership). Pages of 500; pass offset. as_of defaults to today.
params: as_of, index, offset, prefix
get_barsReturns daily OHLCV bars for symbols between start and end, clipped to as_of (default today) so no future data leaks. Max 5000 rows per page; use next_cursor for more.
params: symbols*, start*, end, bar, as_of
backtest_exportDaily OHLCV bars for one symbol packaged as ready-to-load files for an open-source backtester or trading framework: backtrader, backtesting_py, vectorbt, zipline (csvdir bundle), lean (QuantConnect LEAN, base64 zip), nautilus, freqtrade or qlib. Returns files (path, encoding, content) and load_code. Write each file at its path, then run load_code. Clipped to as_of; start defaults to 365 days befor
params: symbol*, framework, start, end, as_of
get_fundamentals_pitReturns fundamentals for one symbol as known on as_of (no restatements from the future). as_of defaults to today.
params: symbol*, as_of
get_macro_vintageReturns a macro series as it was actually published by as_of (vintage data, no revisions from the future). Optional start.
params: series*, start, as_of
get_quant_modelThe FinzData Quantitative Model as known on as_of: macro regime labels (financial conditions direction, financial risk direction, growth level and direction, inflation direction, macro quadrant GOLDILOCKS/REFLATION/STAGFLATION/SLOWDOWN, liquidity and credit), the growth/inflation nowcast, and the daily S&P 500 market stress probability (2-state Markov-switching). Labels are computed from each inpu
params: as_of
get_cotReturns CFTC Commitments of Traders rows for a market between start and end, clipped to as_of. Max 5000 rows per page.
params: market*, start*, end, as_of
get_gexPoint-in-time dealer gamma exposure for US stocks and ETFs, one row per ticker per session, each stamped with knowledge_time (17:00 New York on the session date). Columns: spot, net_gex_bn (dealer net gamma, $bn per 1% move; >0 dealers long gamma, <0 short), call_gex_bn, put_gex_bn, flip (gamma-flip level), call_wall, put_wall, pcr_oi, atm_iv_pct. Give ticker (+ start/end) for a time series, or da
params: ticker, date, start, end, summary, as_of
get_political_spendingUS election money, cleaned and rolled up (FEC + state and city filings; 2026 cycle plus 2022 and 2018). table: races (per House/Senate race: candidate receipts, outside spending for/against), candidates, donor_geo (donations by city/state/division/region), race_geo, flows (donor state -> race state), spending (campaign spending by category and vendor city), vendors, state_local (state and city con
params: table*, cycle, state, office
get_13fReturns 13F holdings matching a query as known on as_of (default today); filings after as_of are hidden.
params: query*, as_of
get_eventsReturns events of one kind between start and end (YYYY-MM-DD), clipped to as_of. kind='earnings' (company report dates, symbol and timing) or kind='macro' (economic releases such as CPI, payrolls, FOMC). Max 5000 rows per page.
params: kind*, all_releases, start*, end, as_of
run_backtestRuns a deterministic backtest from a JSON spec (universe, start, end, signal, rebalance, top_n, costs_bps, side='long'|'long_short', blind=true to hide tickers). universe: a list of symbols, or 'top500'|'top1000'|'top3000'|'all' for the liquid US market (each month the N most-traded names priced >= min_price, default $5, by 63-day dollar volume; 'all' = liquid_top names, default 1000, max 3000; de
params: spec*, as_of
compare_runsReturns a table (run_id, cagr, sharpe, max_drawdown, turnover, final_equity) for previously run backtests in this session. Unknown run_id -> not_found.
params: run_ids*
publish_strategyRuns a backtest spec (same format as run_backtest) on the server and publishes it to the FinzData Hub as a public, reproducible strategy page at data.finzdata.com/s/<slug>, forward-tracked daily from today. Only server-computed results are stored. Costs one backtest; free accounts may publish 3 a day. visibility='private' keeps it unlisted.
params: spec*, title*, description, visibility, as_of
fork_strategyCopies a published Hub strategy, applies `changes` (nested fields merged, e.g. {"signal": {"lookback": 126}}), re-runs it on the server and publishes the fork linked to its parent. Costs one backtest.
params: slug*, changes*, title, as_of
list_strategiesLists public FinzData Hub strategies. sort: robust (deflated Sharpe), forward (forward Sharpe, 63+ days of out-of-sample record), new, forks. Optional family (momentum, expr, ma_cross, factor).
params: sort, family, limit
get_strategyReturns one public Hub strategy: spec, server-computed backtest result, forward-tracking record and fork lineage.
params: slug*
star_strategyStars (or with unstar=true removes your star from) a public Hub strategy. Stars feed the Trending list; rankings stay on deflated Sharpe and forward record.
params: slug*, unstar
comment_strategyPosts a public comment (1-2000 characters) on a Hub strategy, e.g. a question, a result from a fork or a suggested change. Comments are shown under your handle.
params: slug*, body*
survivorship_auditRuns your backtest spec twice: once on the point-in-time universe (delisted companies included while they traded, the honest result) and once on only the names still trading today (what a backtest on a current ticker list does). Returns both stats and the inflation in CAGR and Sharpe that survivorship bias adds. Use universe 'top500'|'top1000'|'top3000' or a symbol list. Costs one backtest.
params: spec*, as_of
get_futuresDaily OHLCV and open interest for 139 futures markets (CME, CBOT, NYMEX, COMEX, ICE, Eurex, Cboe): every individual contract since 2007 plus continuous back-adjusted series. Give root (ES, NQ, YM, RTY, CL, GC, SI, NG, ZN, ZB, VX, 6E ...; a leading '/' is fine) for the continuous series, or contract (e.g. ESZ26) for one contract. Clipped to as_of. Free keys get recent days; full history from $49 pe
params: root*, contract, continuous, start, end, as_of
get_futures_rollsRoll calendar for 140 futures markets since 2008: for each front-month contract its first and last date as front month, expiry, the next contract, the roll date, trading days before expiry, and the back-adjustment added to its prices in the continuous series (adjusted = raw + back_adjustment). The current front month has an estimated next roll date. Give root (ES, CL, GC ...) or ALL for every mark
params: root*, start, end
get_cryptoOHLCV bars for crypto pairs since 2015 (BTC-USD, ETH-USD, SOL-USD and more). interval: 1min, 5min, 1hour or 1day (default). Clipped to as_of. Free keys get daily bars for the last 12 months.
params: symbol*, interval, start, end, as_of
translate_stockcharts_scanTranslates a StockCharts.com scan (e.g. '[type = stock] and [daily close > daily sma(50,daily close)] and [rsi(14) < 70] rank by [ROC(20)]') into a FinzData signal formula and a ready-to-run backtest spec. Returns expr, universe, notes, and any clauses not yet supported (never guessed). No data is fetched.
params: scan*, start
backtest_stockcharts_scanBacktests a StockCharts.com scan on point-in-time US stocks since 2000, delisted names included: each rebalance (weekly by default) holds the stocks that pass the scan, equally weighted up to top_n, 10 bps costs. Optional symbols (e.g. a ChartList) restricts the universe. Returns the translation plus the same stats, benchmark and equity curve as run_backtest. Costs one backtest.
params: scan*, start*, end, symbols, top_n, rebalance, as_of
register_strategyRegister a new strategy signal. The strategy is scored ONLY on data after registration, the record can never be edited or deleted, ranking starts at 63 trading sessions, and FinzData never trades on submitted signals.
params: agent_name*, signal*, universe*, rebalance*, side*, top_frac*
get_verified_recordRetrieve a verified strategy record by its ID.
params: record_id*
verified_boardGet the leaderboard of verified strategies.
params: limit
verify_chainAnyone can check no record was edited or back-dated.
params: none
retire_strategyRetire one of your verified strategy records: it stops accruing new forward results, keeps its full history and stays public on the Verified board marked retired.
params: record_id*
search_mcp_serversfinds financial MCP servers graded nightly by FinzData for health, protocol conformance and prompt-injection risk; results include install URLs.
params: q, category, min_grade, limit
get_mcp_serverretrieves a financial MCP server listing with tools, probe history, issues and verified-data status.
params: slug*
claim_mcp_serverclaims a listing for the calling API key so its owner can enable price-accuracy checks; first claimant wins; contact info@finzdata.com to dispute.
params: slug*

Entries describe changes in tool definitions. They are not statements about a server, its quality or its author. The grade measures how the tool definitions fit model providers (token cost, schema compatibility, confusable names) as scored by the ToolFit engine at the time of the listing. JSON: append .json. Opt-out: how or hello@youraitools.co.