关于 Water Utility Risk Intelligence
Water Utility Risk Intelligence 面向分析师、市政债券信用团队和 ESG 投资者评估市政供水系统。它整合 9 个政府数据源与 4 种评分模型,返回综合评分、分项结果、风险信号和建议。
主要功能
- 01整合 9 个政府数据源
- 02计算综合及分项评分
- 03评估污染、基础设施、气候与可负担性
- 04比较供水系统
- 05提供风险信号和建议
- 06提供 8 个 MCP 工具
适用场景
- 01筛查市政债券信用风险
- 02为 ESG 水风险审查排列投资组合
- 03监测污染物与法规风险
- 04为规划和基准分析比较供水系统
MCP 相关
该 MCP 服务提供 8 个工具,用于系统综合评估、专项风险查询、比较和流域报告。MCP 客户端可按系统名称或地区发起查询。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://ryanclinton--water-utility-risk-intelligence-mcp.apify.actor/mcpclaude mcp add --transport http water-utility-risk-intelligence https://ryanclinton--water-utility-risk-intelligence-mcp.apify.actor/mcp{"mcpServers":{"water-utility-risk-intelligence":{"type":"http","url":"https://ryanclinton--water-utility-risk-intelligence-mcp.apify.actor/mcp"}}}在 Cursor 中打开{"servers":{"water-utility-risk-intelligence":{"type":"http","url":"https://ryanclinton--water-utility-risk-intelligence-mcp.apify.actor/mcp"}}}在 VS Code 中打开{"mcpServers":{"water-utility-risk-intelligence":{"type":"http","url":"https://ryanclinton--water-utility-risk-intelligence-mcp.apify.actor/mcp"}}}{"mcpServers":{"water-utility-risk-intelligence":{"serverUrl":"https://ryanclinton--water-utility-risk-intelligence-mcp.apify.actor/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
水务公用事业风险情报 MCP 服务
快速开始
添加到你的 MCP 客户端(Claude Desktop、Cursor、Windsurf):
{
"mcpServers": {
"water-utility-risk-intelligence-mcp": {
"url": "https://ryanclinton--water-utility-risk-intelligence-mcp.apify.actor/mcp"
}
}
}
为分析师、债券信用团队和 ESG 投资者提供水务公用事业风险情报,帮助他们对市政供水系统进行结构化、多维度评估。此 MCP 服务并行整合 9 个政府数据源——OpenAQ、USGS、FEMA、NOAA、Data.gov、Federal Register、CFPB、World Bank 和 BLS——并应用 4 种评分模型,针对污染暴露、基础设施压力、干旱与气候以及可负担性等维度,生成 综合水风险评分(0–100)。
将其连接到 Claude、Cursor、Windsurf 或任何兼容 MCP 的 AI 客户端,即可按名称查询供水系统。结果包含各维度评分、可执行信号和具体的补救建议——初始设置后无需编写代码。
可以访问哪些数据?
| 数据点 | 来源 | 示例 |
|---|---|---|
| 📡 作为工业污染替代指标的空气质量读数 | OpenAQ | 萨克拉门托河取水口附近 PM2.5 = 78 µg/m³ |
| 🌊 地震事件和震级数据 | USGS Earthquake Search | 配水主管道 12 km 范围内发生 M5.2 地震 |
| 🚨 影响供水基础设施的 FEMA 灾害公告 | FEMA Disaster Search | DR-4699-CA——严重洪灾,影响 2 座水厂 |
| 🌩️ 干旱、洪水和极端天气预警 | NOAA Weather Alerts | 极端干旱警报——萨克拉门托山谷 |
| 📂 联邦水质违规数据库、SDWA 执法记录 | Data.gov | 找到 14 个饮用水违规数据集 |
| 📋 EPA MCL 变更、PFAS 规则制定、SDWA 修正案 | Federal Register | 最终规则:PFAS MCL 4 ppt——2026 年生效 |
| 💬 供水公用事业账单和服务投诉 | CFPB Consumer Complaints | 弗雷斯诺地区 23 起账单/停水投诉 |
| 🌍 全球淡水供应量和水资源短缺指数 | World Bank Indicators | 人均可再生淡水资源:1,847 m³/年 |
| 💼 地区失业率、收入和贫困指标 | BLS Economic Data | 克恩县失业率 8.4% |
| 🎯 综合水风险评分(0–100) | 评分模型 | 评分:67——HIGH_RISK |
| ⚠️ 污染物警报数量(PFAS、铅、砷等) | Federal Register + Data.gov | 检测到 5 项污染物监管行动 |
| 🏗️ 基础设施风险等级分类 | USGS + FEMA + NOAA | DETERIORATING(评分:58) |
| 💧 水资源压力等级分类 | NOAA + World Bank | SCARCE(干旱评分:62) |
| 💰 可负担性压力等级 | CFPB + BLS | UNAFFORDABLE(评分:61) |
| 📌 可执行的风险信号 | 汇总所有来源 | “3 项紧急 MCL 规则——需要升级处理设施” |
| 📝 具体的补救建议 | 评分引擎 | “存在多项污染物法规——升级处理设施” |
为什么使用 Water Utility Risk Intelligence MCP?
手动研究供水系统风险,意味着要分别查询 EPA SDWIS 数据库、获取 FEMA 灾害声明、查找 NOAA 干旱监测数据、翻阅《联邦公报》中的规则制定公告,并交叉比对当地经济数据——所有工作都要逐项手动完成。评估单个供水系统可能需要 4–6 小时。若要评估 20 个系统的组合,则会耗费分析师数周时间。
此 MCP 可自动完成整个流程。只需让 AI 客户端按名称评估供水系统,2 分钟内即可收到一份结构化报告,其中包含综合水风险评分、四项维度评分、从各数据源提取的具体风险信号,以及按优先级排序的建议。评分模型透明公开——所有影响评分的信号都会在输出中列出。
- 定期调度 — 在 Apify Scheduler 上运行定期供水系统评估,跟踪风险评分随时间的变化
- API 访问 — 通过 Apify API,使用 Python、JavaScript 或任意 HTTP 客户端触发评估
- 待机模式 — 服务在请求之间保持预热状态,确保 MCP 工具调用延迟较低
- 监控 — 通过 Apify webhooks,在风险评分超过阈值时接收 Slack 或电子邮件提醒
- 集成 — 连接到 Zapier、Make,或将结果直接推送到 CRM 或数据仓库
功能
- 4 种独立评分模型 — 水脆弱性(最高 100 分)、基础设施风险(最高 100 分)、干旱/气候(最高 100 分)和可负担性压力(最高 100 分),每种模型均包含透明的子项
- 综合水风险评分 — 加权平均:水脆弱性占 30%、基础设施占 25%、干旱/气候占 25%、可负担性占 20%
- 追踪 18 种污染物类型 — PFAS、PFOA、PFOS、铅、砷、硝酸盐、细菌、大肠杆菌、总大肠菌群、三卤甲烷、氯、氟化物、汞、铬、镭、铀、高氯酸盐、微塑料
- 以空气质量作为污染代理指标 — 水源附近工业 PM2.5 > 50 µg/m³ 时,会标记潜在的污染共同暴露风险,最高计 25 分
- MCL 紧急规则检测 — 扫描《联邦公报》中“maximum contaminant level”和“emergency”等关键词,每项紧急规则最高加 10 分
- 地震基础设施评分 — M4.0+ 地震每次计 10 分,M6.0+ 地震会触发明确的管道破裂信号,最高计 30 分
- FEMA 洪水和风暴事件加权 — 洪水/飓风/风暴事件每次计 8 分;其他灾害每次计 3 分,最高计 30 分
- NOAA 干旱与高温叠加影响 — 干旱和高温事件同时发生时,额外增加 15 分,以反映叠加的水资源压力
- CFPB 账单关键词检测 — 扫描投诉文本中的 8 个账单关键词(账单、停供、断供、超额收费等),以识别供水服务缴费困难
- BLS 失业率阈值评分 — 失业率高于 6% 时增加 10 分可负担性评分;CPI 通胀率高于 4% 时增加 8 分
- 世界银行贫困指标 — 贫困率高于 15% 时增加 10 分;基尼系数高于 40 时增加 5 分
- 每个维度均采用 5 级风险分类 — 每种模型都会返回一个命名等级:例如,最差情形为 CRITICAL / FAILING / EMERGENCY / CRISIS,最佳情形为 LOW / MODERN / ABUNDANT / AFFORDABLE
- 8 个 MCP 工具 — 提供用于定向查询的专用工具,以及一个可同时查询全部 9 个数据源的完整流域报告工具
- 并行获取数据 — 所有上游 Actor 都通过
Promise.all并发运行,使查询 9 个数据源的报告延迟低于 2 分钟 - 费用上限保护 — 每个工具在执行前都会检查
eventChargeLimitReached,以防止费用失控
水务风险情报的使用场景
市政债券信用分析
评估水务收入债券的债券分析师和信用评级团队,需要评估服务区域内的基础设施状况、监管合规风险和可负担性风险。此 MCP 将原本需要数天的手动研究流程缩短为一次工具调用。让你的 AI 针对某家公用事业机构运行 water_system_risk_assessment,即可获得结构化风险档案,以及常规信用分析往往会忽略的 FEMA 灾害历史、地震风险和 CFPB 投诉量。
ESG 投资组合水风险筛查
筛查市政和企业持仓中的水相关风险、并受 ESG 投资要求约束的资产管理公司,可以使用此 MCP 量化风险敞口。干旱/气候评分和污染物风险敞口检查符合 TCFD 实体风险框架。对投资组合中的服务区域运行 compare_water_systems,并按综合评分排列持仓,以确定参与优先级。
PFAS 和污染物监测
监测 PFAS、铅制供水管线更换和新兴污染物法规的环境合规团队和法务部门,可以使用 contaminant_exposure_check 跟踪针对特定供水系统的《联邦公报》规则制定动态。该工具会返回原始监管文件和评分后的污染物警报数量,供分析师查阅底层文件。
水务公用事业同业基准比较
对照同类系统进行绩效基准比较的公用事业运营经理和顾问,可以使用 compare_water_systems 为每家公用事业机构生成标准化的分维度评分。四项维度评分——脆弱性、基础设施、干旱、可负担性——为不同规模和地域的系统提供一致的比较框架。
气候适应和基础设施规划
制定 20 年资本改善计划的工程公司和公用事业规划人员,可以结合使用 infrastructure_age_analysis 和 drought_climate_forecast,量化地震风险、FEMA 灾害历史和当前干旱状况造成的复合风险。返回的信号会指出哪些具体事件正在影响评分,为资本优先级决策提供依据。
可负担性和公平性分析
研究水费可负担性问题的政策研究人员和公用事业监管机构,可以使用 affordability_stress_index,将 CFPB 账单投诉数据与服务区域的 BLS 失业率和世界银行贫困指标相结合。在经济压力较大的地区,较高的投诉量会生成具体信号——“失业率为 9.1%——支付公用事业账单的能力下降”——从而量化公平性风险。
如何使用水务公用事业风险情报
- 连接 MCP 服务 — 将服务 URL 添加到 MCP 客户端配置中(见下方的连接部分)。你需要 Apify 账户和 API 令牌,可从 console.apify.com 获取。
- 选择工具 — 如需完整评估,请使用
water_system_risk_assessment。如需聚焦特定问题(污染物检查、干旱预测、可负担性指数),请使用相应的专用工具。如需查询区域而非指定公用事业机构,请使用watershed_risk_report。 - 运行查询 — 询问你的 AI:“评估密歇根州弗林特市的水务公用事业风险。” MCP 会调用相应工具,并行查询最多 9 个数据源,并在 60–120 秒内返回结果。
- 解读输出 — 你会收到综合水风险评分(0–100)、明确的风险结论(从 LOW_RISK 到 CRITICAL)、各维度评分、易于理解的风险信号以及具体建议。可按需导出或汇总。
MCP 工具
| 工具 | 价格 | 数据来源 | 参数 |
|---|---|---|---|
water_system_risk_assessment | $0.045 | 全部 9 个来源 | system、state(可选) |
contaminant_exposure_check | $0.045 | OpenAQ、Federal Register、Data.gov | location、contaminant(可选) |
infrastructure_age_analysis | $0.045 | USGS、FEMA、NOAA | location |
drought_climate_forecast | $0.045 | NOAA、World Bank | region |
affordability_stress_index | $0.045 | CFPB、BLS、World Bank | system |
regulatory_compliance_gap | $0.045 | Federal Register、Data.gov | system、regulation(可选) |
compare_water_systems | $0.045 | OpenAQ、USGS、NOAA、Federal Register、CFPB | system |
watershed_risk_report | $0.045 | 全部 9 个来源 | region、state(可选) |
工具参数参考
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
system | string | 不定 | 水务公司名称、自治市或服务区域(例如“Phoenix Water Services”) |
state | string | 否 | 用于监管背景的州名(例如“Arizona”) |
location | string | 不定 | 污染物或基础设施工具所需的城市、县或供水系统 |
contaminant | string | 否 | 关注的特定污染物:“PFAS”“lead”“arsenic” |
region | string | 不定 | 气候或流域工具所需的流域、县或地区 |
regulation | string | 否 | 要查询的特定法规:“PFAS”“LCRI”“SDWA” |
输出示例
对“Denver”调用 water_system_risk_assessment 会返回:
{
"system": "Denver",
"compositeScore": 44,
"verdict": "ELEVATED",
"waterVulnerability": {
"score": 38,
"contaminantAlerts": 4,
"airQualityImpact": 12,
"environmentalRisk": 10,
"riskLevel": "MODERATE",
"signals": [
"4 contaminant-related regulatory actions",
"2 extreme air quality events — industrial contamination risk to water sources"
]
},
"infrastructure": {
"score": 51,
"seismicRisk": 10,
"disasterExposure": 24,
"climateStress": 17,
"riskLevel": "AGING",
"signals": [
"M4.3 earthquake — critical infrastructure damage risk",
"4 flood/storm disasters — water treatment plant vulnerability",
"2 drought alerts — water supply stress"
]
},
"droughtClimate": {
"score": 46,
"droughtAlerts": 2,
"heatEvents": 4,
"waterStressLevel": "STRESSED",
"signals": [
"2 active drought conditions — water supply crisis risk",
"4 heat events — increased water demand + evaporation",
"Concurrent drought + heat — compounding water stress"
]
},
"affordability": {
"score": 39,
"complaints": 11,
"economicStress": 18,
"affordabilityLevel": "STRESSED",
"signals": [
"8 billing complaints — rate affordability concern",
"Unemployment 6.8% — reduced ability to pay utility bills"
]
},
"allSignals": [
"4 contaminant-related regulatory actions",
"2 extreme air quality events — industrial contamination risk to water sources",
"M4.3 earthquake — critical infrastructure damage risk",
"4 flood/storm disasters — water treatment plant vulnerability",
"2 drought alerts — water supply stress",
"2 active drought conditions — water supply crisis risk",
"4 heat events — increased water demand + evaporation",
"Concurrent drought + heat — compounding water stress",
"8 billing complaints — rate affordability concern",
"Unemployment 6.8% — reduced ability to pay utility bills"
],
"recommendations": [
"Multiple contaminant regulations — upgrade treatment capabilities",
"Seismic zone — ensure pipe materials and joints are earthquake-rated"
]
}
输出字段
| 字段 | 类型 | 说明 |
|---|---|---|
system | string | 按原样提供的供水系统名称 |
compositeScore | number | 加权综合风险评分,范围为 0–100 |
verdict | string | LOW_RISK / MANAGEABLE / ELEVATED / HIGH_RISK / CRITICAL |
waterVulnerability.score | number | 污染脆弱性评分,范围为 0–100 |
waterVulnerability.contaminantAlerts | number | 检测到的污染物监管行动数量 |
waterVulnerability.airQualityImpact | number | 空气质量污染代理子评分(0–25) |
waterVulnerability.environmentalRisk | number | 综合环境风险子评分(0–20) |
waterVulnerability.riskLevel | string | LOW / MODERATE / ELEVATED / HIGH / CRITICAL |
waterVulnerability.signals | string[] | 影响评分的易读信号 |
infrastructure.score | number | 基础设施压力评分,范围为 0–100 |
infrastructure.seismicRisk | number | 根据 USGS 数据得出的地震子评分(0–30) |
infrastructure.disasterExposure | number | FEMA 灾害暴露子评分(0–30) |
infrastructure.climateStress | number | NOAA 气候压力子评分(0–25) |
infrastructure.riskLevel | string | MODERN / ADEQUATE / AGING / DETERIORATING / FAILING |
infrastructure.signals | string[] | 来自地震、灾害和天气数据的信号 |
droughtClimate.score | number | 干旱和气候水资源压力评分,范围为 0–100 |
droughtClimate.droughtAlerts | number | 当前有效的 NOAA 干旱警报数量 |
droughtClimate.heatEvents | number | NOAA 高温事件数量 |
droughtClimate.waterStressLevel | string | ABUNDANT / ADEQUATE / STRESSED / SCARCE / EMERGENCY |
droughtClimate.signals | string[] | 干旱、高温和降水信号 |
affordability.score | number | 可负担性压力评分,范围为 0–100 |
affordability.complaints | number | CFPB 收到的账单和债务投诉总数 |
affordability.economicStress | number | BLS 经济压力子评分(0–30) |
affordability.affordabilityLevel | string | AFFORDABLE / MANAGEABLE / STRESSED / UNAFFORDABLE / CRISIS |
affordability.signals | string[] | 投诉、失业和贫困信号 |
allSignals | string[] | 汇总全部四个维度的信号 |
recommendations | string[] | 根据评分阈值触发的具体补救措施 |
评估供水系统风险需要多少费用?
此 MCP 使用按调用计费:每次工具调用收费 $0.045。费用已包含 Apify 平台计算成本。
| 场景 | 工具调用次数 | 每次调用费用 | 总费用 |
|---|---|---|---|
| 快速测试 — 单个供水系统 | 1 | $0.045 | $0.045 |
| 针对性检查(污染物 + 干旱 + 负担能力) | 3 | $0.045 | $0.135 |
| 完整供水系统评估 + 对比 | 5 | $0.045 | $0.225 |
| 每周监测 — 10 个供水系统 | 10 | $0.045 | $0.45 |
| 每月投资组合筛查 — 50 个供水系统 | 50 | $0.045 | $2.25 |
你可以为每次运行设置最高支出限额来控制费用。达到预算后,服务将停止计费。
Apify 免费计划包含每月 $5 的平台额度,足够每月进行 100 多次供水系统风险评估。
相比之下,商业供水风险数据平台会为预先生成的风险评分收取每月 $500–2,000 的费用。使用此 MCP,大多数用户每月只需花费 $2–10,无需订阅承诺,并且可以完整了解每项评分的计算依据。
如何连接此 MCP 服务
Claude Desktop
在 claude_desktop_config.json 中添加:
{
"mcpServers": {
"water-utility-risk-intelligence": {
"url": "https://water-utility-risk-intelligence-mcp.apify.actor/mcp",
"headers": {
"Authorization": "Bearer YOUR_APIFY_TOKEN"
}
}
}
}
Cursor / Windsurf / Cline
在 IDE 的 MCP 配置中添加以下 MCP 服务 URL:
https://water-utility-risk-intelligence-mcp.apify.actor/mcp
在 Authorization 标头中将 Apify 令牌作为 Bearer 令牌传入。具体配置位置因客户端而异,请查阅 IDE 的 MCP 文档。
通过 HTTP 编程调用(cURL)
# Run a full water system risk assessment
curl -X POST "https://water-utility-risk-intelligence-mcp.apify.actor/mcp" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_APIFY_TOKEN" \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "water_system_risk_assessment",
"arguments": {
"system": "Flint",
"state": "Michigan"
}
},
"id": 1
}'
Python
import httpx
import json
APIFY_TOKEN = "YOUR_APIFY_TOKEN"
MCP_URL = "https://water-utility-risk-intelligence-mcp.apify.actor/mcp"
def assess_water_risk(system: str, state: str = None):
payload = {
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "water_system_risk_assessment",
"arguments": {"system": system, **({"state": state} if state else {})}
},
"id": 1
}
response = httpx.post(
MCP_URL,
json=payload,
headers={"Authorization": f"Bearer {APIFY_TOKEN}"}
)
result = response.json()
text = result["result"]["content"][0]["text"]
data = json.loads(text)
print(f"System: {data['system']}")
print(f"Composite Score: {data['compositeScore']}/100 — {data['verdict']}")
print(f"Contaminant Alerts: {data['waterVulnerability']['contaminantAlerts']}")
print(f"Infrastructure Level: {data['infrastructure']['riskLevel']}")
print(f"Water Stress: {data['droughtClimate']['waterStressLevel']}")
print(f"Affordability: {data['affordability']['affordabilityLevel']}")
for rec in data.get("recommendations", []):
print(f" - {rec}")
return data
result = assess_water_risk("Phoenix", "Arizona")
JavaScript
const APIFY_TOKEN = "YOUR_APIFY_TOKEN";
const MCP_URL = "https://water-utility-risk-intelligence-mcp.apify.actor/mcp";
async function assessWaterRisk(system, state) {
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: "water_system_risk_assessment",
arguments: { system, ...(state ? { state } : {}) },
},
id: 1,
}),
});
const result = await response.json();
const data = JSON.parse(result.result.content[0].text);
console.log(`${data.system}: Score ${data.compositeScore}/100 — ${data.verdict}`);
console.log(`Contamination: ${data.waterVulnerability.riskLevel}`);
console.log(`Infrastructure: ${data.infrastructure.riskLevel}`);
console.log(`Water Stress: ${data.droughtClimate.waterStressLevel}`);
console.log(`Affordability: ${data.affordability.affordabilityLevel}`);
data.recommendations?.forEach(r => console.log(` Recommendation: ${r}`));
return data;
}
assessWaterRisk("Phoenix", "Arizona");
供水系统风险情报的工作原理
阶段 1 — 并行收集 9 个政府数据源的数据
调用工具时,服务会使用 Promise.all 并发调度最多 9 个 Apify actor:OpenAQ 提供空气质量读数,以此作为水源附近工业污染的代理指标;USGS 提供区域内的地震事件;FEMA 提供影响供水基础设施的已宣布灾害;NOAA 提供当前干旱和极端天气警报;Data.gov 提供联邦水质和违规数据集;Federal Register 提供 EPA 规则制定行动;CFPB 提供有关供水系统账单的消费者投诉;世界银行提供淡水可用性指标;BLS 提供区域经济数据。每个上游 actor 的超时时间为 120 秒,内存分配为 512 MB。针对性工具(如 infrastructure_age_analysis)只调用 3 个相关数据源,而非全部 9 个,从而降低延迟和费用。
阶段 2 — 四个独立评分模型
每个评分模型都会独立处理合并数据中与自身相关的子集:
水资源脆弱性评分会根据 18 个 PFAS/重金属/生物污染物关键词扫描 Federal Register 条目,并统计监管行动和紧急 MCL 规则。AQI 高于 100 的空气质量读数会计入工业污染代理指标(PM2.5 > 50 µg/m³ 时权重翻倍)。各项子分数设有上限:空气质量代理指标(25)、监管活动(30)、Data.gov 违规数据(25)、环境风险综合指标(20)。
基础设施风险评分会解析 USGS 地震记录,并按震级阈值评分——每次 M4.0 及以上地震为地震子分数贡献 10 分(上限 30)。FEMA 灾害记录按事件类型分类:洪水/飓风/风暴事件每起计 8 分,其他灾害每起计 3 分。NOAA 警报会根据 "drought"、"excessive heat"、"flood" 和 "flash flood" 关键词进行解析,并分类严重程度。
干旱/气候评分采用信号叠加机制:同时出现干旱警报(≥1)和高温事件(≥2)时,因复合水资源压力额外加 15 分。World Bank 降水数据中,年降水量低于 500mm 时触发低降雨标记,加 10 分。
可负担性评分会分别扫描 CFPB 投诉文本中的 8 个账单相关关键词和 2 个债务/催收关键词。包含 "unemployment" 的 BLS 系列 ID 中,数值高于 6% 时加 10 分;CPI/通胀系列高于 4% 时加 8 分。
阶段 3 — 综合评分与结论生成
综合分数采用固定权重公式:(vulnerability × 0.30) + (infrastructure × 0.25) + (drought × 0.25) + (affordability × 0.20)。合并前,四项维度分数都会四舍五入为整数。结论阈值为:CRITICAL(≥80)、HIGH_RISK(≥60)、ELEVATED(≥40)、MANAGEABLE(≥20)、LOW_RISK(<20)。建议按条件生成:只有达到对应触发阈值时才会生成——例如,只有在 infrastructure.seismicRisk >= 20 时才会生成地震相关建议,而不是作为通用输出。
阶段 4 — 待机模式交付
服务以 Apify 待机模式运行(usesStandbyMode: true),这意味着它会在请求之间保持运行,而不是每次都冷启动。MCP 端点位于 /mcp,接受遵循 JSON-RPC 2.0 协议的 POST 请求。每个请求都会创建一个新的 McpServer 实例和 StreamableHTTPServerTransport,确保以无状态方式处理请求,避免不同查询之间发生会话内存泄漏。
最佳效果提示
-
为美国公用事业单位填写州信息。
water_system_risk_assessment和watershed_risk_report的state参数会将州名附加到所有上游查询中,从而提高联邦公报和 NOAA 结果的地理精确度,尤其适用于名称常见的公用事业单位。 -
针对性开展 PFAS 工作时,使用
contaminant_exposure_check并指定污染物。 传入contaminant: "PFAS"会让联邦公报查询聚焦于 PFAS 相关规则制定,而非一般水质行动,从而减少监管信号中的噪声。 -
进行债券分析时,先运行
infrastructure_age_analysis。 基础设施风险是资本密集度最高的维度。如果基础设施评分为 LOW 或 ADEQUATE,可以跳过完整的 9 个来源报告以节省成本。 -
使用
compare_water_systems构建基准表。 该工具会在扁平的comparison对象中返回四个维度的评分,因此无需解析嵌套子对象,即可轻松在电子表格或 AI 摘要中汇总 5–10 个系统的结果。 -
将
drought_climate_forecast与watershed_risk_report结合用于区域规划。 干旱工具可更快、更低成本地提供气候概览;当干旱评分超过 STRESSED 时,流域报告可通过完整的多源背景信息确认结果。 -
筛查大型投资组合前,设置支出限额。 在 Apify 账户中,在重复调用工具之前配置单次运行预算。每次调用费用为 $0.045,筛查 50 个公用事业单位需 $2.25——远低于免费额度,但设置支出限额可防止 AI Agent 工作流中出现意外循环。
-
在查看综合评分前,检查
allSignals数组。 这些信号构成审计线索。完全由 CFPB 投诉推动的 65 分,与由 FEMA 灾害声明和地震事件推动的同一评分,其影响截然不同。
与其他 Apify Actor 组合使用
| Actor | 组合方式 |
|---|---|
| NOAA Weather Alerts | 在运行完整水风险评估前,提取某个区域的原始 NOAA 警报数据,以预先筛查干旱状况 |
| Federal Register Search | 直接查询 EPA SDWA 规则制定,以阅读合规差距工具标记的 MCL 变更全文 |
| FEMA Disaster Search | 为基础设施风险评分较高的公用事业单位检索完整的灾害声明记录 |
| CFPB Consumer Complaints | 深入查看被标记为承受较高负担能力压力的公用事业单位的原始投诉叙述 |
| USGS Earthquake Search | 提取历史地震数据,用于开展超出 MCP 评分范围的工程级管道破裂风险评估 |
| World Bank Indicators | 获取长期淡水可用量趋势,用于气候适应规划,补充 MCP 30 分制水资源压力子评分 |
| Company Deep Research | 将供水公用事业风险评分与公司情报报告结合,用于市政债券发行方尽职调查 |
局限性
- 无法直接访问 SDWIS。 EPA 安全饮用水信息系统(SDWIS)包含带有 PWS ID 的系统级违规记录。此 MCP 访问的是 Data.gov 水务数据集和《联邦公报》中的 EPA 行动信息,而非 SDWIS 违规级别的数据。如需查询特定 PWS 的违规历史,请使用 EPA 的 ECHO 数据库。
- 不提供水质样本数据。 此 MCP 评估的是监管和环境风险信号,而非实验室水质检测结果。实际污染物浓度数据(mg/L、µg/L)需要依赖目前尚未接入的数据源样本数据库。
- 空气质量是代理指标,而非直接测量。 污染代理指标使用某地区附近的 OpenAQ 空气质量读数,作为可能影响水源的工业活动指标。该指标不能证明特定空气污染事件与水污染之间存在因果关系。
- 地理精度取决于上游查询的匹配情况。 结果质量取决于系统或地区名称与各上游数据源记录的匹配程度。名称特殊或含义模糊的公用事业单位,可能无法从部分数据源获得足够结果。
- 不提供管道级实时监测。 基础设施风险评分基于地震、灾害和天气事件,不会整合公用事业运营系统中的 SCADA、压力监测或管道破裂记录。
- 世界银行指标是国家级数据。 世界银行的淡水和贫困数据是国家或地区汇总数据,并非针对特定供水系统的服务区域。此类指标的次国家级精度有限。
- CFPB 投诉是针对消费金融产品的投诉。 CFPB 主要追踪与金融产品相关的投诉。CFPB 数据集中的水务账单投诉是有用的参考信号,但不能全面反映费率可负担性或服务质量。
- 评分反映当前数据可用性,而非历史趋势。 每次运行都会查询上游数据源的当前数据。MCP 不会存储历史运行结果;如需自行追踪趋势,请使用 Apify Scheduler 并持久化数据集。
集成
- Apify API — 以编程方式触发水务风险评估,并将结果存储在 Apify 数据集中,以供后续分析
- Zapier — 将水务风险评分结果连接到电子表格、Slack 告警或 CRM 更新,并在评分超过指定阈值时触发相应操作
- Make — 构建自动化工作流,每月运行公用事业评估,并将 HIGH_RISK 结果转交给分析师审核队列
- Webhooks — 在评估完成时接收 HTTP 回调,以便与内部风险管理平台实时集成
- Google Sheets — 将
compare_water_systems的对比结果导入实时 Google 表格,用于投资组合级风险仪表板 - LangChain / LlamaIndex — 将水务风险评估结果作为结构化上下文,用于生成式 AI 撰写的公用事业风险备忘录和投资委员会报告
故障排查
-
已知存在水务问题,但信号数量偏少。 如果系统名称有歧义(例如 “Springfield”),请尝试添加州参数("state": "Illinois"),或使用更具体的名称,例如 “Springfield Illinois Water Department”。消除地理歧义有助于提高 Federal Register 和 FEMA 查询的匹配度。
-
该地区地震活动频繁,但基础设施评分偏低。 USGS 查询会将系统或地区名称用作文本搜索条件。对于地震活动频繁但人口稀少的地区,USGS 记录可能与公用事业名称不匹配。请尝试改用区域流域或县名运行,例如使用 “San Andreas Fault Zone”,而不是某个特定的小型公用事业单位。
-
可负担性评分异常偏高或偏低。 CFPB 投诉搜索会结合系统名称查询 “water utility”。对于特大城市,这可能会返回许多无关的金融投诉。对于非常小的系统,投诉数量可能太少,无法评分。对于小型公用事业单位,BLS 经济子评分是更稳定的信号。
-
运行已完成,但返回的信号为空。 空信号表示没有上游 Actor 返回符合评分模型阈值的数据。这是正常情况,意味着数据源中没有该系统符合条件的风险事件。评分为 0–15 且信号为空,反映的是真实的低风险,而非数据采集失败。
-
所有工具完成前已达到支出上限。 每次工具调用单独收费 $0.045。如果在 AI Agent 循环中运行多个工具,请设置 Apify 账户运行预算,以覆盖预期调用次数。10 次调用 = $0.45。
负责任地使用
- 此 MCP 仅访问公开可用的美国政府和国际组织数据源。
- 数据仅用于信息性风险评估,不用于监管执法或法律诉讼。
- 水务风险评分是根据公开数据信号得出的指标,并非经认证的工程评估或监管认定。
- 将评估结果用于投资决策、债券分析或公开信息发布时,请遵守适用法律。
- 有关数据使用合法性的指南,请参阅 Apify 指南。
常见问题
综合水务风险评分有多准确? 该评分是相对风险指标,并非绝对安全评级。它反映当前公开数据中检测到的风险信号密度和严重程度:监管行动、地震事件和干旱警报越多,评分越高。该评分旨在标记值得进一步调查的系统,而非认证其合规性或基础设施状况。
水务公用事业风险情报会查询多少个数据源?
最多 9 个:OpenAQ、USGS Earthquake Search、FEMA Disaster Search、NOAA Weather Alerts、Data.gov、Federal Register、CFPB Consumer Complaints、World Bank Indicators 和 BLS Economic Data。infrastructure_age_analysis 等专用工具会查询 3 个数据源;完整的 water_system_risk_assessment 和 watershed_risk_report 会查询全部 9 个数据源。
此工具能检测水系统中的 PFAS 污染吗?
contaminant_exposure_check 工具可识别与 PFAS 相关的 Federal Register EPA 规则制定行动(MCL 变更、执法)、Data.gov 违规数据集,以及所在位置附近的环境监测数据。它检测的是 PFAS 相关监管活动,而非水样中的直接浓度。若要获取水样级别的 PFAS 数据,EPA 的 PFAS Unregulated Contaminant Monitoring Program (UCMR) 数据库是权威来源。
水系统评估需要多长时间?
查询全部 9 个数据源的完整评估通常需要 60–120 秒。查询 2–3 个数据源的专用工具通常需要 20–45 秒。该服务以 Apify Standby 模式运行,因此连续查询之间不会出现冷启动延迟。
我可以评估美国以外的供水系统吗?
大多数数据源都以美国为主(USGS、FEMA、NOAA、CFPB、BLS、Federal Register)。世界银行指标覆盖全球。对于国际供水系统,干旱/气候和世界银行子评分会返回数据,但美国特有的监管和基础设施评分数据会比较少。drought_climate_forecast 工具最适合用于国际区域。
这与 EPA 的 ECHO 或 SDWIS 数据库有何不同? EPA ECHO 和 SDWIS 提供与特定公共供水系统 ID 关联的直接违规级数据。此 MCP 会综合 9 个来源,对污染、基础设施、气候和可负担性进行多维风险评估,并为各个维度评分。它是对直接查询 SDWIS 的补充,而非替代。
我可以安排定期监测供水风险吗? 可以。使用 Apify Scheduler 定期评估你跟踪的供水服务机构。每次运行之间,结果会存储在 Apify 数据集中。结合 Webhook,在综合评分超过 60 等阈值时接收警报。
将这些数据用于投资分析合法吗? 所有数据源都是公开的美国政府和国际组织数据库。这些数据可免费用于任何用途。将第三方风险指标用于投资产品时,请咨询你的法律和合规团队,了解披露要求。另请参阅 Apify 指南。
什么情况会触发“严重污染风险”建议?
当 waterVulnerability.riskLevel === 'CRITICAL' 时会触发该建议,这要求脆弱性评分达到 80 或以上。通常需要同时出现多个紧急 MCL 规则(每项 10 分,最高 30 分)、水源附近发生极端空气质量事件,以及来自 Data.gov 的同期违规数据集。
我可以并排比较多个供水系统吗?
可以。对每个供水服务机构使用 compare_water_systems,生成包含四个维度评分的扁平比较对象。对要比较的每个系统运行该工具,然后让 AI 将结果汇总为排名表。也可以对每个系统运行 water_system_risk_assessment,并比较综合评分。
如何理解 ELEVATED 和 HIGH_RISK 这两种判定? ELEVATED(评分 40–59)表示至少一个维度存在显著风险信号,需要进行监测和规划。HIGH_RISK(评分 60–79)表示多个维度存在相互叠加的风险因素,建议制定整改计划。CRITICAL(≥80)表示同时存在多个严重风险因素,需要紧急处理。
可负担性评分会直接考虑水费吗? 不会。可负担性模型使用 CFPB 投诉量(账单、停水、超额收费关键词)、BLS 失业率和 CPI 数据,以及世界银行贫困指标。它不会获取实际水费费率表。高评分表示根据当地经济状况和投诉模式,居民更可能难以支付水费。
帮助我们改进
如果你遇到问题,可以在 Apify 账户中启用运行共享,帮助我们更快地排查问题:
- 前往 账户设置 > 隐私
- 启用 与公开的 Actor 创建者共享运行记录
这样一来,发生问题时我们就能查看你的运行详情,从而更快修复问题。你的数据仅对 Actor 开发者可见,不会公开。
支持
发现 Bug 或有功能请求?请在此 Actor 页面上的 Issues 标签页中提交问题。如需定制集成或企业级供水风险工作流,请通过 Apify 平台联系我们。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。