AIDEVELOPER TOOLS

Climate Financial Stranded Asset MCP Server

Climate financial stranded asset analysis for AI agents — this MCP server gives any LLM client direct access to eight quantitative climate risk tools covering carbon asset stranding, portfolio climate VaR, physical hazard exposure, biodiversity-financial coupling, transition contagion, and full TCFD reporting. It is built for investment analysts, risk teams, and sustainability professionals who need institutional-grade climate metrics without constructing the data infrastructure themselves.

Try on Apify Store
$0.08per event
0
Users (30d)
0
Runs (30d)
90
Actively maintained
Maintenance Pulse
$0.08
Per event

Maintenance Pulse

90/100
Last Build
Today
Last Version
1d ago
Builds (30d)
8
Issue Response
N/A

Cost Estimate

How many results do you need?

compute-stranding-probabilitys
Estimated cost:$8.00

Pricing

Pay Per Event model. You only pay for what you use.

EventDescriptionPrice
compute-stranding-probabilityReal options with regime switching for carbon assets$0.08
simulate-climate-varMonte Carlo with GPD tail fitting$0.08
assess-physical-riskSpatial overlay of hazard maps on facilities$0.06
compute-biodiversity-riskTNFD nature dependency risk coupling$0.06
model-transition-contagionClimate-adjusted DebtRank propagation$0.08
score-transition-alignmentDTW on emissions vs IPCC pathways$0.06
analyze-carbon-exposurePortfolio carbon intensity analysis$0.06
generate-tcfd-reportFull TCFD climate risk report$0.12

Example: 100 events = $8.00 · 1,000 events = $80.00

Connect to your AI agent

Add this MCP server to Claude Desktop, Cursor, Windsurf, or any MCP-compatible client.

MCP Endpoint
https://ryanclinton--climate-financial-stranded-asset-mcp.apify.actor/mcp
Claude Desktop Config
{
  "mcpServers": {
    "climate-financial-stranded-asset-mcp": {
      "url": "https://ryanclinton--climate-financial-stranded-asset-mcp.apify.actor/mcp"
    }
  }
}

Documentation

Climate financial stranded asset analysis for AI agents — this MCP server gives any LLM client direct access to eight quantitative climate risk tools covering carbon asset stranding, portfolio climate VaR, physical hazard exposure, biodiversity-financial coupling, transition contagion, and full TCFD reporting. It is built for investment analysts, risk teams, and sustainability professionals who need institutional-grade climate metrics without constructing the data infrastructure themselves.

The server orchestrates 14 live data sources — SEC EDGAR, FRED, World Bank, OECD, Eurostat, IMF, OpenAQ, IUCN Red List, GBIF, UN COMTRADE, OpenCorporates, GLEIF, Nominatim, and SEC insider filings — and applies six quantitative algorithms to produce TCFD-aligned output. Connect once via the Model Context Protocol and every supported AI client can call all eight tools without additional setup.

What data can you extract?

Data PointSourceExample
📊 Carbon asset stranding probabilityMarkov regime-switching Monte CarloXOM: 73% stranding prob, $2.1B expected loss
📉 Portfolio climate VaR at 99% confidenceMonte Carlo (10,000 paths) + GPD tails$485M VaR99, $612M Expected Shortfall
🏭 Physical hazard exposure by facilitySpatial lat/lng overlay + OpenAQMidland TX refinery: 34% composite risk score
🌿 Biodiversity-financial risk (TNFD)IUCN Red List + GBIF occurrence trendsAgriculture co: "high" TNFD category, 12 VU species
🔗 Transition contagion amplification factorClimate-adjusted DebtRank propagation3.2x amplification across 8-node exposure network
📐 Emissions trajectory alignment scoreDynamic Time Warping vs IEA/IPCC pathwaysAlignment score 0.41, gap years: 2026, 2027, 2029
💨 Scope 1/2/3 carbon exposure analysisSEC EDGAR + sector benchmarks850 tCO2e/$M vs sector avg 720, 18% above benchmark
📋 TCFD findings across 4 governance pillarsAggregated from all tools3 critical findings, overall risk rating: "high"
🌐 SEC corporate climate filingsSEC EDGAR + SEC insider filing analyzerClimate disclosures, emissions data per company
📡 Real-time air quality monitoring (PM2.5, AQI)OpenAQLive AQI at facility coordinates (200km radius)
🐾 Biodiversity threat assessmentsIUCN Red ListVU/EN/CR species status and GBIF population trends
📈 Carbon pricing policy dataOECD, World Bank, EurostatEU ETS price series, carbon tax schedules
🏢 Corporate registry and legal entity dataOpenCorporates + GLEIF LEISubsidiary mapping for financial exposure networks
📉 Macro economic indicatorsFRED, IMF, World BankOil price series (WTI), energy CPI, GDP data

Why use the Climate Financial Stranded Asset MCP Server?

Building climate risk quantification from scratch requires sourcing data from a dozen APIs, implementing actuarial models, and maintaining the pipeline as the underlying data changes. A single stranded asset analysis for a 10-stock portfolio can take a senior analyst two to three days using Excel and point-in-time data. Getting to TCFD-compliant output typically requires an expensive vendor — MSCI Climate, Sustainalytics, or S&P Trucost — or months of internal model development costing well over $50,000 annually.

This MCP server reduces that to a single tool call. An AI agent connected via MCP can generate a full TCFD report, run Monte Carlo climate VaR, identify stranding probabilities, and map physical hazard exposure in one conversation — using the same algorithms institutional risk desks rely on.

  • Scheduling — run climate risk assessments daily, quarterly, or on custom intervals to track portfolio exposure as policy signals evolve
  • API access — trigger tool calls from Python, JavaScript, Claude Desktop, Cursor, or any MCP-compatible HTTP client
  • 14 live data sources — all underlying actor calls use fresh public API data with no stale cache
  • Monitoring — get Slack or email alerts when runs fail or produce unexpected results via Apify platform integrations
  • Integrations — connect output to Zapier, Make, Google Sheets, or webhooks to feed downstream risk workflows

Features

  • Carbon asset stranding probability via real options with Markov regime switching — models asset values under two carbon price regimes (current policy: $30–$70/tCO2e over 21 years; net zero: $30–$600/tCO2e) with a Markov transition matrix (8% annual probability of transitioning to net zero regime, 3% reversion probability), running up to 5,000 Monte Carlo paths to derive book-value-weighted stranding probabilities and early-divestment real option values per asset
  • Monte Carlo portfolio climate VaR with Generalized Pareto Distribution tail fitting — runs up to 10,000 simulations across three correlated risk factors (carbon price shock volatility 0.4, energy cost shock 0.25, regulatory shock 0.15), fits GPD tails using method-of-moments estimation above the 95th-percentile threshold, and reports VaR and Expected Shortfall at 95%, 99%, and 99.5% confidence levels
  • Spatial physical hazard overlay across 7 hazard types — overlays earthquake (Ring of Fire and tectonic boundaries), flood (coastal/river proximity by latitude/longitude zone), wildfire (30–45° and 10–25° dry latitude bands), hurricane (tropical warm ocean basins), drought, sea level rise, and live air quality (OpenAQ PM2.5 within 200km via Haversine distance) against facility coordinates; composite risk = sum(hazard_probability × asset_value × vulnerability_factor)
  • TNFD biodiversity-financial risk coupling for 10 ecosystem services — scores pollination, water purification, soil formation, climate regulation, flood protection, carbon sequestration, nutrient cycling, pest control, raw materials, and genetic resources using sector-level dependency intensity tables, IUCN Red List threat scores (LC=0.1 to EX=1.0), and GBIF population trend data; produces TNFD risk categories (negligible/low/moderate/high/very_high) per entity
  • Climate-adjusted DebtRank for systemic transition contagion — propagates carbon price shocks through a user-defined financial exposure network; initial shock = carbonIntensity × carbonPriceIncrease × fossilRevenueShare; stress propagates with climate correlation adjustment (entities sharing high carbon intensity amplify each other's distress); returns amplification factor, per-node climate debt rank, and iterations to convergence
  • Dynamic Time Warping emissions trajectory alignment — compares normalized company emissions trajectories (first year indexed to 100) against IEA Net Zero (reaching 0 by 2050) or IPCC 1.5C reference pathways; DTW distance computed via D(i,j) = cost(i,j) + min(D(i-1,j), D(i,j-1), D(i-1,j-1)); alignment score = 1/(1 + DTW_distance/path_length); identifies gap years where entity emissions exceed reference by more than 20%
  • Sector carbon intensity benchmarking across 14 sectors — energy: 850, oil_gas: 950, utilities: 720, mining: 600, chemicals: 380, transportation: 310, agriculture: 290, materials: 480, industrials: 220, real estate: 95, consumer staples: 120, healthcare: 45, technology: 30, communication services: 20 tCO2e/$M revenue
  • TCFD-structured reporting across 4 pillars — aggregates all analysis dimensions into governance, strategy, risk management, and metrics/targets findings with severity ratings (low/medium/high/critical) and quantitative recommendations
  • Seeded Monte Carlo for reproducibility — uses a linear congruential generator (seed default: 42) with Box-Muller normal sampling so simulation results are reproducible across runs with identical inputs
  • Parallel actor orchestration across 14 data sources — underlying calls to SEC EDGAR, World Bank, FRED, IUCN, GBIF, OpenAQ, and other sources run concurrently via Promise.all, minimizing total latency
  • Standby mode (always-on MCP endpoint) — runs in Apify Standby mode at the /mcp endpoint, eliminating cold-start latency for interactive agent sessions

Use cases for climate financial stranded asset analysis

Investment portfolio stress testing

Asset managers and risk officers need to quantify how transition scenarios affect portfolio value before regulatory stress tests or internal risk reviews. Connect this MCP server to your analysis workflow, pass in a list of equity positions with their carbon intensity and fossil revenue share, and receive Monte Carlo VaR figures at 95%, 99%, and 99.5% confidence alongside per-asset stranding probabilities — all calibrated to IEA and IPCC carbon price pathways. A full 10-asset analysis runs in under two minutes.

TCFD and SFDR climate disclosure

Sustainability teams preparing TCFD Task Force disclosures or SFDR Article 8/9 fund reporting need structured climate risk findings across all four TCFD pillars. The generate_tcfd_report tool aggregates stranding probability, climate VaR, physical risk, biodiversity exposure, and emissions alignment into a single TCFD-structured report with severity ratings and actionable recommendations — giving sustainability teams a documented, quantitative starting point for board-level review.

Physical asset and infrastructure risk mapping

Infrastructure investors, insurers, and corporate risk teams assessing physical climate exposure can geocode facility addresses or pass coordinates directly to assess_physical_risk and receive multi-hazard composite risk scores overlaid with live air quality data. The tool identifies the dominant hazard type across a portfolio and ranks facilities by composite expected loss — useful for prioritizing adaptation capital expenditure.

Net-zero alignment and shareholder engagement

ESG research firms and engagement teams tracking corporate emissions trajectories against science-based targets can use score_transition_alignment to compare historical emissions series against IEA Net Zero or IPCC 1.5C reference pathways using Dynamic Time Warping distance. The output identifies specific gap years where an entity's trajectory deviates more than 20% from the reference, providing a defensible alignment score for shareholder engagement letters and proxy voting decisions.

Systemic climate risk and financial contagion modelling

Central banks, financial stability boards, and academic researchers modelling systemic transition risk can use model_transition_contagion to propagate a carbon price shock through a financial exposure network using the climate-adjusted DebtRank algorithm. Input the network of entity financial exposures, specify the carbon price increase, and receive amplification factors, per-node stress levels, and convergence data — output consistent with FSB and BIS climate stress-test methodologies.

Biodiversity and nature risk for TNFD reporting

Companies preparing Taskforce on Nature-related Financial Disclosures reports need to quantify their dependencies on ecosystem services. The compute_biodiversity_risk tool pulls IUCN Red List threat status and GBIF species occurrence trends for the geography of operations, scores 10 ecosystem service dependencies by sector, and assigns a TNFD risk category — giving sustainability teams a defensible, data-backed starting point for nature-related disclosure.

How to use the climate financial stranded asset MCP server

  1. Connect to your AI client — add the MCP server URL https://climate-financial-stranded-asset-mcp.apify.actor/mcp to Claude Desktop, Cursor, or any MCP-compatible client using the JSON config below. No code is required.
  2. Describe your portfolio — tell your AI agent which companies to analyze, their sectors, and what carbon intensity data you have. For physical risk, include facility addresses or coordinates. The agent calls the appropriate tools automatically.
  3. Run the analysis — the agent calls the relevant tools in sequence or parallel. A full TCFD report for a 10-asset portfolio typically takes 60–120 seconds. A single carbon exposure analysis returns in under 15 seconds.
  4. Review and export results — output is structured JSON returned directly in the conversation. Ask the agent to format findings as a table, extract specific metrics, or push results to a downstream system via webhook.

Connect via Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "climate-stranded-asset": {
      "type": "http",
      "url": "https://climate-financial-stranded-asset-mcp.apify.actor/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_APIFY_TOKEN"
      }
    }
  }
}

Connect via Cursor or any MCP client

Use the endpoint https://climate-financial-stranded-asset-mcp.apify.actor/mcp with a Bearer token header containing your Apify API token.

Input parameters

This is an MCP server with no traditional actor input. All parameters are passed as tool call arguments by the AI agent. The server exposes 8 tools:

ToolKey ParametersDescription
compute_stranding_probabilityassets[], discountRate, numPathsArray of AssetPosition objects. Each requires ticker, name, sector, bookValue, marketValue, carbonIntensity (tCO2e/$M revenue), fossilRevenueShare (0–1), annualEmissions (tCO2e). Optional: lat, lng, jurisdiction. Default: discountRate=0.05, numPaths=5000.
simulate_climate_varassets[], numSimulations, carbonPriceVolatility, energyCostVolatility, regulatoryVolatilitySame AssetPosition array. numSimulations default 10,000. Volatility defaults: carbon 0.4, energy 0.25, regulatory 0.15.
assess_physical_riskfacilities[]Array of facility objects: name, lat, lng, assetValue (USD), facilityType. Provide address instead of coordinates to trigger Nominatim geocoding.
compute_biodiversity_riskentities[], species[], regionEach entity requires name, sector, revenue, locations[] (lat/lng array). species and region are optional — defaults to pollinator, mangrove, coral, and forest queries.
model_transition_contagionentities[], carbonPriceIncreaseEach entity requires name, carbonIntensity, fossilRevenueShare, economicValue, exposures[] (target + amount). carbonPriceIncrease in USD/tCO2e, default 100.
score_transition_alignmententities[], referencePathwayEach entity requires name and emissionsHistory[] (array of {year, scope1, scope2, scope3?}). referencePathway: "IEA_NZ" or "IPCC_15C".
analyze_carbon_exposureassets[], carbonPriceSame AssetPosition array. carbonPrice in USD/tCO2e for cost calculation, default 50.
generate_tcfd_reportassets[], facilities[], emissionsHistory[], carbonPrice, carbonPriceIncreaseFull portfolio data. Runs all six algorithms internally and aggregates findings across all four TCFD pillars.

AssetPosition schema (used by 4 tools)

FieldTypeRequiredDescription
tickerstringYesStock ticker symbol (e.g. "CVX")
namestringYesCompany name
sectorstringYesSector key — see 14-sector benchmark table in Features
bookValuenumberYesBook value in USD
marketValuenumberYesMarket value in USD
carbonIntensitynumberYestCO2e per $M revenue
fossilRevenueSharenumberYesFraction of revenue from fossil fuels (0–1)
annualEmissionsnumberYesTotal annual emissions in tCO2e
latnumberNoFacility latitude for physical risk overlay
lngnumberNoFacility longitude
jurisdictionstringNoRegulatory jurisdiction (e.g. "US", "EU")

Input examples

Single asset stranding probability check:

{
  "assets": [
    {
      "ticker": "CVX",
      "name": "Chevron Corporation",
      "sector": "oil_gas",
      "bookValue": 156000000000,
      "marketValue": 295000000000,
      "carbonIntensity": 920,
      "fossilRevenueShare": 0.95,
      "annualEmissions": 58000000,
      "lat": 37.8,
      "lng": -122.3,
      "jurisdiction": "US"
    }
  ],
  "discountRate": 0.05,
  "numPaths": 5000
}

Portfolio climate VaR with two assets and custom volatility:

{
  "assets": [
    {
      "ticker": "NEE",
      "name": "NextEra Energy",
      "sector": "utilities",
      "bookValue": 42000000000,
      "marketValue": 110000000000,
      "carbonIntensity": 280,
      "fossilRevenueShare": 0.35,
      "annualEmissions": 8200000
    },
    {
      "ticker": "RIO",
      "name": "Rio Tinto",
      "sector": "mining",
      "bookValue": 32000000000,
      "marketValue": 98000000000,
      "carbonIntensity": 580,
      "fossilRevenueShare": 0.4,
      "annualEmissions": 27000000
    }
  ],
  "numSimulations": 10000,
  "carbonPriceVolatility": 0.45,
  "energyCostVolatility": 0.30,
  "regulatoryVolatility": 0.20
}

Physical risk for three facilities across different geographies:

{
  "facilities": [
    {
      "name": "Permian Basin Refinery",
      "lat": 31.8,
      "lng": -102.4,
      "assetValue": 2400000000,
      "facilityType": "refinery"
    },
    {
      "name": "Gulf Coast LNG Terminal",
      "lat": 29.7,
      "lng": -93.8,
      "assetValue": 890000000,
      "facilityType": "lng_terminal"
    },
    {
      "name": "Rotterdam Petrochemical Plant",
      "lat": 51.9,
      "lng": 4.4,
      "assetValue": 1100000000,
      "facilityType": "petrochemical"
    }
  ]
}

Input tips

  • Use market value, not book value, for carbon intensity calibration — the model assumes a 12% revenue yield on market value; carbon intensity expressed as tCO2e per $M revenue should match that scale
  • Provide lat/lng directly for physical risk accuracy — the spatial hazard overlay produces more reliable composite risk scores when exact coordinates are provided rather than relying on Nominatim geocoding from a text address
  • Pass all portfolio assets in a single call — Monte Carlo climate VaR is more accurate at portfolio level when all positions are processed together, as correlated shocks are modelled across the whole portfolio simultaneously
  • Use sector names that match the benchmark table — recognized sectors include energy, utilities, materials, industrials, oil_gas, mining, chemicals, transportation, agriculture, financials, technology, healthcare, real_estate, and communication_services; unrecognized sectors fall back to the default benchmark (150 tCO2e/$M revenue)
  • For TCFD reports, use generate_tcfd_report as a single call — it runs all six algorithms internally; no need to call individual tools first

Output example

Full TCFD report output for a mixed-sector portfolio:

{
  "tool": "generate_tcfd_report",
  "result": {
    "overallClimateRisk": "high",
    "climateRiskScore": 72,
    "strandingProbability": 0.61,
    "climateVaR99": 487200000,
    "physicalRisk": 143800000,
    "transitionRisk": 0.68,
    "alignmentScore": 0.38,
    "findings": [
      {
        "category": "strategy",
        "subcategory": "transition_risk",
        "finding": "Portfolio stranding probability of 61% exceeds the 50% high-risk threshold. CVX and XOM contribute 78% of total expected loss under net-zero transition.",
        "severity": "critical",
        "recommendation": "Reduce fossil revenue share exposure by 15–20% through divestment of highest-stranding-probability assets. Redeploy capital into positions with fossilRevenueShare < 0.2."
      },
      {
        "category": "metrics_targets",
        "subcategory": "carbon_exposure",
        "finding": "Portfolio weighted-average carbon intensity of 685 tCO2e/$M revenue is 2.9x the sector peer median of 238. Scope 3 emissions represent an estimated 67% of total footprint.",
        "severity": "high",
        "recommendation": "Set Scope 3 reduction targets aligned with SBTi FLAG methodology. Engage top 5 suppliers representing 43% of Scope 3 on emissions reduction roadmaps."
      },
      {
        "category": "risk_management",
        "subcategory": "physical_risk",
        "finding": "Gulf Coast LNG Terminal faces composite physical risk of 38.4% of asset value driven by hurricane (18.2%) and sea level rise (12.1%) hazards. OpenAQ AQI of 142 adds regulatory exposure.",
        "severity": "high",
        "recommendation": "Commission site-specific resilience assessment for Gulf Coast terminal. Model 1m and 2m sea level rise scenarios against current flood barrier specifications."
      },
      {
        "category": "governance",
        "subcategory": "disclosure",
        "finding": "Emissions trajectory alignment score of 0.38 indicates significant divergence from IEA Net Zero pathway. Gap years identified: 2026, 2027, 2029, 2031.",
        "severity": "medium",
        "recommendation": "Establish board-level climate risk committee with quarterly reporting cadence. Integrate DTW alignment score into executive compensation scorecard."
      }
    ],
    "recommendations": [
      "Divest assets with strandingProbability > 0.65 within 18 months to reduce transition risk",
      "Implement climate VaR limit of $400M at 99% confidence; current exposure $487M exceeds limit",
      "Begin TNFD nature-related disclosure for agriculture and mining portfolio companies in FY2026",
      "Set internal carbon price of $80/tCO2e for capital allocation decisions"
    ]
  }
}

Output fields

FieldTypeDescription
overallClimateRiskstringTCFD aggregate risk rating: low, medium, high, or critical
climateRiskScorenumberComposite score 0–100 across all climate dimensions
strandingProbabilitynumberPortfolio book-value-weighted stranding probability (0–1)
climateVaR99numberPortfolio climate Value at Risk at 99% confidence (USD)
physicalRisknumberTotal physical risk expected loss across all facilities (USD)
transitionRisknumberNormalized transition risk score (0–1)
alignmentScorenumberDTW-based emissions alignment score (0–1; 1.0 = fully aligned with reference pathway)
findings[].categorystringTCFD pillar: governance, strategy, risk_management, or metrics_targets
findings[].severitystringFinding severity: low, medium, high, or critical
findings[].findingstringNarrative finding with specific quantitative metrics
findings[].recommendationstringActionable recommendation with quantitative targets
recommendations[]string[]Top-level portfolio-wide priority recommendations
assets[].tickerstringAsset identifier
assets[].strandingProbabilitynumberPer-asset stranding probability from Monte Carlo regime switching (0–1)
assets[].expectedLossnumberExpected loss under regime-switching model (USD)
assets[].optionValuenumberReal option value of early divestment (USD)
assets[].currentPolicyValuenumberDCF value under current policy carbon prices (USD)
assets[].netZeroValuenumberDCF value under net-zero carbon price path $30–$600 (USD)
vaR.confidenceLevelnumberConfidence level (0.95, 0.99, or 0.995)
vaR.climateVaRnumberClimate VaR at specified confidence level (USD)
vaR.expectedShortfallnumberExpected Shortfall (CVaR) at specified confidence level (USD)
vaR.gpdShapenumberGeneralized Pareto Distribution shape parameter xi
vaR.gpdScalenumberGPD scale parameter sigma
vaR.monteCarloPathCountnumberNumber of Monte Carlo simulation paths run
vaR.worstCaseLossnumberWorst single simulated portfolio loss (USD)
facilities[].compositeRisknumberSum of expected losses across all hazard types (USD)
facilities[].hazards[].hazardTypestringOne of: earthquake, flood, wildfire, hurricane, drought, air_quality, sea_level_rise
facilities[].hazards[].probabilitynumberAnnual exceedance probability for the hazard type
facilities[].hazards[].vulnerabilityFactornumberAsset vulnerability multiplier (0.2–0.7 depending on hazard)
facilities[].hazards[].expectedLossnumberprobability × assetValue × vulnerabilityFactor (USD)
biodiversity[].tnfdCategorystringTNFD risk tier: negligible, low, moderate, high, or very_high
biodiversity[].dependencies[].servicestringEcosystem service (e.g. pollination, water_purification, carbon_sequestration)
biodiversity[].dependencies[].dependencyIntensitynumberSector-level dependency on this ecosystem service (0–1)
biodiversity[].dependencies[].financialRisknumberFinancial risk from this dependency (USD)
biodiversity[].iucnThreatCountnumberCount of VU/EN/CR/EW-status species in the analysis
biodiversity[].speciesAtRisknumberCount of GBIF species with declining population trend (< -0.2)
contagion.systemicClimateRisknumberClimate DebtRank = sum(stress_i × economic_value_weight_i)
contagion.amplificationFactornumberRatio of systemic risk to initial shock magnitude
contagion.maxDebtRanknumberHighest single-entity climate debt rank in the network
contagion.iterationsnumberDebtRank propagation iterations to convergence
alignment[].dtwDistancenumberRaw DTW distance between entity trajectory and reference pathway
alignment[].alignmentScorenumberNormalized score 0–1; 1/(1 + DTW_distance/path_length)
alignment[].gapYears[]number[]Years where entity emissions exceed reference by more than 20%
carbonExposure[].carbonCostnumberAnnual carbon cost at the given carbon price (USD)
carbonExposure[].revenueAtRisknumberRevenue at risk from carbon cost as fraction of total revenue
carbonExposure[].benchmarkIntensitynumberSector benchmark carbon intensity (tCO2e/$M revenue)
carbonExposure[].relativeIntensitynumberEntity intensity relative to sector benchmark (ratio)

How much does it cost to run climate stranded asset analysis?

This MCP server uses pay-per-event pricing — you pay per tool call. Platform compute costs are included in the price. There is no subscription or monthly minimum.

ToolPrice per callTypical calls per session
compute_stranding_probability$0.0601–5 (per batch of assets)
simulate_climate_var$0.0651–3
assess_physical_risk$0.0551–5 (per facility batch)
compute_biodiversity_risk$0.0501–3
model_transition_contagion$0.0601–2
score_transition_alignment$0.0501–3
analyze_carbon_exposure$0.0551–5
generate_tcfd_report$0.0651

Scenario cost estimates:

ScenarioTool callsEstimated cost
Single asset stranding check1$0.060
Full portfolio VaR + stranding (10 assets)2$0.125
Physical risk mapping (5 facilities)1$0.055
Complete TCFD report (all tools)1$0.065
Daily automated risk monitoring8–12 per day$0.50–$0.75/day
Monthly institutional risk review~50 calls~$2.75–$3.25

You can set a maximum spending limit per run in Apify to control costs. The server stops accepting new tool calls when your spending limit is reached and returns a Spending limit reached message for the blocked call.

Compare this to MSCI Climate Risk, Sustainalytics, or S&P Trucost at $20,000–$100,000+ per year — with this MCP server, most teams spend under $10/month for comparable quantitative analytics without a vendor contract.

Use the climate financial stranded asset MCP server via API

Python

from apify_client import ApifyClient

client = ApifyClient("YOUR_API_TOKEN")

# The MCP server runs in Standby mode — call it via the MCP endpoint directly.
# For programmatic access via Apify API, trigger a run to obtain the standby URL.
actor_client = client.actor("ryanclinton/climate-financial-stranded-asset-mcp")
run = actor_client.start()

print(f"MCP server running at: https://climate-financial-stranded-asset-mcp.apify.actor/mcp")
print(f"Run ID: {run['id']}")
print(f"Connect your MCP client to the endpoint above with your Apify token as a Bearer header.")

JavaScript

import { ApifyClient } from "apify-client";

const client = new ApifyClient({ token: "YOUR_API_TOKEN" });

// The MCP server runs persistently in Standby mode.
// Connect your MCP client to the permanent standby endpoint.
const mcpEndpoint = "https://climate-financial-stranded-asset-mcp.apify.actor/mcp";

console.log(`MCP endpoint: ${mcpEndpoint}`);
console.log("Add this URL to your Claude Desktop, Cursor, or MCP client config.");
console.log("Pass your Apify API token as: Authorization: Bearer YOUR_API_TOKEN");

cURL — call a tool directly

# Call compute_stranding_probability via raw MCP JSON-RPC
curl -X POST "https://climate-financial-stranded-asset-mcp.apify.actor/mcp" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_APIFY_TOKEN" \
  -d '{
    "jsonrpc": "2.0",
    "method": "tools/call",
    "id": 1,
    "params": {
      "name": "compute_stranding_probability",
      "arguments": {
        "assets": [
          {
            "ticker": "CVX",
            "name": "Chevron Corporation",
            "sector": "oil_gas",
            "bookValue": 156000000000,
            "marketValue": 295000000000,
            "carbonIntensity": 920,
            "fossilRevenueShare": 0.95,
            "annualEmissions": 58000000
          }
        ],
        "discountRate": 0.05,
        "numPaths": 5000
      }
    }
  }'

# List all available tools
curl -X POST "https://climate-financial-stranded-asset-mcp.apify.actor/mcp" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_APIFY_TOKEN" \
  -d '{"jsonrpc": "2.0", "method": "tools/list", "id": 1, "params": {}}'

How the Climate Financial Stranded Asset MCP Server works

Algorithm 1: Real options with Markov regime switching (stranding probability)

The stranding probability engine models two carbon price regimes: current policy ($30–$70/tCO2e over 21 years) and net zero transition ($30–$600/tCO2e). A Markov chain governs regime transitions with an 8% annual probability of shifting to net zero and a 3% reversion probability — implying a steady-state net zero probability of 72.7% (cp_to_nz / (cp_to_nz + nz_to_cp)).

For each Monte Carlo path, the engine samples regime transitions at each time step using the Markov matrix, applies the prevailing carbon price to compute net cash flows (assuming 12% revenue yield on market value), and discounts using the provided discount rate. An asset is classified as stranded when the path's cumulative discounted cash flow falls below book value. The early-divestment option value is computed as max(0, marketValue − netZeroValue) × strandingProbability × 0.6, representing the premium a rational seller would pay to exit before transition. Live data from SEC EDGAR climate disclosures and World Bank CO2 emissions (EN.ATM.CO2E.KT) is fetched to contextualise carbon intensity inputs.

Algorithm 2: Monte Carlo climate VaR with GPD tail fitting

The VaR engine generates up to 10,000 portfolio loss scenarios by shocking three correlated risk factors simultaneously: carbon price shock (volatility 0.4), energy cost shock (0.25), and regulatory shock (one-sided, 0.15). Carbon price impact on each asset is proportional to carbonIntensity × fossilRevenueShare; energy cost impact is a uniform 5% of market value; regulatory impact adds a stranded-asset writedown equal to marketValue × fossilRevenueShare × regulatoryShock × 0.3.

Rather than relying solely on empirical quantiles (which underestimate extreme tail risk), the engine fits a Generalized Pareto Distribution to the exceedances above the 95th-percentile threshold using method-of-moments estimators (shape xi = (ratio − 1)/2; scale sigma = mean × (ratio + 1)/2). GPD quantiles at 99% and 99.5% are computed analytically using the formula VaR_p = threshold + sigma/xi × ((n/nu × (1−p))^(−xi) − 1). Expected Shortfall is derived as (VaR + scale − shape × threshold)/(1 − shape). Calibration data is pulled from FRED (WTI oil price DCOILWTICO, energy CPI CPIENGSL) and OECD carbon pricing statistics.

Algorithm 3: Spatial physical hazard overlay

Physical risk is computed as a spatial overlay of seven hazard probability maps against facility coordinates. Earthquake risk is elevated in three zones: Pacific West (120°E–180°E, <50° lat), Americas West coast, and the Mediterranean-Himalayan belt. Flood risk is elevated at low latitudes near major ocean coastlines. Wildfire zones are defined by the 30–45° and 10–25° latitude dry bands. Hurricane risk applies to the Atlantic (100°W–30°W) and West Pacific (100°E–180°E) basins at tropical latitudes.

For air quality, the engine fetches live PM2.5 readings from OpenAQ and uses Haversine distance to match each facility to the nearest monitoring station within 200km. AQI is normalized to [0,1] and converted to a hazard probability. The composite risk formula is sum(hazard_probability × assetValue × vulnerabilityFactor) across all seven hazards per facility, where vulnerability factors range from 0.2 (air quality) to 0.7 (wildfire). Facilities without coordinates are geocoded via the Nominatim actor.

Algorithm 4: TNFD biodiversity-financial risk coupling

The TNFD engine scores financial risk from ecosystem service dependencies. Sector-level dependency intensity tables encode 10 ecosystem services for each of agriculture, energy, mining, and a default sector. For example, agriculture has pollination dependency of 0.9 and soil formation of 0.95; energy has water purification of 0.6. IUCN Red List threat scores are mapped: LC=0.1, NT=0.3, VU=0.5, EN=0.7, CR=0.9, EW=0.95, EX=1.0. GBIF population trends provide degradation signals — negative trends indicate active biodiversity loss.

Financial risk per ecosystem service = dependencyIntensity × (avgIUCNThreat + GBIFDegradationRate)/2 × revenueExposure. The total risk is normalized by revenue to produce a risk ratio, which maps to the TNFD categories: <2% = negligible, 2–5% = low, 5–15% = moderate, 15–30% = high, >30% = very_high.

Algorithm 5: Climate-adjusted DebtRank contagion propagation

The DebtRank engine builds a financial exposure matrix W[i][j] = min(1, exposure_amount / entityJ_economicValue), representing the fraction of entity J's equity that entity I's distress would eliminate. Initial climate shocks are computed as min(1, carbonIntensity × carbonPriceIncrease × fossilRevenueShare / 1,000,000).

Stress propagates via the standard DebtRank iteration: hNew[j] = min(1, h[j] + sum_i(W[i][j] × delta_h[i] × (1 + climateCorrelation_ij))). The climate correlation adjustment amplifies propagation between entities that share high carbon intensity — climate co-exposure means correlated distress. Iteration continues until max change < 1e-6 or 100 iterations. The amplification factor = systemicClimateRisk / initialShockMagnitude, measuring how much the financial network multiplies the initial carbon price shock. OpenCorporates and GLEIF LEI data are fetched to support exposure network enrichment.

Algorithm 6: Dynamic Time Warping emissions trajectory alignment

Emissions histories are normalized to an index (first year = 100) and compared against IEA Net Zero (100 in 2020, reaching 0 in 2050) or IPCC 1.5C reference pathways using Dynamic Time Warping. The DTW cost matrix is computed as D(i,j) = |seq1[i] − seq2[j]| + min(D(i−1,j), D(i,j−1), D(i−1,j−1)), with backtracking to extract the optimal warping path. Alignment score = 1/(1 + DTW_distance/path_length), where 1.0 represents perfect alignment and 0.0 complete divergence. Gap years are identified where the entity's normalized emissions exceed the reference by more than 20%. Eurostat greenhouse gas emissions data is fetched to provide sector-level benchmarking context.

Tips for best results

  1. Include fossil revenue share for every assetfossilRevenueShare is the single most impactful parameter in both the stranding and VaR models. Even a small error (e.g. 0.5 vs 0.3) can shift VaR by 30–40%. Use company annual report disclosures or segment revenue data to get this right.

  2. Run stranding and VaR in the same session — the tools share AssetPosition schema; passing the same asset array to both compute_stranding_probability and simulate_climate_var gives you complementary views (probability vs. dollar loss) without duplicating data entry.

  3. Use generate_tcfd_report for board presentations — it runs all six algorithms in a single call and formats output across the four TCFD pillars. The recommendations array is designed to be usable verbatim in executive risk reports.

  4. Increase numPaths for high-stakes assets — the default 5,000 Monte Carlo paths gives standard error of ~0.7% on stranding probability. For individual assets with book values above $1B, increase to 10,000–20,000 for more stable estimates.

  5. Use the IPCC_15C pathway for the most stringent alignment test — the IPCC 1.5C pathway is steeper than IEA Net Zero; companies that score 0.6+ against IEA_NZ often fall below 0.4 against IPCC_15C. Report both to give the full range.

  6. Provide facility coordinates for physical risk — the Nominatim geocoder is accurate for named locations but introduces uncertainty for industrial facility names. For infrastructure assets where physical risk materially affects valuation, always provide lat/lng directly.

  7. Model financial network structure for contagion — the DebtRank result is only as good as the exposure network you provide. If you have banking relationships or inter-company loan data, encoding these as exposures[] arrays substantially improves amplification factor accuracy.

  8. Combine with Company Deep Research — use it to gather sector, revenue, and emissions data for companies before passing them to this MCP server, reducing manual data preparation.

Combine with other Apify actors

ActorHow to combine
Company Deep ResearchResearch target companies to extract sector, revenue, and carbon intensity data before feeding to stranding or VaR tools
SEC EDGAR Filing AnalyzerExtract Scope 1/2/3 emissions and fossil revenue share directly from 10-K and proxy filings before running alignment analysis
ESG Risk AssessmentRun ESG risk scoring alongside climate financial metrics for a full sustainability risk picture
B2B Lead QualifierScreen investment targets by ESG and climate scores before deeper stranded asset analysis
Website Content to MarkdownConvert corporate sustainability reports to markdown and feed to an LLM to extract emissions data for the alignment tool
FRED Economic DataPull WTI oil prices and energy CPI independently to calibrate custom volatility parameters for climate VaR
IUCN Red List SearchFetch species threat data for a specific geography before running biodiversity risk with custom species lists

Limitations

  • Carbon intensity inputs are user-provided — the server does not independently source or verify company-level carbon intensity data. Results are only as accurate as the inputs you provide. Use SEC EDGAR disclosures or verified third-party data sources.
  • Physical hazard probabilities are zone-based approximations — the spatial overlay uses latitude/longitude zone rules (e.g. Ring of Fire boundaries) rather than high-resolution hazard maps like FEMA FIRMs or NATCAT databases. Use results for screening and prioritisation, not insurance underwriting.
  • Monte Carlo uses pseudo-random (seeded) simulation — the linear congruential generator is reproducible but not cryptographically random. For regulatory stress tests requiring certified randomness, supplement with dedicated actuarial models.
  • Financial exposure network is self-reported — the DebtRank contagion model depends on the exposures[] arrays you provide. If inter-entity exposures are incomplete or estimated, amplification factors will be understated.
  • Emissions trajectory alignment requires multi-year history — DTW alignment requires at least 2 data points; 5+ years of historical Scope 1/2 data produces more meaningful results. Single-year snapshots return an alignment score of 0.
  • IUCN and GBIF data is geographically broad — the biodiversity tool fetches species data for named species or generic terms (pollinator, mangrove, coral) and does not filter by the exact facility coordinates. Results represent regional biodiversity risk, not site-specific ecological surveys.
  • TCFD findings are algorithm-derived, not audited — the generate_tcfd_report output is structured to support TCFD disclosure but has not been reviewed by a registered auditor or climate consultant. It should be reviewed and validated before inclusion in regulated disclosures.
  • Standby mode requires an Apify account with sufficient balance — the server runs persistently; ensure your Apify account has sufficient credit or a billing plan to support extended sessions.

Integrations

  • Zapier — trigger a climate VaR run when a new company is added to a CRM or spreadsheet, then push results to a risk dashboard
  • Make — automate quarterly TCFD report generation by scheduling a generate_tcfd_report call and routing output to a PDF generator and email distribution list
  • Google Sheets — pull stranding probability and VaR results directly into a portfolio monitoring spreadsheet for scenario comparison
  • Apify API — call the MCP endpoint programmatically from Python or JavaScript to embed climate risk metrics in proprietary risk systems
  • Webhooks — receive notifications when the server returns critical-severity TCFD findings for automated alerting
  • LangChain / LlamaIndex — register the MCP server as a tool in an LLM agent pipeline for conversational portfolio climate risk analysis

Troubleshooting

  • Stranding probability returns 0 for all assets — confirm that fossilRevenueShare is greater than 0 for fossil-exposed assets. If fossilRevenueShare is 0, carbon costs have no impact on cash flows and no stranding occurs regardless of carbon price path.

  • Climate VaR is unexpectedly low for a high-carbon portfolio — check that carbonIntensity is expressed as tCO2e per $M revenue, not total tonnes. An intensity of 920 for oil and gas is correct; an intensity of 920,000,000 (total tonnes) will produce overflow values that clamp to zero.

  • Physical risk returns the same hazard score for different locations — this typically means both facilities are in the same latitude/longitude zone. The spatial overlay uses zone-based rules; facilities within the same broad region will have similar base probabilities before the air quality overlay differentiates them.

  • TCFD report shows no alignment findings — the alignment section requires emissionsHistory[] data with at least 2 years of Scope 1 and Scope 2 data. If emissionsHistory is an empty array, the report will skip alignment analysis and note it as unavailable.

  • Tool call returns Spending limit reached — your Apify account has hit the per-run spending limit. Increase the limit in your actor run settings or break large analyses into smaller batches across multiple runs.

  • DebtRank amplification factor is exactly 1.0 — this means no exposures[] were provided for any entity. Without financial linkages between entities, stress cannot propagate and the network has no amplification effect. Add inter-entity exposure data to model contagion.

Responsible use

  • This server only accesses publicly available data from government, academic, and open-data sources (SEC EDGAR, World Bank, IUCN, GBIF, FRED, OpenAQ, OpenCorporates, GLEIF, Eurostat, OECD, UN COMTRADE).
  • Climate risk estimates are quantitative outputs from statistical models, not certified financial advice or regulated risk assessments.
  • Results used in regulated disclosures (TCFD, SFDR, SEC climate rules) should be validated by a qualified climate risk professional before publication.
  • Respect the terms of service of underlying data sources accessed via the orchestrated actor calls.
  • For guidance on web scraping legality, see Apify's guide.

FAQ

How accurate is the carbon asset stranding probability output?

The stranding probability is a model output, not an observed market price. Accuracy depends primarily on the quality of carbon intensity and fossil revenue share inputs. The Markov regime-switching framework with 5,000 Monte Carlo paths produces standard errors of approximately ±0.7–1.5 percentage points on stranding probability for individual assets. The regime transition probabilities (8% annual probability of shifting to net zero) are set conservatively relative to IEA policy scenarios and can be adjusted via the model parameters.

How many assets can I analyze in a single tool call?

There is no hard limit on the number of assets per call. In practice, calls with 5–20 assets run reliably within the tool's 60-second internal actor timeout per data source. For portfolios larger than 50 assets, consider batching into multiple calls to avoid timeout issues on the upstream SEC EDGAR and World Bank data fetches.

What is the difference between Climate VaR and stranding probability?

Stranding probability measures the likelihood that an individual asset's discounted future cash flows fall below its book value under carbon price scenarios — it is a binary threshold event. Climate VaR measures the dollar loss at a given confidence level across the whole portfolio under a continuous distribution of carbon price, energy cost, and regulatory shocks. Use stranding probability for asset-level triage and climate VaR for portfolio-level risk limits.

Does the server support EU taxonomy alignment or Article 8/9 SFDR classification?

The server produces TCFD-structured output and IEA/IPCC alignment scores, which are inputs to EU taxonomy assessments, but it does not directly output EU taxonomy alignment percentages or SFDR Article 8/9 classification. Use the TCFD report findings and DTW alignment scores as supporting evidence in your taxonomy assessment process.

How is this different from MSCI Climate or Sustainalytics?

Commercial vendors like MSCI Climate, Sustainalytics, and S&P Trucost offer audited, certified climate data with analyst review. This MCP server provides open-methodology quantitative tools that run the same category of algorithms (Monte Carlo VaR, physical risk overlay, emissions alignment) but with transparent, inspectable code, on-demand pricing starting at $0.050 per call, and the flexibility to use your own input data. It is not a substitute for certified climate data in regulated disclosures but is well-suited for internal risk screening, research, and scenario analysis.

Can I run automated daily climate monitoring with this server?

Yes. The server runs in Apify Standby mode, so it is always on and ready to accept tool calls without cold starts. You can schedule tool calls via the Apify scheduler, a webhook trigger, or a cron job calling the MCP endpoint directly. Daily monitoring across an 8-tool full assessment costs approximately $0.50–$0.75 per day.

How long does a full TCFD report take to generate?

The generate_tcfd_report tool runs all six algorithms and fetches data from FRED, OpenAQ, IUCN, and GBIF in parallel. For a 10-asset portfolio with 3 facilities, expect 60–120 seconds. For larger portfolios or slower network conditions, allow up to 180 seconds. Carbon exposure analysis for a single asset typically returns in under 15 seconds.

Is it legal to use SEC EDGAR, IUCN, and GBIF data for commercial analysis?

Yes. SEC EDGAR is a public US government database with no restrictions on commercial use. IUCN Red List data is available under a Creative Commons license for research and educational purposes. GBIF occurrence data is published under CC BY 4.0. UN COMTRADE, FRED, World Bank, and Eurostat data are all free for commercial use. Always verify current terms on each source before using data in published reports.

Can I use this server with Claude Desktop or Cursor?

Yes. The server is fully compatible with any MCP client that supports the Streamable HTTP transport, including Claude Desktop, Cursor, Zed, and custom clients built with the MCP SDK. Add the endpoint https://climate-financial-stranded-asset-mcp.apify.actor/mcp with your Apify token as a Bearer Authorization header.

What happens if an upstream data source is unavailable?

The runActor client wraps each underlying actor call in a try/catch and returns an empty array on failure. The scoring algorithms are designed to degrade gracefully — for example, if IUCN Red List data is unavailable, biodiversity risk falls back to default degradation rates. Results will still be returned but may reflect less precise calibration. The tool response does not include an explicit data-quality warning in the current version.

How do I get the sector benchmark carbon intensities used in the analysis?

The 14-sector benchmarks (energy: 850, oil_gas: 950, utilities: 720, mining: 600, chemicals: 380, transportation: 310, agriculture: 290, materials: 480, industrials: 220, real estate: 95, consumer staples: 120, healthcare: 45, technology: 30, communication services: 20 tCO2e/$M revenue) are hardcoded in the scoring engine and sourced from IEA and MSCI sector carbon intensity reference data. They are visible in the open-source code and can be used as input benchmarks for your own carbon intensity estimates.

Can I run the IPCC 1.5C and IEA Net Zero alignments together for comparison?

Yes. Call score_transition_alignment twice with the same entity list — once with referencePathway: "IEA_NZ" and once with "IPCC_15C" — and compare the resulting alignment scores and gap years. The IPCC 1.5C pathway is steeper, so most high-carbon entities will score lower against it, giving you a range of alignment outcomes under different policy assumptions.

Help us improve

If you encounter issues, you can help us debug faster by enabling run sharing in your Apify account:

  1. Go to Account Settings > Privacy
  2. Enable Share runs with public Actor creators

This lets us see your run details when something goes wrong so we can fix issues faster. Your data is only visible to the actor developer, not publicly.

Support

Found a bug or have a feature request? Open an issue in the Issues tab on this actor's page. For custom solutions, additional sector benchmarks, or enterprise integration support, reach out through the Apify platform.

How it works

01

Configure

Set your parameters in the Apify Console or pass them via API.

02

Run

Click Start, trigger via API, webhook, or set up a schedule.

03

Get results

Download as JSON, CSV, or Excel. Integrate with 1,000+ apps.

Use cases

Sales Teams

Build targeted lead lists with verified contact data.

Marketing

Research competitors and identify outreach opportunities.

Data Teams

Automate data collection pipelines with scheduled runs.

Developers

Integrate via REST API or use as an MCP tool in AI workflows.

Ready to try Climate Financial Stranded Asset MCP Server?

Start for free on Apify. No credit card required.

Open on Apify Store