关于 Climate Economic Nexus
Climate Economic Nexus 是用于气候经济定量分析的 MCP 服务,面向风险分析师、规划人员和可持续发展团队。它整合 18 个环境与经济数据源及已发表的数学框架,用于情景分析、临界点级联检测等评估。
主要功能
- 01气候经济综合情景分析
- 02临界点级联检测
- 03碳价机制预测
- 04气候损害归因与不确定性分析
- 05生物多样性与适应评估
适用场景
- 01编制气候风险财务披露
- 02评估碳市场价格机制
- 03规划跨情景适应投资
- 04估算生物多样性相关经济损失
MCP 相关
它通过持久 MCP 端点提供八种分析工具,调用环境与经济数据源并返回结构化结果。兼容 MCP 的客户端使用 Apify 令牌连接端点。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://ryanclinton--climate-economic-nexus-mcp.apify.actor/mcpclaude mcp add --transport http climate-economic-nexus https://ryanclinton--climate-economic-nexus-mcp.apify.actor/mcp{"mcpServers":{"climate-economic-nexus":{"type":"http","url":"https://ryanclinton--climate-economic-nexus-mcp.apify.actor/mcp"}}}在 Cursor 中打开{"servers":{"climate-economic-nexus":{"type":"http","url":"https://ryanclinton--climate-economic-nexus-mcp.apify.actor/mcp"}}}在 VS Code 中打开{"mcpServers":{"climate-economic-nexus":{"type":"http","url":"https://ryanclinton--climate-economic-nexus-mcp.apify.actor/mcp"}}}{"mcpServers":{"climate-economic-nexus":{"serverUrl":"https://ryanclinton--climate-economic-nexus-mcp.apify.actor/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
气候—经济关联 MCP 服务
快速开始
添加到你的 MCP 客户端(Claude Desktop、Cursor、Windsurf):
{
"mcpServers": {
"climate-economic-nexus-mcp": {
"url": "https://ryanclinton--climate-economic-nexus-mcp.apify.actor/mcp"
}
}
}
通过模型上下文协议开展气候—经济综合评估,为 AI Agent 提供用于情景分析、临界点级联检测、碳市场预测和物理风险归因的定量工具。此 MCP 服务整合 18 个实时环境与经济数据源——包括 NOAA、GDACS、World Bank、IMF、FRED、GBIF、IUCN、Eurostat 等——然后应用 8 种已发表的数学框架,生成结构化、可用于决策的结果。
此服务以待命模式在 Apify 平台上持续运行。任何兼容 MCP 的客户端——Claude Desktop、Cursor、Windsurf、Cline——都可以通过单个端点 URL 连接,无需管理基础设施。全部 8 个工具均按事件收费:只需为实际运行的分析付费。
⬇️ 你可以访问哪些数据?
| 数据点 | 来源 | 覆盖范围 |
|---|---|---|
| 🌡️ 天气模式和气候预警 | NOAA Weather Search | 美国及全球 |
| 🌊 海平面和地震活动 | USGS Earthquake Search | 全球 |
| 🌪️ 实时灾害事件(洪水、气旋、野火) | GDACS Disaster Alerts | 全球 |
| 💨 空气质量测量数据 | OpenAQ Air Quality | 全球监测站 |
| 🌧️ 洪水风险数据 | UK Flood Warnings | 英国河流和沿海系统 |
| 🦋 物种出现记录(20 亿条以上) | GBIF Biodiversity Search | 全球 |
| 🔴 受威胁物种评估 | IUCN Red List Search | 全球物种 |
| 📊 国家发展指标 | World Bank Indicators | 200 多个国家 |
| 💹 全球宏观经济预测 | IMF Economic Data | 全球经济体 |
| 📈 美国经济时间序列 | FRED Economic Data | GDP、CPI、能源 |
| 🏛️ OECD 成员国统计数据 | OECD Statistics Search | OECD 国家 |
| 🇪🇺 欧盟环境和经济统计数据 | Eurostat Data Search | 欧盟成员国 |
| 💱 实时汇率(150 多种货币) | Exchange Rate Tracker | 全球 |
| 📉 历史汇率序列 | Exchange Rate History | 时间序列 |
| 📍 地理坐标解析 | Nominatim Geocoder | 全球 |
| 🏚️ 美国灾害公告 | FEMA Disaster Search | 美国所有事件 |
| 🌍 气候适应项目 | World Bank Projects Search | 全球 |
| 🌤️ 多日天气预报 | Weather Forecast Search | 全球地点 |
为什么使用 Climate-Economic Nexus MCP?
构建自己的气候经济分析流水线,意味着要从 NOAA、World Bank、IUCN 和十几个其他来源获取数据授权,实现已发布的损害函数,运行 Monte Carlo 模拟,并维护所有这些工作。这需要数月的工程投入,而且仍无法提供跨来源的综合分析。
此 MCP 服务负责整个数据收集和计算层。你的 AI Agent 只需使用自然语言查询调用一个工具,服务就会并行调用全部 18 个数据源,根据实时数据校准数学模型,并返回可用于决策支持的结构化 JSON 结果。
你的 Agent 会自动获得以下平台能力:
- 待机模式 — 服务会在调用间保持预热状态,因此推理请求不会遇到冷启动延迟
- 并行执行 — 通过
Promise.all并发运行全部 18 个 actor 调用,将每个工具的延迟降至最慢单个数据源所需的时间 - 支出限额 — 为每个会话设置最高预算;所有工具在扣费前都会检查限额
- API 访问 — 可从任何 MCP 客户端连接,也可直接通过 Python、JavaScript 或 cURL 触发分析
- 监控 — Apify 平台日志会记录每次数据源调用、结果数量和错误,便于调试
- 集成 — 可通过 Apify 集成将输出传递到 Zapier、Make、Google Sheets、webhooks 或 HubSpot
⬆️ MCP 工具
| 工具 | 价格 | 说明 |
|---|---|---|
simulate_integrated_assessment | $0.035 | DICE 最优控制:三库碳循环、双箱能量平衡、折现效用最大化。返回 SCC、升温峰值、达到 2°C 的年份、碳预算和最优碳税路径。查询 18 个 actor。 |
detect_tipping_cascades | $0.030 | 对 AMOC、亚马逊、冰盖、珊瑚礁和多年冻土进行尖点灾变分岔分析,将其视为带 Heaviside 耦合的耦合 SDE。返回级联概率、已越过临界点的数量、系统风险和各要素的分岔状态。 |
quantify_damage_uncertainty | $0.030 | 使用类似 Gibbs 的后验更新进行贝叶斯分层损害模型 D(T) = a1·T + a2·T²。返回区域损害估算、95%/99% 分位尾部风险和模型分歧评分。 |
optimize_robust_adaptation | $0.040 | 在情景空间中使用 PRIM 寻找凸包,并进行 MOEA Pareto 优化。返回成本-稳健性-后悔值 Pareto 前沿上的适应策略、脆弱情景区间和策略排名。 |
downscale_spatial_impacts | $0.035 | 使用 Matern-3/2 核进行高斯过程空间降尺度。按可配置的网格分辨率绘制温度异常、降水、海平面和损害强度。 |
forecast_carbon_price_regimes | $0.030 | 使用 Hamilton 滤波器进行状态转换跳跃扩散分析。识别低位稳定、政策转型和高位波动的碳价状态。返回转移矩阵、90% 预测置信区间和跳跃概率。 |
assess_biodiversity_economic_loss | $0.030 | 基于栖息地晶格上的渗流理论,使用物种-面积关系 S = cA^z。量化各区域的生态系统服务经济损失,并识别栖息地连通性崩溃阈值。 |
attribute_climate_damages | $0.030 | 使用总最小二乘法进行最优指纹识别。将观测到的损害分解为人为因素和自然变率。返回归因比例、检测统计量和信号 beta 值。 |
气候经济综合评估的应用场景
气候风险财务披露
首席风险官和可持续发展团队在编制符合 TCFD 的披露时,需要在 RCP 2.6、4.5 和 8.5 路径下进行量化情景分析。使用 simulate_integrated_assessment 获取物理风险轨迹,并使用 downscale_spatial_impacts 按资产级粒度绘制温度和损害暴露情况。quantify_damage_uncertainty 可提供稳健披露内容所需的置信区间。
碳市场策略与 ETS 交易
管理排放义务的碳交易部门和企业可持续发展团队,需要在价格制度转变发生前预判其走势。forecast_carbon_price_regimes 使用带 Hamilton 滤波平滑的制度转换跳跃扩散模型,识别欧盟 ETS 或其他市场何时即将进入政策转型制度,并提供各制度下价格的 90% 置信区间。
保险巨灾建模与损失和损害评估
为气候相关财产保险和再保险定价的精算师,需要从历史损失数据中区分人为气候信号与自然变率。attribute_climate_damages 使用总最小二乘法进行最优指纹识别——与 Allen 和 Stott(2003)采用的框架相同——计算观测到的损害中有多少比例可归因于人为强迫,为可靠的精算假设和气候诉讼分析提供支持。
深度不确定性下的适应投资规划
基础设施规划人员、政府机构和发展金融机构需要适用于广泛未来情景的适应投资组合,而不只是针对中心预测。optimize_robust_adaptation 使用患者规则归纳方法(PRIM)进行凸包搜索,发现各项策略失效时的具体情景组合,并通过 MOEA 多目标优化生成帕累托前沿,在成本、损害减少和稳健性之间取得平衡。
临界点预警与系统性风险监测
追踪相互关联的地球系统要素的风险分析师,需要量化的临界转变邻近度指标,而非定性描述。detect_tipping_cascades 将 AMOC、亚马逊雨林退化、西南极冰盖、珊瑚礁和永久冻土融化建模为耦合的尖点灾变系统,并运行 5,000 条 Euler-Maruyama 蒙特卡洛路径,以估算级联概率以及最可能出现的临界转变链。
生物多样性与自然资本核算
根据 TNFD 框架进行报告的投资管理者、监管机构和企业,需要量化栖息地丧失可能造成的生态系统服务经济价值损失。assess_biodiversity_economic_loss 综合 GBIF 出现记录数据、IUCN 威胁评估和世界银行国家指标,计算物种面积损失估算值,以及各生物群系生态系统服务损失的等值金额,并利用渗流理论识别连通性崩溃阈值。
如何连接此 MCP 服务
此服务以 Apify Standby 模式运行,并提供持久的 /mcp 端点。只需将其添加到 MCP 客户端,无需进行其他部署或配置。
Claude Desktop
添加到你的 claude_desktop_config.json:
{
"mcpServers": {
"climate-economic-nexus": {
"url": "https://climate-economic-nexus-mcp.apify.actor/mcp",
"headers": {
"Authorization": "Bearer YOUR_APIFY_TOKEN"
}
}
}
}
Cursor / Windsurf / Cline
在 MCP 服务设置中添加端点 https://climate-economic-nexus-mcp.apify.actor/mcp,并将 Apify API 令牌设为 Bearer 授权标头。服务会立即可用,无需等待启动。
直接 HTTP(cURL)
# Call simulate_integrated_assessment directly
curl -X POST "https://climate-economic-nexus-mcp.apify.actor/mcp" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_APIFY_TOKEN" \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "simulate_integrated_assessment",
"arguments": {
"query": "global warming 2050 economic impact",
"horizon_years": 80,
"carbon_tax_init": 75
}
},
"id": 1
}'
Python
import httpx
import json
APIFY_TOKEN = "YOUR_APIFY_TOKEN"
MCP_URL = "https://climate-economic-nexus-mcp.apify.actor/mcp"
payload = {
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "simulate_integrated_assessment",
"arguments": {
"query": "Southeast Asia flood risk economic damage 2050",
"horizon_years": 100,
"carbon_tax_init": 50
}
},
"id": 1
}
response = httpx.post(
MCP_URL,
json=payload,
headers={"Authorization": f"Bearer {APIFY_TOKEN}"}
)
result = response.json()
content = json.loads(result["result"]["content"][0]["text"])
print(f"Social Cost of Carbon: ${content['socialCostOfCarbon']:.2f}/tCO2")
print(f"Peak Warming: {content['peakWarming']:.2f}°C")
print(f"Year of 2°C: {content['yearOf2C']}")
print(f"Carbon Budget Remaining: {content['carbonBudgetRemaining']:.0f} GtCO2")
JavaScript
const APIFY_TOKEN = "YOUR_APIFY_TOKEN";
const MCP_URL = "https://climate-economic-nexus-mcp.apify.actor/mcp";
const response = await fetch(MCP_URL, {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": `Bearer ${APIFY_TOKEN}`
},
body: JSON.stringify({
jsonrpc: "2.0",
method: "tools/call",
params: {
name: "detect_tipping_cascades",
arguments: {
query: "AMOC collapse ice sheet tipping point",
n_paths: 5000,
horizon_years: 100
}
},
id: 1
})
});
const result = await response.json();
const data = JSON.parse(result.result.content[0].text);
console.log(`System Risk: ${(data.systemRisk * 100).toFixed(1)}%`);
console.log(`Cascade Probability: ${(data.cascadeProbability * 100).toFixed(1)}%`);
console.log(`Elements Near Bifurcation: ${data.tippedCount}`);
for (const element of data.elements) {
console.log(` ${element.name}: ${element.bifurcationType} (discriminant: ${element.discriminant.toFixed(3)})`);
}
输出示例
simulate_integrated_assessment
{
"socialCostOfCarbon": 187.42,
"peakWarming": 2.81,
"yearOf2C": 2061,
"carbonBudgetRemaining": 312.7,
"discountedUtility": 4821.6,
"optimalCarbonTaxPath": [
50.0, 51.5, 53.1, 54.7, 56.3, 58.0, 59.7, 61.5, 63.4, 65.3
],
"trajectorySnapshots": [
{
"year": 2025, "temperature": 1.10, "temperatureOcean": 0.33,
"carbonAtm": 851.0, "carbonUpper": 460.0, "carbonDeep": 1740.0,
"output": 1.08e14, "damages": 0.00287, "abatement": 0.00914,
"netOutput": 1.06e14, "carbonTax": 50.0, "emissions": 36.2
},
{
"year": 2035, "temperature": 1.42, "temperatureOcean": 0.46,
"carbonAtm": 906.3, "carbonUpper": 471.2, "carbonDeep": 1742.1,
"output": 1.23e14, "damages": 0.00478, "abatement": 0.01123,
"netOutput": 1.20e14, "carbonTax": 67.2, "emissions": 31.8
}
],
"totalTimesteps": 100
}
detect_tipping_cascades
{
"systemRisk": 0.347,
"tippedCount": 2,
"cascadeProbability": 0.183,
"elements": [
{
"name": "AMOC",
"state": -0.412,
"controlA": -1.823,
"controlB": 0.091,
"discriminant": -21.6,
"nearBifurcation": true,
"bifurcationType": "fold",
"criticalDistance": 0.048
},
{
"name": "Amazon",
"state": 0.218,
"controlA": -0.724,
"controlB": 0.034,
"discriminant": -0.34,
"nearBifurcation": false,
"bifurcationType": "stable",
"criticalDistance": 0.312
}
],
"cascadeChains": [
{ "trigger": "AMOC", "affected": ["Amazon", "PermafrostArctic"], "severity": 0.71 }
],
"pathCount": 5000
}
forecast_carbon_price_regimes
{
"currentRegime": 1,
"regimeNames": ["low-stable", "policy-transition", "high-volatile"],
"regimeProbabilities": [0.18, 0.61, 0.21],
"forecastMean": 84.3,
"forecastStd": 22.7,
"forecast90CI": [48.2, 124.6],
"jumpProbability": 0.094,
"transitionMatrix": [
[0.92, 0.07, 0.01],
[0.05, 0.88, 0.07],
[0.03, 0.12, 0.85]
],
"filteredPrices": [52.1, 54.3, 58.8, 61.2, 67.4, 71.9, 75.0, 78.3, 81.7, 84.3]
}
输出字段
simulate_integrated_assessment
| 字段 | 类型 | 描述 |
|---|---|---|
socialCostOfCarbon | number | 每增加一吨 CO2 造成的边际损害,单位为 $/tCO2 |
peakWarming | number | 模拟时间范围内预计的最高温度异常值,单位为 °C |
yearOf2C | number|null | 预计跨越 2°C 升温阈值的年份;若未跨越,则为 null |
carbonBudgetRemaining | number | 距 2°C 阈值的剩余碳预算,单位为 GtCO2 |
discountedUtility | number | 整个模拟时间范围内的折现效用总量 |
optimalCarbonTaxPath | number[] | 最优碳税轨迹的前 10 年数据,单位为 $/tCO2/year |
trajectorySnapshots | DICEState[] | 每 10 个时间步的年度状态快照(最多 15 个) |
trajectorySnapshots[].year | number | 日历年份 |
trajectorySnapshots[].temperature | number | 大气温度异常值,单位为 °C |
trajectorySnapshots[].carbonAtm | number | 大气中的碳含量,单位为 GtC |
trajectorySnapshots[].damages | number | 气候损害占总产出的比例 |
trajectorySnapshots[].carbonTax | number | 碳税,单位为 $/tCO2 |
trajectorySnapshots[].emissions | number | 净排放量,单位为 GtCO2/year |
totalTimesteps | number | 模拟的年度时间步总数 |
detect_tipping_cascades
| 字段 | 类型 | 描述 |
|---|---|---|
systemRisk | number | 系统总体风险评分,范围为 0–1 |
tippedCount | number | 接近或已经越过分岔点的临界要素数量 |
cascadeProbability | number | 至少发生一次级联的蒙特卡洛路径比例 |
elements[] | TippingElement[] | 各要素的分岔分析 |
elements[].name | string | 要素名称(AMOC、Amazon、IceSheet、CoralReefs、PermafrostArctic) |
elements[].discriminant | number | 尖点判别式 Δ = 8a³ + 27b²;负值表示双稳态区域 |
elements[].nearBifurcation | boolean | 临界距离 < 0.1 时为 True |
elements[].bifurcationType | string | "fold"、"cusp" 或 "stable" |
elements[].criticalDistance | number | 与判别式零点集的距离 |
cascadeChains[] | object[] | 触发的临界要素级联链 |
cascadeChains[].trigger | string | 首个发生临界转变的要素 |
cascadeChains[].affected | string[] | 级联中的下游要素 |
cascadeChains[].severity | number | 级联严重程度,范围为 0–1 |
pathCount | number | 运行的蒙特卡洛路径数量 |
quantify_damage_uncertainty
| 字段 | 类型 | 描述 |
|---|---|---|
globalMeanDamage | number | 全球 GDP 损害占比的后验均值 |
globalDamageStd | number | 损害估计的后验标准差 |
tailRisk95 | number | MCMC 后验样本中损害的第 95 百分位数 |
tailRisk99 | number | 损害的第 99 百分位数(肥尾风险指标) |
modelDisagreement | number | 模型间分歧评分(变异系数) |
estimates[] | DamageEstimate[] | 区域损害估计 |
estimates[].region | string | 世界区域名称 |
estimates[].meanDamage | number | 区域损害占比的后验均值 |
estimates[].ci95Lower | number | 95% 可信区间下限 |
estimates[].ci95Upper | number | 95% 可信区间上限 |
optimize_robust_adaptation
| 字段 | 类型 | 描述 |
|---|---|---|
paretoFrontSize | number | 帕累托前沿上的策略数量 |
paretoFront[] | AdaptationStrategy[] | 成本、稳健性和遗憾值的帕累托前沿上的策略 |
paretoFront[].name | string | 策略名称 |
paretoFront[].cost | number | 实施成本,单位为 10 亿美元 |
paretoFront[].damageReduction | number | 避免损害的比例 |
paretoFront[].robustness | number | 策略成功的情景比例 |
paretoFront[].regretMax | number | 所有情景中的最大遗憾值 |
primBoxes[] | PRIMBox[] | 通过 PRIM 发现的易受影响情景区域 |
primBoxes[].coverage | number | 该区域包含的情景比例 |
primBoxes[].density | number | 该区域中易受影响情景的比例 |
vulnerableScenarios | number | 没有任何策略成功的情景数量 |
downscale_spatial_impacts
| 字段 | 类型 | 描述 |
|---|---|---|
pointCount | number | 空间场中的网格点总数 |
points[] | SpatialPoint[] | 最多 50 个带有异常预测值的网格点 |
points[].lat | number | 纬度 |
points[].lon | number | 经度 |
points[].predictedAnomaly | number | GP 后验平均温度异常,单位为 °C |
points[].uncertainty | number | GP 后验标准差 |
meanAnomaly | number | 所有网格点的空间平均异常值 |
maxAnomaly | number | 任一网格点的最大异常值 |
kernelParams | object | 拟合的 Matern-3/2 核参数(sigma2、lengthScale) |
logMarginalLikelihood | number | GP 对数边际似然(模型拟合质量) |
hotspots[] | object[] | 预测异常值最高的网格点 |
forecast_carbon_price_regimes
| 字段 | 类型 | 描述 |
|---|---|---|
currentRegime | number | 当前最可能状态的索引(0、1 或 2) |
regimeNames | string[] | ["low-stable", "policy-transition", "high-volatile"] |
regimeProbabilities | number[] | Hamilton 滤波器的后验状态概率 |
transitionMatrix | number[][] | 3×3 状态转移概率矩阵 |
forecastMean | number | 碳价预期值,单位为 $/tCO2 |
forecastStd | number | 预测标准差 |
forecast90CI | [number, number] | 90% 置信区间 [下限,上限] |
jumpProbability | number | 预测期内价格跳涨的概率 |
filteredPrices | number[] | 最近 20 个经 Hamilton 滤波器处理的价格估计值 |
assess_biodiversity_economic_loss
| 字段 | 类型 | 描述 |
|---|---|---|
totalEconomicLoss | number | 生态系统服务损失总额,单位为 10 亿美元 |
totalSpeciesLoss | number | 估计的物种损失总数 |
regionsAbovePercolation | number | 超过渗流阈值(连通性崩溃)的区域数量 |
globalConnectivity | number | 全球栖息地连通性指数,范围为 0–1 |
losses[] | BiodiversityLoss[] | 各区域的明细 |
losses[].region | string | 区域名称 |
losses[].habitatArea | number | 栖息地面积,单位为 km² |
losses[].speciesLoss | number | 根据物种-面积关系估算的物种损失 |
losses[].economicValue | number | 生态系统服务损失,单位为美元 |
losses[].abovePercolation | boolean | 若栖息地破碎化超过渗流阈值,则为 True |
losses[].connectivityIndex | number | 根据最大集群比例计算的区域连通性 |
attribute_climate_damages
| Field | Type | Description |
|---|---|---|
attributableFraction | number | 可归因于人为强迫的观测损失比例 |
detected | boolean | 如果检测统计量超过卡方阈值,则为 True |
detectionStatistic | number | d = β^T · (X^T · Cn⁻¹ · X)⁻¹ · β |
residualVariance | number | 归因后的未解释方差 |
totalObserved | number | 观测到的损失信号总量 |
totalAttributed | number | 归因的损失总量 |
signals[] | object[] | 各信号的归因结果 |
signals[].name | string | 信号名称(Anthropogenic、Natural 等) |
signals[].beta | number | 此信号的缩放因子 β |
signals[].betaStd | number | β 估计值的标准误 |
signals[].significant | boolean | 如果信号在 95% 置信度下可检测,则为 True |
开展气候经济分析需要多少费用?
所有工具均采用按事件付费。每次工具调用都会触发一笔费用,计算成本已包含在内。没有订阅或最低消费要求。
| 工具 | 每次调用价格 | 10 次调用 | 100 次调用 |
|---|---|---|---|
simulate_integrated_assessment | $0.035 | $0.35 | $3.50 |
detect_tipping_cascades | $0.030 | $0.30 | $3.00 |
quantify_damage_uncertainty | $0.030 | $0.30 | $3.00 |
optimize_robust_adaptation | $0.040 | $0.40 | $4.00 |
downscale_spatial_impacts | $0.035 | $0.35 | $3.50 |
forecast_carbon_price_regimes | $0.030 | $0.30 | $3.00 |
assess_biodiversity_economic_loss | $0.030 | $0.30 | $3.00 |
attribute_climate_damages | $0.030 | $0.30 | $3.00 |
Apify 免费套餐每月包含 $5 额度,足以让你每月免费调用工具约 140–160 次。你可以在 MCP 客户端中设置每个会话的最高支出限额;服务会在收费前检查限额,达到限额时返回结构化错误,而不是悄无声息地失败。
相比之下,企业级气候数据平台(Bloomberg NEF、MSCI Climate、Verisk)针对类似的情景建模能力,每年收费 $50,000–$200,000。
Climate-Economic Nexus MCP 的工作原理
阶段 1:从 18 个 Actor 并行收集数据
每次工具调用都会通过 Promise.all 并行执行最多 18 个 Apify Actor。每个 Actor 调用的超时时间为 180 秒,内存分配为 256 MB。actor-client.ts 中的 Actor 客户端会妥善处理故障:单个数据源出错时会返回空数组,而不会中止整个运行。结果会先汇总到类型化集合(climateData、economicData、disasterData、biodiversityData、geoData)中,再传递给评分引擎。
阶段 2:以数据校准模型初始化
运行前,会根据实时数据校准每个数学模型。例如,DICE 模型会从 NOAA 和 GDACS 记录中提取温度异常数值以设置 baseTemp,从世界银行和 IMF 获取 GDP 数值以设置 baseGdp,并读取 CO2 浓度数据以初始化 baseEmissions。如果数据源没有返回可用的数值,模型会回退到已发布的 IPCC/Nordhaus 基准常量。这意味着结果反映的是实际当前状况,而不是静态参数集。
阶段 3:算法执行
校准完成后,将运行八种不同的数学框架:
DICE 综合评估 实现 Nordhaus 的三储层碳循环:M_ATM(t+1) = φ₁₁·M_ATM + φ₂₁·M_UP + E(t),其中传递系数采用 2017 年 DICE 校准值(φ₁₁ = 0.88、φ₁₂ = 0.0472 等)。双箱能量平衡模型使用 T_ATM(t+1) = T_ATM + ξ₁·(F(t) − λ·T_ATM − ξ₃·(T_ATM − T_OCEAN)) 推进温度,其中气候反馈系数 λ = 1.18,辐射强迫系数 η = 3.68 W/m²。碳税从初始值开始,每年递增 3%;减排比例通过 μ = min(carbonTax / backstopPrice, 1) 计算。
尖点灾变临界转折 使用 Thom 尖点势函数 V(x;a,b) = x⁴/4 + ax²/2 + bx 为 5 个临界转折要素分别建立参数模型。判别式 Δ = 8a³ + 27b² 用于确定与分岔集的接近程度。Monte Carlo 路径使用 Euler-Maruyama 离散化处理带 Heaviside 耦合的联立随机微分方程:x_i(t+dt) = x_i(t) + f_i(x)·dt + Σⱼ αᵢⱼ·H(xⱼ − θⱼ)·dt + σᵢ·√dt·Z。n_paths 默认值为 5,000。
高斯过程空间降尺度 使用 Matern-3/2 核函数 k(r) = σ²·(1 + √3·r/l)·exp(−√3·r/l),并使用 Lanczos gamma 函数以及修正贝塞尔 K_ν 函数近似计算一般形式的 Matern 核。GP 预测遵循 μ* = K*ᵀ·(K + σₙ²·I)⁻¹·y,后验方差为 Σ* = K** − K*ᵀ·(K + σₙ²·I)⁻¹·K*。类 Cholesky 逆运算使用带种子的 Mulberry32 PRNG,确保在输入查询相同时结果可复现。
碳价机制 Hamilton 滤波器 执行前向递归:ξ_{t|t} = (f(y_t|s_t) ⊙ ξ_{t|t−1}) / (1ᵀ·f(y_t|s_t) ⊙ ξ_{t|t−1}),覆盖 3 种机制,并叠加跳跃扩散动态与各机制特有的漂移和波动率参数。
阶段 4:结构化 JSON 响应
结果会序列化为 JSON,并以 MCP text 内容项的形式返回。返回前会裁剪大型数组(例如,每 10 步保留一次轨迹快照、空间点数上限设为 50、仅保留最近 20 个过滤后价格),以便将响应大小控制在 MCP 客户端限制范围内,同时保留分析的完整性。
获得最佳结果的提示
-
在查询中明确地理位置。 与「洪水风险」相比,「孟加拉国沿海洪水风险」能从 NOAA、FEMA 和 Nominatim 获得校准更准确的结果。Nominatim 会将地名解析为坐标,为空间降尺度网格提供定位依据。
-
探索新主题时,从
simulate_integrated_assessment开始。 它会调用全部 18 个数据源,提供涵盖气候与经济背景最广泛的结果。利用 SCC 和温度轨迹输出,为向其他工具提出更具体的后续查询提供框架。 -
在报告中引用数据前,先使用
quantify_damage_uncertainty。 第 95 和第 99 百分位的尾部风险通常是均值估计的 3–5 倍。modelDisagreement字段会告诉你存在多大程度的跨区域方差——分歧较高时,区域细分比全球平均值更重要。 -
将
detect_tipping_cascades与attribute_climate_damages搭配使用。 级联分析会识别哪些要素接近分岔点;归因分析则会说明驱动强迫中有多大比例是人为因素。两者结合,便能同时回答「我们离临界点有多近?」和「这在多大程度上是我们的责任?」。 -
近期规划将
horizon_years设为 50,长期战略则设为 150。 DICE 模型按年运行时间步,因此设置为 300 年(最大值)会增加计算时间。对于使用寿命为 30 年的基础设施,将时间范围设为 50 年并采用较高的初始碳税,最能提供有用信息。 -
每季度使用
forecast_carbon_price_regimes。 碳市场取决于所处机制,随着新的政策信号出现,转换概率也会变化。使用「EU ETS reform 2025」或「California AB 32 auction」等更新后的查询运行该工具,有助于在新兴机制转变反映到价格之前发现它们。 -
将
downscale_spatial_impacts的结果接入资产级风险分析。 将hotspots数组(预测异常值最高的网格点)传递给地理编码器或 GIS 系统,以确定哪些实体资产位于高异常区域内。
与其他 Apify actor 结合使用
| Actor | 组合方式 |
|---|---|
| 公司深度研究 | 先运行气候经济情景分析,再将 SCC 和转型风险发现传入公司深度研究,评估发行人层面的气候风险敞口 |
| SEC EDGAR 文件分析器 | 将气候损害不确定性输出与企业 10-K 文件中的气候风险披露交叉比对,分析重大性差距 |
| ESG 风险评估 | 将归因比例和临界点级联概率作为量化物理风险输入,用于 ESG 评分 |
| 竞争对手分析报告 | 使用碳价机制预测,对比竞争对手在不同 ETS 机制下的排放成本风险敞口 |
| 联邦合同情报 | 识别与 PRIM 发现的脆弱情景区域相关的政府气候适应合同 |
| 法规变更追踪器 | 监测可能触发 forecast_carbon_price_regimes 所识别机制转换的碳定价政策变化 |
| 股票情报报告 | 将碳的社会成本估算映射到各行业的盈利风险敞口,用于气候调整后的股票估值 |
局限性
- 模型是简化实现,并非 IPCC 级别的模拟器。 例如,DICE 使用年度时间步长和线性碳税优化,而非完整的非线性动态规划。结果适用于情景分析和方向性风险评估,但未经专家审核,不适合用于监管申报。
- 数据校准取决于查询质量。 如果查询未从数据源返回数值(例如,NOAA 对抽象查询未返回温度记录),该数据源将回退到基准常量。查询越具体、地理位置越明确,校准结果越好。
- 每次调用都会运行全部 18 个参与方。 调用之间不会缓存数据。同一查询运行两次,每次事件都会产生完整费用。
- 空间降尺度网格的分辨率限制为 1–10 度。 此工具无法提供低于 1 度或资产级的分辨率。如需更精细的空间分析,请导出热点坐标,并通过专用地理空间服务进行处理。
- 碳价预测涵盖近期至中期的制度动态。 长期结构性碳价建模(数十年后的绝对价格水平)并非预期用途;制度转换模型经过校准,用于识别 1–5 年时间范围内的转换概率。
- 归因分析适用于汇总损失信号。 最优指纹法的实现无法单独归因个别事件,而是基于 GDACS 和 FEMA 返回的灾害记录统计集合进行分析。对于单一事件的归因,仍需领域专家进行反事实分析。
- 生物多样性渗流采用默认的 50×50 晶格。 将
lattice_size增至 100 可提高空间分辨率,但计算耗时为 O(n²)。不建议将晶格值设为 100 以上。 - 汇率归一化以 USD 为中心。 损失估算使用实时汇率归一化为 USD。对于多币种投资组合分析,请参考区域损失占 GDP 的比例,而非绝对美元金额。
❓ 常见问题
使用 Apify 免费计划,每月可以调用多少次工具? 免费计划包含每月 $5 的额度。按每次调用 $0.030–$0.040 计算,每月约可调用 125–165 次工具。付费计划起价为每月 $49,额度显著更高。
Climate-Economic Nexus MCP 使用真实的气候模型吗? 数学框架实现了已发表的同行评审方法:Nordhaus DICE 综合评估模型、用于临界要素分析的 Thom 尖点突变理论、用于归因分析的 Allen 和 Stott 最优指纹法,以及用于稳健决策的 Lempert PRIM。这些框架使用来自 18 个权威数据源的真实数据运行。结果是情景分析,而非确定性预测;对于高风险决策,应由具备领域资质的专业人士进行解读。
温度和损失预测有多准确?
预测反映的是经过校准的模型运行结果,而非 IPCC 集合输出。模型会明确量化不确定性:quantify_damage_uncertainty 返回第 95 和第 99 百分位的尾部风险;detect_tipping_cascades 返回基于 5,000 条蒙特卡洛路径的级联概率分布;downscale_spatial_impacts 返回每个网格点的后验标准差。请参考不确定性范围,而不只是点估计。
此服务涵盖哪些时间范围?
simulate_integrated_assessment 支持最长 300 年的时间范围(默认 100 年,从 2025 年开始按年度时间步长运行)。forecast_carbon_price_regimes 涵盖近期至中期的制度转换(1–5 年)。downscale_spatial_impacts 生成当前状态快照,而非前向预测。detect_tipping_cascades 按指定的 horizon_years 运行(默认 100 年)。
我可以将其用于 TCFD、EU Taxonomy 或其他气候监管披露吗?
这些工具会生成符合 TCFD 物理风险框架的情景分析结果,并支持 EU Taxonomy 要求的定性情景叙述。合规申报需要由具备资质的气候风险专业人士审核。该服务不会生成监管申报文件,而是提供支持这些文件的定量输入。
这与 Bloomberg NEF 或 MSCI Climate 有何不同? Bloomberg NEF 和 MSCI Climate 是企业级平台,配有人工分析师团队、专有模型,年度许可费用起价为 $50,000 以上。此 MCP 服务是一个自助式 API,在公开数据的基础上实现已发布的开源方法。它适合希望将气候分析集成到自有工具、AI 工作流或研究流程中的团队,且无需承担企业级许可费用。
使用这些底层数据源合法吗? 全部 18 个数据源——NOAA、USGS、GDACS、OpenAQ、World Bank、IMF、FRED、OECD、Eurostat、GBIF、IUCN、FEMA 等——都在开放数据或政府开放数据许可下提供公开数据。使用此服务不涉及抓取私有或付费墙后的内容。一般性指引请参阅 Apify 关于网络抓取合法性的指南。
每次工具调用需要多长时间?
工具调用的耗时取决于数据源的响应速度。服务会并行发起所有 Actor 调用,因此实际耗时约等于响应最慢的数据源所需的时间(通常为 30–120 秒)。simulate_integrated_assessment 会调用 18 个 Actor,通常最慢,需要 60–150 秒。forecast_carbon_price_regimes 调用的高延迟经济数据源较少,通常可在 30–90 秒内完成。
我可以在一次 Agent 对话中依次运行多个工具吗?
可以。每次工具调用都是独立的。常见模式是:先运行 simulate_integrated_assessment 获取背景信息,再运行 detect_tipping_cascades 评估级联风险,最后运行 quantify_damage_uncertainty 获取尾部风险界限。每个工具的支出上限检查可防止意外超支。
如果 18 个数据源中有一个不可用,会发生什么? Actor 客户端会妥善处理故障。每次 Actor 调用都由 try-catch 包裹,发生故障时会返回空数组。随后,模型会针对缺失的数据源回退到基线常数。结果会有所降级,但不会完全失效。该工具会记录哪些 Actor 调用失败,方便你排查数据源的可用性。
我可以将此服务连接到自定义 AI Agent 框架吗?
可以。/mcp 端点通过 StreamableHTTP 传输实现基于 HTTP 的 Model Context Protocol (MCP)。任何支持 MCP 的框架——包括使用 MCP 适配器的 LangChain、LlamaIndex、AutoGen 以及自定义 Agent 循环——都可以连接。该服务也接受原始的 tools/call JSON-RPC 请求,因此无需 MCP 库即可使用任何 HTTP 客户端连接。
DICE 的碳社会成本是如何计算的?
碳社会成本按额外排放 1 GtCO2 造成的边际损害现值计算,使用 Nordhaus 二次损害函数 Ω(T) = 1/(1 + π₁·T + π₂·T²),其中 π₂ = 0.00236,并按纯时间偏好率 ρ = 1.5% 贴现。三库碳循环使用 DICE-2016 转移系数(φ₁₁ = 0.88)追踪大气碳的累积。
帮助我们改进
如果你遇到意外结果或工具调用失败,请启用运行共享,以便我们更快地诊断问题:
- 前往 账户设置 > 隐私
- 启用 与公开的 Actor 创建者共享运行记录
这样一来,出现问题时我们就能查看运行日志和数据源响应。你的数据仅对 Actor 开发者可见,不会公开。
集成
- Zapier — 从 Zapier 工作流触发气候情景分析;将碳社会成本结果导入 Google Sheets 或 Airtable 以便生成报告
- Make — 自动监控月度碳价机制;将机制转换提醒发送至 Slack 或电子邮件
- Google Sheets — 将 DICE 轨迹快照和区域损害估算值直接导出到电子表格,用于董事会级别的报告
- Apify API — 通过 Python 或 JavaScript 管道以编程方式触发分析;集成到现有气候风险平台
- Webhooks — 在长时间运行的 DICE 模拟或级联分析完成时接收通知
- LangChain / LlamaIndex — 将全部 8 个工具注册为 LangChain 工具或 LlamaIndex 查询引擎,用于具备气候认知能力的 RAG 管道
故障排除
工具返回默认值/基线值,尽管查询内容具体。 这通常表示查询未能从一个或多个数据源中获取数值数据。请确认查询中包含地理背景和相关领域术语(例如,“Amazon deforestation tipping 2050”,而不是“tipping points”)。像“climate”这样的抽象查询,在 NOAA、GDACS 和 World Bank 中匹配到的数值更少。
MCP 客户端中的工具调用超时。 服务会并行调用 18 个 actor,每个 actor 的超时时间为 180 秒。对于查询全部 18 个来源的工具,实际总耗时可能达到 2–3 分钟。请将 MCP 客户端的工具超时时间设为至少 300 秒。Claude Desktop 的默认超时时间为 60 秒;如有可能,请在客户端设置中调高。
首次调用时出现达到支出限额的错误。 这表示工具运行前触发了 eventChargeLimitReached 标志。请检查 Apify 账户余额并充值,或在 actor 配置中调高运行支出限额。免费计划提供的 $5 额度是最常见的原因。
所有临界转折要素的 cascadeProbability 均为 0.0。 级联模拟使用由查询字符串哈希初始化的、带种子的 Mulberry32 PRNG。非常短或只有一个词的查询可能导致参数初始化退化。请尝试使用描述性更强的查询:“AMOC Atlantic thermohaline circulation weakening Arctic warming”比“AMOC”能生成更丰富的参数化结果。
attributableFraction 恰好返回 1.0。 这表示灾害数据中的自然变率基线接近于零,因此人为因素占比默认占主导。请确认查询包含具体的极端事件类型(例如,“2024 hurricane season damage attribution”),以便 GDACS 和 FEMA 返回多样化的灾害记录,用于基线校准。
负责任地使用
- 全部 18 个底层数据源均提供依据开放数据或政府开放数据许可公开提供的数据。
- 模型输出是概率性情景分析。未经专家审查,请勿在监管、法律或金融场景中将其作为确定性预测呈现。
- 在将输出用于投资决策或公开披露时,请遵守适用的数据保护和金融法规。
- 如需了解网络抓取的合法性,请参阅 Apify 指南。
支持
发现 Bug 或有功能建议?请在此 actor 页面上的 Issues 选项卡中提交问题。如需定制集成、企业部署或其他数学框架,请通过 Apify 平台联系。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。