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.
Public 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 paramsGet 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 paramsResolve 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.
iidstringfigistringnamestringgvkeystringlimitnumbersedolstringtickerstringprofilestringstandard · minimalmodel_filterstringinclude_analysesbooleanapplication_filterstringsearch.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 paramsSearch for datasets and discover their constituent assets and available analyses. Returns datasets matching the query along with paginated asset lists and analysis information.
memostringnamestringlimitnumberprofilestringstandard · minimalasset_pagenumbermodel_filterstringasset_page_sizenumberapplication_filterstringsearch.asset_in_datasetCheck if a specific asset is a constituent of a dataset and retrieve available analyses for that combination.3 paramsCheck if a specific asset is a constituent of a dataset and retrieve available analyses for that combination.
tickerstringprofilestringstandard · minimaldataset_memostringsearch.analysesSearch for analyses by application, model, or memo. Returns flat results with full context for each analysis instance.8 paramsSearch for analyses by application, model, or memo. Returns flat results with full context for each analysis instance.
memostringpagenumberlimitnumbermodelstringprofilestringstandard · minimalapplicationstringticker_filterstringdataset_filterstringvolatility.getAnnualized volatility time series for an asset (GARCH-family models).8 paramsAnnualized volatility time series for an asset (GARCH-family models).
limitnumbermodelstringtickerstringprofilestringstandard · minimalend_datestringstart_datestringdataset_memostringanalysis_memostringliquidity.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 paramsGet liquidity time series data for an asset. Returns illiquidity measures from ILLIQ models. SMEM and MFMEM models also include long-term trend data.
limitnumbermodelstringtickerstringprofilestringstandard · minimalend_datestringstart_datestringdataset_memostringanalysis_memostringliquidity.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 paramsGet 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.
limitnumberprofilestringstandard · minimalend_datestringstart_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 paramsList 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 paramsGet 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 paramsGet assets with highest illiquidity ("hot") or fastest deteriorating liquidity ("heating"). Use to identify liquidity-stressed assets.
typestringhot · heatinglimitnumbersectorstringcountrystringprofilestringstandard · minimalvolatility.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 paramsGet 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).
datestringlimitnumberprofilestringstandard · minimalend_datestringcountriesarraystart_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 paramsGet 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).
datestringcountrystringprofilestringstandard · minimalindustrystringvolatility.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 paramsGet 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).
datestringcountrystringprofilestringstandard · minimalmarket_typestringvolatility.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 paramsGet 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.
countrystringprofilestringstandard · minimalindustrystringclimate_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 paramsList 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 paramsGet returns time series for a climate benchmark. Returns cumulative returns by default (base 100), or daily returns if cumulative=false.
profilestringstandard · minimalend_datestringbenchmarkstringcumulativebooleanstart_datestringclimate_benchmarks.volatilityGet annualized volatility time series for a climate benchmark.4 paramsGet annualized volatility time series for a climate benchmark.
profilestringstandard · minimalend_datestringbenchmarkstringstart_datestringclimate_benchmarks.correlationsGet correlation matrix between all available climate benchmarks.2 paramsGet correlation matrix between all available climate benchmarks.
windowstringprofilestringstandard · minimalsrisk.listList available SRISK (systemic risk) analyses with regions and coverage. Part of the SRISK hierarchy: `srisk.list` → `srisk.ranking` → `srisk.country` → `srisk.firm`.2 paramsList 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 paramsGet 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:...
datestringlimitnumbercountrystringprofilestringstandard · minimalrank_bystringaggregate_bystringfirm · country · region · marketanalysis_memostringchange_periodstring1m · 2m · 3m · 4m · 5m · 6minclude_changebooleansrisk.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 paramsGet 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`.
datestringlimitnumbercountrystringprofilestringstandard · minimalsort_bystringend_datestringfrequencystringM · Q · Ystart_datestringtime_seriesbooleananalysis_memostringsrisk.firmGet SRISK time series for a specific firm. Part of the SRISK hierarchy: `srisk.list` → `srisk.ranking` → `srisk.country` → `srisk.firm`.6 paramsGet SRISK time series for a specific firm. Part of the SRISK hierarchy: `srisk.list` → `srisk.ranking` → `srisk.country` → `srisk.firm`.
limitnumbertickerstringprofilestringstandard · minimalend_datestringstart_datestringanalysis_memostringsrisk.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 paramsGet 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.
limitnumberperiodstring1m · 2m · 3m · 4m · 5m · 6mcountrystringprofilestringstandard · minimaldirectionstringup · down · bothanalysis_memostringcrisk.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 paramsList 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 paramsGet 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...
datestringlimitnumbercountrystringprofilestringstandard · minimalrank_bystringaggregate_bystringfirm · country · region · marketanalysis_memostringchange_periodstring1m · 2m · 3m · 4m · 5m · 6minclude_changebooleancrisk.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 paramsGet 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`.
datestringlimitnumbercountrystringprofilestringstandard · minimalsort_bystringend_datestringfrequencystringM · Q · Ystart_datestringtime_seriesbooleananalysis_memostringcrisk.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 paramsGet 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`.
limitnumbertickerstringprofilestringstandard · minimalend_datestringstart_datestringanalysis_memostringcrisk.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 paramsGet 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.
limitnumberperiodstring1m · 2m · 3m · 4m · 5m · 6mcountrystringprofilestringstandard · minimaldirectionstringup · down · bothanalysis_memostringcovol.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 paramsList 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 paramsCOVOL 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 paramsGet Composite COVOL Index time series. Returns the systematic stress component (PC1) with daily factor loadings showing how each analysis contributes to market-wide stress.
limitnumberprofilestringstandard · minimalend_datestringstart_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 paramsGet 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.
limitnumberprofilestringstandard · minimalend_datestringstart_datestringcovol.getGet COVOL Index time series for a specific analysis. Use `covol.list` to discover the available analyses and their memo strings.5 paramsGet COVOL Index time series for a specific analysis. Use `covol.list` to discover the available analyses and their memo strings.
limitnumberprofilestringstandard · minimalend_datestringstart_datestringanalysis_memostringcovol.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 paramsGet asset loadings (factor sensitivities) for a COVOL analysis. Shows how much each asset contributes to common volatility, both equal-weighted and variance-weighted.
datestringprofilestringstandard · minimalanalysis_memostringcovol.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 paramsGet 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.
datestringlimitnumberprofilestringstandard · minimalanalysis_memostringlrvar.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 paramsCurrent 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.
tickerstringprofilestringstandard · minimallrvar.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 paramsLong-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.
limitnumbermodelstringtickerstringhorizonnumber30 · 365profilestringstandard · minimalend_datestringpercentilenumber1 · 5start_datestringdataset_memostringanalysis_memostringfeedback.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 paramsReport 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...
commentstringhelpfulbooleanmessagestringcategorystringbug_report · feature_request · data_request · rating · generaltool_namestringcom.mcparmory/google-sheets
domdomegg/google-sheets-mcp
henilcalagiya/google-sheets-mcp
cct15/war-dashboard-data
moooonad/mcp-google-sheets-full
io.github.br0ski777/csv-to-json