
V-Lab
Connects your AI assistant to NYU Stern's V-Lab research data via streamable HTTP. Exposes GARCH volatility, SRISK and CRISK systemic risk measures, liquidity composites, and climate benchmarks across 39,000+ firms and 90 markets. Every response ties back to a published V-Lab analysis, so you can cite the underlying research. Query by ticker, country, or sector in plain English. Uses OAuth through your V-Lab account, so no API key juggling. Reach for this when you need research-grade financial risk data without building scrapers or maintaining pipelines. Still pre-1.0, so the tool surface is expanding.
- tools
- 39
- transport
- HTTP
- last updated
- Oct 20, 2026
Tools
39 toolsPublic tool metadata for what this MCP can expose to an agent.
server.infoGet information about the V-Lab MCP server including capabilities, status, and available features1 params
Get information about the V-Lab MCP server including capabilities, status, and available features
profilestringstandard · minimalsearch.assetsResolve a financial asset by ticker, name, FIGI, SEDOL, or GVKEY. Returns compact results (ticker, name, active, last_result_date). Pass `include_analyses:true` for the full analyses catalog.11 params
Resolve a financial asset by ticker, name, FIGI, SEDOL, or GVKEY. Returns compact results (ticker, name, active, last_result_date). Pass `include_analyses:true` for the full analyses catalog.
application_filterstringfigistringgvkeystringiidstringinclude_analysesbooleanlimitnumbermodel_filterstringnamestringprofilestringstandard · minimalsedolstringtickerstringsearch.datasetsSearch for datasets and discover their constituent assets and available analyses. Returns datasets matching the query along with paginated asset lists and analysis information.8 params
Search for datasets and discover their constituent assets and available analyses. Returns datasets matching the query along with paginated asset lists and analysis information.
application_filterstringasset_pagenumberasset_page_sizenumberlimitnumbermemostringmodel_filterstringnamestringprofilestringstandard · minimalsearch.asset_in_datasetCheck if a specific asset is a constituent of a dataset and retrieve available analyses for that combination.3 params
Check if a specific asset is a constituent of a dataset and retrieve available analyses for that combination.
dataset_memostringprofilestringstandard · minimaltickerstringsearch.analysesSearch for analyses by application, model, or memo. Returns flat results with full context for each analysis instance.8 params
Search for analyses by application, model, or memo. Returns flat results with full context for each analysis instance.
applicationstringdataset_filterstringlimitnumbermemostringmodelstringpagenumberprofilestringstandard · minimalticker_filterstringvolatility.getAnnualized volatility time series for an asset (GARCH-family models).8 params
Annualized volatility time series for an asset (GARCH-family models).
analysis_memostringdataset_memostringend_datestringlimitnumbermodelstringprofilestringstandard · minimalstart_datestringtickerstringliquidity.getGet liquidity time series data for an asset. Returns illiquidity measures from ILLIQ models. SMEM and MFMEM models also include long-term trend data.8 params
Get liquidity time series data for an asset. Returns illiquidity measures from ILLIQ models. SMEM and MFMEM models also include long-term trend data.
analysis_memostringdataset_memostringend_datestringlimitnumbermodelstringprofilestringstandard · minimalstart_datestringtickerstringliquidity.illiq_compositeGet the ILLIQ Composite market-wide liquidity index. This time series shows aggregate market liquidity conditions based on market-cap weighted average of individual ILLIQ measures. Higher values indicate less liquid markets.4 params
Get the ILLIQ Composite market-wide liquidity index. This time series shows aggregate market liquidity conditions based on market-cap weighted average of individual ILLIQ measures. Higher values indicate less liquid markets.
end_datestringlimitnumberprofilestringstandard · minimalstart_datestringliquidity.list_change_countriesList countries that have aggregated sector-change data — the input universe for `liquidity.changes`. Returns each country with its asset count. Note: this is not the universe of every country with ILLIQ coverage; per-asset tools like `liquidity.get` and `liquidity.movers` work...1 params
List countries that have aggregated sector-change data — the input universe for `liquidity.changes`. Returns each country with its asset count. Note: this is not the universe of every country with ILLIQ coverage; per-asset tools like `liquidity.get` and `liquidity.movers` work...
profilestringstandard · minimalliquidity.changesGet sector-level liquidity statistics for a country. Shows which GICS sectors are experiencing liquidity stress (deteriorating) or improvement.3 params
Get sector-level liquidity statistics for a country. Shows which GICS sectors are experiencing liquidity stress (deteriorating) or improvement.
countrystringprofilestringstandard · minimalsort_bystringliquidity.moversGet assets with highest illiquidity ("hot") or fastest deteriorating liquidity ("heating"). Use to identify liquidity-stressed assets.5 params
Get assets with highest illiquidity ("hot") or fastest deteriorating liquidity ("heating"). Use to identify liquidity-stressed assets.
countrystringlimitnumberprofilestringstandard · minimalsectorstringtypestringhot · heatingvolatility.global_mapGet relative volatility percentiles for all countries. Supports single-date snapshots OR time series with `start_date`/`end_date`. Data available from 1990 to present. Drill down: `volatility.country.get` (sectors) or `volatility.country.summary` (key indices).6 params
Get relative volatility percentiles for all countries. Supports single-date snapshots OR time series with `start_date`/`end_date`. Data available from 1990 to present. Drill down: `volatility.country.get` (sectors) or `volatility.country.summary` (key indices).
countriesarraydatestringend_datestringlimitnumberprofilestringstandard · minimalstart_datestringvolatility.country.getGet GICS sector/industry volatility breakdown for a specific country. Without `industry` param: returns sectors. With `industry` param (e.g. `"20"`): returns sub-industries. Drill down: `volatility.country.industries` (individual assets within an industry).4 params
Get GICS sector/industry volatility breakdown for a specific country. Without `industry` param: returns sectors. With `industry` param (e.g. `"20"`): returns sub-industries. Drill down: `volatility.country.industries` (individual assets within an industry).
countrystringdatestringindustrystringprofilestringstandard · minimalvolatility.country.summaryGet market summary for a country showing key indices with current volatility levels and changes, grouped by market type (Equities, Currencies, etc.). Drill down: `volatility.get` (full time series for any asset).4 params
Get market summary for a country showing key indices with current volatility levels and changes, grouped by market type (Equities, Currencies, etc.). Drill down: `volatility.get` (full time series for any asset).
countrystringdatestringmarket_typestringprofilestringstandard · minimalvolatility.country.industriesGet individual assets within a GICS industry for a country, with relative volatility percentiles and levels. Use after `volatility.country.get` to drill down from sector/industry to individual assets. Part of the volatility hierarchy.3 params
Get individual assets within a GICS industry for a country, with relative volatility percentiles and levels. Use after `volatility.country.get` to drill down from sector/industry to individual assets. Part of the volatility hierarchy.
countrystringindustrystringprofilestringstandard · minimalclimate_benchmarks.listList available climate risk benchmarks. These are V-Lab's proprietary climate factor portfolios including Stranded Assets, Emissions Factor, Oil Beta Factor, and Subsidy Factor.1 params
List available climate risk benchmarks. These are V-Lab's proprietary climate factor portfolios including Stranded Assets, Emissions Factor, Oil Beta Factor, and Subsidy Factor.
profilestringstandard · minimalclimate_benchmarks.returnsGet returns time series for a climate benchmark. Returns cumulative returns by default (base 100), or daily returns if cumulative=false.5 params
Get returns time series for a climate benchmark. Returns cumulative returns by default (base 100), or daily returns if cumulative=false.
benchmarkstringcumulativebooleanend_datestringprofilestringstandard · minimalstart_datestringclimate_benchmarks.volatilityGet annualized volatility time series for a climate benchmark.4 params
Get annualized volatility time series for a climate benchmark.
benchmarkstringend_datestringprofilestringstandard · minimalstart_datestringclimate_benchmarks.correlationsGet correlation matrix between all available climate benchmarks.2 params
Get correlation matrix between all available climate benchmarks.
profilestringstandard · minimalwindowstringsrisk.listList available SRISK (systemic risk) analyses with regions and coverage. Part of the SRISK hierarchy: `srisk.list` → `srisk.ranking` → `srisk.country` → `srisk.firm`.2 params
List available SRISK (systemic risk) analyses with regions and coverage. Part of the SRISK hierarchy: `srisk.list` → `srisk.ranking` → `srisk.country` → `srisk.firm`.
profilestringstandard · minimalregion_filterstringsrisk.rankingGet top entities ranked by SRISK (systemic risk). Can rank firms (default), countries, regions (continents), or markets. Includes concentration metrics (HHI, top-N share). Part of the SRISK hierarchy: `srisk.list` → `srisk.ranking` → `srisk.country` → `srisk.firm`. Data note:...9 params
Get top entities ranked by SRISK (systemic risk). Can rank firms (default), countries, regions (continents), or markets. Includes concentration metrics (HHI, top-N share). Part of the SRISK hierarchy: `srisk.list` → `srisk.ranking` → `srisk.country` → `srisk.firm`. Data note:...
aggregate_bystringfirm · country · region · marketanalysis_memostringchange_periodstring1m · 2m · 3m · 4m · 5m · 6mcountrystringdatestringinclude_changebooleanlimitnumberprofilestringstandard · minimalrank_bystringsrisk.countryGet SRISK data for a specific country. Returns either firm rankings (default) or country-level time series with `time_series=true`. Part of the SRISK hierarchy: `srisk.list` → `srisk.ranking` → `srisk.country` → `srisk.firm`.10 params
Get SRISK data for a specific country. Returns either firm rankings (default) or country-level time series with `time_series=true`. Part of the SRISK hierarchy: `srisk.list` → `srisk.ranking` → `srisk.country` → `srisk.firm`.
analysis_memostringcountrystringdatestringend_datestringfrequencystringM · Q · Ylimitnumberprofilestringstandard · minimalsort_bystringstart_datestringtime_seriesbooleansrisk.firmGet SRISK time series for a specific firm. Part of the SRISK hierarchy: `srisk.list` → `srisk.ranking` → `srisk.country` → `srisk.firm`.6 params
Get SRISK time series for a specific firm. Part of the SRISK hierarchy: `srisk.list` → `srisk.ranking` → `srisk.country` → `srisk.firm`.
analysis_memostringend_datestringlimitnumberprofilestringstandard · minimalstart_datestringtickerstringsrisk.moversGet firms with largest SRISK changes over a period. Returns top increases and/or decreases with change attribution (debt/equity/risk breakdown). Part of the SRISK hierarchy for identifying risk trends.6 params
Get firms with largest SRISK changes over a period. Returns top increases and/or decreases with change attribution (debt/equity/risk breakdown). Part of the SRISK hierarchy for identifying risk trends.
analysis_memostringcountrystringdirectionstringup · down · bothlimitnumberperiodstring1m · 2m · 3m · 4m · 5m · 6mprofilestringstandard · minimalcrisk.listList available CRISK (climate risk) analyses with coverage. CRISK is the climate-stress analog of SRISK, measuring expected capital shortfall under a climate-risk factor shock. Part of the CRISK hierarchy: `crisk.list` → `crisk.ranking` → `crisk.country` → `crisk.firm`.1 params
List available CRISK (climate risk) analyses with coverage. CRISK is the climate-stress analog of SRISK, measuring expected capital shortfall under a climate-risk factor shock. Part of the CRISK hierarchy: `crisk.list` → `crisk.ranking` → `crisk.country` → `crisk.firm`.
profilestringstandard · minimalcrisk.rankingGet top entities ranked by CRISK (climate-stress capital shortfall). Can rank firms (default), countries, regions (continents), or markets. Includes concentration metrics (HHI, top-N share). Part of the CRISK hierarchy: `crisk.list` → `crisk.ranking` → `crisk.country` → `crisk...9 params
Get top entities ranked by CRISK (climate-stress capital shortfall). Can rank firms (default), countries, regions (continents), or markets. Includes concentration metrics (HHI, top-N share). Part of the CRISK hierarchy: `crisk.list` → `crisk.ranking` → `crisk.country` → `crisk...
aggregate_bystringfirm · country · region · marketanalysis_memostringchange_periodstring1m · 2m · 3m · 4m · 5m · 6mcountrystringdatestringinclude_changebooleanlimitnumberprofilestringstandard · minimalrank_bystringcrisk.countryGet CRISK data for a specific country. Returns either firm rankings (default) or country-level time series with `time_series=true`. Part of the CRISK hierarchy: `crisk.list` → `crisk.ranking` → `crisk.country` → `crisk.firm`.10 params
Get CRISK data for a specific country. Returns either firm rankings (default) or country-level time series with `time_series=true`. Part of the CRISK hierarchy: `crisk.list` → `crisk.ranking` → `crisk.country` → `crisk.firm`.
analysis_memostringcountrystringdatestringend_datestringfrequencystringM · Q · Ylimitnumberprofilestringstandard · minimalsort_bystringstart_datestringtime_seriesbooleancrisk.firmGet CRISK time series for a specific firm. CRISK is computed from components (climate beta, market cap, book assets, book equity) using a 50% climate stress shock. Part of the CRISK hierarchy: `crisk.list` → `crisk.ranking` → `crisk.country` → `crisk.firm`.6 params
Get CRISK time series for a specific firm. CRISK is computed from components (climate beta, market cap, book assets, book equity) using a 50% climate stress shock. Part of the CRISK hierarchy: `crisk.list` → `crisk.ranking` → `crisk.country` → `crisk.firm`.
analysis_memostringend_datestringlimitnumberprofilestringstandard · minimalstart_datestringtickerstringcrisk.moversGet firms with largest CRISK changes over a period. Returns top increases and/or decreases with change attribution (debt/equity/risk breakdown). Part of the CRISK hierarchy for identifying climate risk trends.6 params
Get firms with largest CRISK changes over a period. Returns top increases and/or decreases with change attribution (debt/equity/risk breakdown). Part of the CRISK hierarchy for identifying climate risk trends.
analysis_memostringcountrystringdirectionstringup · down · bothlimitnumberperiodstring1m · 2m · 3m · 4m · 5m · 6mprofilestringstandard · minimalcovol.listList available COVOL (common volatility) analyses with coverage. COVOL extracts a synchronized-stress factor from the cross-section of daily returns within each dataset. Each analysis covers a different universe (e.g., country ETFs, asset classes, commodities). Part of the COV...1 params
List available COVOL (common volatility) analyses with coverage. COVOL extracts a synchronized-stress factor from the cross-section of daily returns within each dataset. Each analysis covers a different universe (e.g., country ETFs, asset classes, commodities). Part of the COV...
profilestringstandard · minimalcovol.summaryCOVOL stress snapshot: composite PC1 plus per-analysis levels across every available COVOL analysis.1 params
COVOL stress snapshot: composite PC1 plus per-analysis levels across every available COVOL analysis.
profilestringstandard · minimalcovol.compositeGet Composite COVOL Index time series. Returns the systematic stress component (PC1) with daily factor loadings showing how each analysis contributes to market-wide stress.4 params
Get Composite COVOL Index time series. Returns the systematic stress component (PC1) with daily factor loadings showing how each analysis contributes to market-wide stress.
end_datestringlimitnumberprofilestringstandard · minimalstart_datestringcovol.cavGet COVOL-Adjusted Volatility (CAV) time series for each analysis and aggregate (ACAV). CAV is the annualized risk of the common factor within each analysis. ACAV combines all four into a single portfolio-level risk metric.4 params
Get COVOL-Adjusted Volatility (CAV) time series for each analysis and aggregate (ACAV). CAV is the annualized risk of the common factor within each analysis. ACAV combines all four into a single portfolio-level risk metric.
end_datestringlimitnumberprofilestringstandard · minimalstart_datestringcovol.getGet COVOL Index time series for a specific analysis. Use `covol.list` to discover the available analyses and their memo strings.5 params
Get COVOL Index time series for a specific analysis. Use `covol.list` to discover the available analyses and their memo strings.
analysis_memostringend_datestringlimitnumberprofilestringstandard · minimalstart_datestringcovol.loadingsGet asset loadings (factor sensitivities) for a COVOL analysis. Shows how much each asset contributes to common volatility, both equal-weighted and variance-weighted.3 params
Get asset loadings (factor sensitivities) for a COVOL analysis. Shows how much each asset contributes to common volatility, both equal-weighted and variance-weighted.
analysis_memostringdatestringprofilestringstandard · minimalcovol.eventsGet top COVOL events (highest stress dates) for an analysis with z-scores and event descriptions. Events include major market crashes, geopolitical events, and policy shocks.4 params
Get top COVOL events (highest stress dates) for an analysis with z-scores and event descriptions. Events include major market crashes, geopolitical events, and policy shocks.
analysis_memostringdatestringlimitnumberprofilestringstandard · minimallrvar.summaryCurrent Long-Run VaR across all horizons and percentiles (decimals, e.g., -0.1435 = 14.35% loss). Returns LRGJRF (return-series) and/or LRGJROF (options-augmented) where available.2 params
Current Long-Run VaR across all horizons and percentiles (decimals, e.g., -0.1435 = 14.35% loss). Returns LRGJRF (return-series) and/or LRGJROF (options-augmented) where available.
profilestringstandard · minimaltickerstringlrvar.getLong-Run VaR time series for an analysis (decimals, e.g., -0.1435 = 14.35% loss). Horizons: 30d (tactical) or 365d (strategic). Percentiles: 1 or 5.10 params
Long-Run VaR time series for an analysis (decimals, e.g., -0.1435 = 14.35% loss). Horizons: 30d (tactical) or 365d (strategic). Percentiles: 1 or 5.
analysis_memostringdataset_memostringend_datestringhorizonnumber30 · 365limitnumbermodelstringpercentilenumber1 · 5profilestringstandard · minimalstart_datestringtickerstringfeedback.submitReport feedback on V-Lab MCP to help improve the server. TWO SHAPES ARE SUPPORTED: 1. Tool rating — pass tool_name + helpful (+ optional message): { tool_name: "volatility.get", helpful: true, message: "Data was clear and correct" } { tool_name: "srisk.ranking", helpful: false...5 params
Report feedback on V-Lab MCP to help improve the server. TWO SHAPES ARE SUPPORTED: 1. Tool rating — pass tool_name + helpful (+ optional message): { tool_name: "volatility.get", helpful: true, message: "Data was clear and correct" } { tool_name: "srisk.ranking", helpful: false...
categorystringbug_report · feature_request · data_request · rating · generalcommentstringhelpfulbooleanmessagestringtool_namestringSponsors
Details
- Website
- vlab.stern.nyu.edu/setup-mcp
- Category
- Data & Analytics
- Transport
- HTTP
- Registry
- MCP registry, active