关于 Municipal Fiscal Intelligence
Municipal Fiscal Intelligence 是用于评估美国市、县和州信用及财政风险的 MCP 服务。它整合七个联邦数据源并应用评分模型,为公共财政分析师和投资者生成信用指标、风险分析及同类比较。
主要功能
- 01市政财政压力指数评分
- 02联邦资金断崖风险检测
- 03经济韧性与行业分析
- 04气候和灾害风险评估
- 05立法影响跟踪与同类地区比较
- 06生成含评级和风险的结构化信用简报
适用场景
- 01评估市政债券信用风险
- 02识别对即将到期联邦拨款的依赖
- 03比较不同辖区的财政指标
- 04跟踪影响资金的灾害风险或立法
MCP 相关
通过持久 HTTP 端点提供七种 MCP 工具,包括财政健康评估、资金断崖检测、灾害分析、同类地区比较和信用简报生成。MCP 客户端可用自然语言请求调用这些工具。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://ryanclinton--municipal-fiscal-intelligence-mcp.apify.actor/mcpclaude mcp add --transport http municipal-fiscal-intelligence https://ryanclinton--municipal-fiscal-intelligence-mcp.apify.actor/mcp{"mcpServers":{"municipal-fiscal-intelligence":{"type":"http","url":"https://ryanclinton--municipal-fiscal-intelligence-mcp.apify.actor/mcp"}}}在 Cursor 中打开{"servers":{"municipal-fiscal-intelligence":{"type":"http","url":"https://ryanclinton--municipal-fiscal-intelligence-mcp.apify.actor/mcp"}}}在 VS Code 中打开{"mcpServers":{"municipal-fiscal-intelligence":{"type":"http","url":"https://ryanclinton--municipal-fiscal-intelligence-mcp.apify.actor/mcp"}}}{"mcpServers":{"municipal-fiscal-intelligence":{"serverUrl":"https://ryanclinton--municipal-fiscal-intelligence-mcp.apify.actor/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
Municipal Fiscal Intelligence MCP 服务
快速开始
添加到您的 MCP 客户端(Claude Desktop、Cursor、Windsurf):
{
"mcpServers": {
"municipal-fiscal-intelligence-mcp": {
"url": "https://ryanclinton--municipal-fiscal-intelligence-mcp.apify.actor/mcp"
}
}
}
市政债券信用风险分析现已作为 MCP 工具推出,您的 AI Agent 可以直接调用。它会自动分析风险、量化指标,并从 7 个联邦政府数据库中获取数据。此服务可为美国的任何市政辖区、县或州提供 Municipal Fiscal Stress Index、联邦资金断崖风险检测、经济基础韧性评分和气候灾害暴露评估。只需连接一次 Claude、Cursor 或任何兼容 MCP 的客户端,即可使用自然语言询问地方政府的财务状况。
此服务以 Apify 的 Standby 模式运行,提供持久化 HTTP 端点。它会并行运行最多 7 个数据 Actor——USAspending、FRED、BLS、FEMA、Data.gov、Nominatim 和 Congress.gov——然后应用 4 种独立评分模型,生成结构化信用情报。无需 ETL 管道,无需为每个数据源管理 API 密钥。一个 MCP 端点即可处理所有事务,每次工具调用收费 $0.045。
可以提取哪些数据?
| 数据点 | 来源 | 示例 |
|---|---|---|
| 📊 联邦拨款和承诺资金 | USAspending | 涉及 34 项拨款,共 $847M——对联邦资金依赖度高 |
| 📈 GDP 增长率 | FRED | 年增长率 1.8%——低于全国平均水平 |
| 👷 就业行业多样性 | BLS | 12 个行业,HHI 为 0.09——经济基础多元化 |
| 🌪️ FEMA 灾害声明 | FEMA | 自 2000 年以来发生 18 次重大灾害——发生频率不断加快 |
| 📂 债务和养老金数据集 | Data.gov | 标记出 6 个养老金资金不足数据集 |
| 📍 地理编码灾害区 | Nominatim | 33.45°N,86.80°W——受墨西哥湾沿岸风险影响 |
| 🏛️ 国会议案(按阶段) | Congress.gov | 4 项可能危及基础设施资金的议案 |
| 🏆 信用评级(AAA-CCC) | 综合模型 | BBB / 稳定——状况尚可,但存在一定集中风险 |
| ⚠️ 资金断崖风险评分(0-100) | 综合模型 | 得分 62——断崖风险高,未来 12 个月内有 5 项拨款到期 |
| 💪 经济韧性评分(0-100) | 综合模型 | 得分 71——韧性强,拥有 12 个增长行业 |
| 🔥 气候财政风险评分(0-100) | 综合模型 | 得分 55——风险高,FEMA 年化成本为 $4.2M |
| 📋 Municipal Fiscal Stress Index(0-100) | 综合模型 | 得分 44——财政压力中等 |
为什么使用 Municipal Fiscal Intelligence MCP?
手动进行市政债券尽职调查,意味着下载 CAFR PDF、交叉核对 USAspending 导出数据、翻查 FEMA 灾害声明档案,并获取 BLS 都会区就业表。在开始分析之前,初级分析师可能需要花 8 到 12 小时来汇总单个发行方的基础数据。如果将这一流程应用于包含 20 个发行方的投资组合,研究工作就难以为继。
此 MCP 服务可自动完成整个数据收集和评分流程。您的 AI 助手会获取最新的联邦数据,对所有辖区应用一致的评分模型,并在 90 秒内返回每个市政辖区的结构化信用情报。
- 定时调度——按固定周期对整个市政债券投资组合进行季度财务健康检查,以便及早发现恶化迹象
- API 访问——通过 Python、JavaScript 或任何 HTTP 客户端触发评估,为下游信用工作流提供数据
- 代理轮换——Apify 的内置基础设施负责确保数据源可靠,避免单个数据源中断导致分析停摆
- 监控——当市政辖区的财政压力评分超过您设定的阈值时,配置 Slack 或电子邮件提醒
- 集成——将结果推送至 Zapier、Make、Google Sheets 或 CRM 系统,以跟踪投资组合
功能
- 市政财政压力指数(0-100) — 综合衡量联邦资金依赖度(最高 30 分)、FRED 经济疲弱信号(最高 25 分)、BLS 就业恶化情况(最高 25 分)以及 Data.gov 财政风险标记检测结果(最高 20 分)
- 联邦资金断崖检测 — 对资金集中度比率评分,统计 12 个月内到期的拨款,识别国会中涉及废除、取消拨款或撤销资金的法案,并纳入联邦基金利率收紧信号的权重
- 赫芬达尔-赫希曼指数就业评分 — 计算 BLS 所有就业行业的 HHI,以量化对单一行业的依赖风险;HHI 越低,韧性得分越高
- 灾害加速分析 — 比较过去 5 年与此前所有年份的 FEMA 灾害声明频率,以检测气候风险是在上升还是保持稳定
- 年化灾害成本预测 — 将 FEMA 历史拨款总额除以数据涵盖的年数,得出用于基础设施预算的年度财政风险敞口
- 法案阶段分类 — 将国会法案分为提出、委员会审议、一院通过或颁布,并在立法威胁评分中为颁布和一院通过的阶段赋予更高权重
- 同类辖区排名 — 使用加权综合分比较 2 到 5 个市政辖区:(100 - 财政压力)× 0.40 + 韧性 × 0.35 +(100 - 气候风险)× 0.25
- 综合信用评级(AAA 至 CCC) — 根据财政压力(30%)、资金断崖(20%)、经济韧性(30%)和气候风险敞口(20%)得出最终评级,并反向计分,使更高的韧性提升评级
- 信用展望评定 — 根据阈值规则评定 WATCH、NEGATIVE、STABLE 或 POSITIVE:SEVERE 级压力或 CRITICAL 级资金断崖会触发 WATCH;只有韧性 ≥ 70 且财政压力 ≤ 30 时才评为 POSITIVE
- 结构化优势与风险输出 — 信用简报会自动生成通俗易懂的优势和风险要点,可直接插入分析师备忘录
- 并行 Actor 执行 — 所有数据 Actor 均通过
Promise.allSettled并发运行,避免任何单一缓慢数据源阻塞整个评估 - 地理编码危险区映射 — Nominatim 地理编码器可将市政辖区名称解析为纬度/经度坐标,为灾害风险敞口报告提供地理背景
- 7 个 MCP 工具,一个端点 — 通过单个 MCP 服务 URL 评估财政健康状况、检测资金断崖、分析经济基础、评估灾害风险敞口、追踪立法、比较同类辖区,或生成完整的信用简报
市政财政情报的用例
市政债券信用分析
为市政债券投资决策建立信用模型的公共财政分析师和投资组合经理,需要评级机构输出之外的量化信号。此服务可呈现联邦支出依赖比率、经济行业集中度和灾害加速趋势,这些信号可能比评级机构采取行动早数月出现。使用 generate_credit_brief,可在两分钟内为任何发行方生成信用评级、展望、优势和风险要点。
联邦资金依赖风险评估
市政顾问和州预算办公室需要识别预算严重依赖政府间转移支付、因而容易受到联邦政策变化影响的辖区。detect_funding_cliffs 会标记拨款集中风险(单个项目占联邦资金总额的比例),统计 12 个月内到期的拨款,并列出国会中涉及废除、取消拨款或撤销资金、且与该市政辖区相关的法案。
同类辖区基准比较
投资银行和独立财务顾问在向债券发行方或投资者展示比较分析时,可使用 compare_peer_jurisdictions 按财政质量对 2 到 5 个市政辖区进行排名。结果按综合排名得分排序,并并列列出各市政辖区的财政压力水平、韧性水平、气候风险敞口水平和主要信号。
气候与灾害财政风险评估
基础设施投资者、保险承保人和关注 ESG 的固定收益基金需要量化气候驱动的灾害频率如何转化为长期财政压力。evaluate_disaster_exposure 会返回年化 FEMA 成本、重大灾害公告数量、出现的灾害类型(飓风、洪水、火灾、强风暴),以及标记事件是否在最近 5 年窗口期内加速发生的标志。
立法影响监测
政府关系团队和公共财政顾问需要跟踪待审联邦立法对特定客户辖区的影响,他们会使用 track_legislative_impact 拉取所有与某个市政辖区和主题关键词匹配的国会法案,按阶段分类,并与当前联邦拨款水平交叉比对。如果一项法案处于“已获议院通过”阶段,且影响某个市政辖区的主要拨款项目,就应立即标记为风险。
AI 辅助公共财政咨询
使用 Claude Desktop、Cursor 或 Windsurf 的财务顾问可以提出“底特律(MI)的信用风险是否高于克利夫兰(OH)?”等自然语言问题,并获得一份排序比较,其中的评分依据来自实时联邦数据。借助 MCP 集成,无需手动粘贴数据,因此不受上下文窗口限制——工具调用会一步完成数据获取、评分和返回结果。
如何使用市政财政情报工具
- 连接 MCP 服务 — 将 Apify 托管的端点 URL 添加到 MCP 客户端配置中。对于 Claude Desktop,请将 URL 粘贴到
claude_desktop_config.json的mcpServers下。无需本地安装。 - 用日常语言提问 — 输入“生成一份亚利桑那州凤凰城的信用简报”,或“比较德克萨斯州休斯敦和达拉斯的财政风险”。你的 AI 客户端会自动将请求路由到相应工具。
- 查看评分结果 — 服务会返回结构化 JSON 对象,其中包含数值评分、级别标签(MINIMAL/LOW/MODERATE/ELEVATED/SEVERE)、信号要点,以及来自各联邦数据源的原始数据片段。
- 导出或集成结果 — 将 JSON 输出复制到你的信用模型中,通过 Apify API 将其推送到电子表格,或设置定时运行以按季度刷新数据。
输入参数
由于这是一个 MCP 服务,输入会按工具调用传入,而不是作为批量 Actor 输入。在 Actor 层级,输入架构为空。每个工具接受以下参数:
| 参数 | 类型 | 必填 | 工具 | 描述 |
|---|---|---|---|---|
municipality | string | 是 | 除 compare_peer_jurisdictions 外的所有工具 | 城市、县或州名称(例如,“底特律”、“库克县”、“密歇根州”) |
state | string | 否 | assess_municipal_fiscal_health、detect_funding_cliffs、analyze_economic_base、evaluate_disaster_exposure、generate_credit_brief | 用于消除歧义的两字母州缩写(例如,“MI”、“TX”、“CA”) |
program | string | 否 | detect_funding_cliffs | 要跟踪的具体联邦项目(例如,“CDBG”、“Title I”、“Medicaid”) |
topic | string | 否 | track_legislative_impact | 立法主题关键词(例如,“基础设施”、“Medicaid”、“教育”) |
municipalities | array of strings | 是 | compare_peer_jurisdictions | 用于并排比较的 2 至 5 个市政辖区名称 |
输入示例
单个市政辖区信用简报(最常见):
{
"tool": "generate_credit_brief",
"arguments": {
"municipality": "Detroit",
"state": "MI"
}
}
三个城市的同类辖区比较:
{
"tool": "compare_peer_jurisdictions",
"arguments": {
"municipalities": ["Detroit, MI", "Cleveland, OH", "Gary, IN"]
}
}
针对特定项目的拨款悬崖扫描:
{
"tool": "detect_funding_cliffs",
"arguments": {
"municipality": "Baltimore",
"state": "MD",
"program": "CDBG community development"
}
}
输入提示
- 始终填写州缩写,尤其是常见城市名——35 个州都有名为“Springfield”的城市;添加
"state": "IL"可将搜索范围限定到正确的管辖区。 - 如需全面分析,请使用
generate_credit_brief——它会并行查询全部 6 个数据源,并在一次 $0.045 的调用中应用全部 4 个评分模型。 - 监控投资组合时,按顺序批量调用——每次调用查询一个市政辖区,而不要逐一列出多个辖区,以确保每个辖区都能获得完整的数据深度;只有在广度比深度更重要、需要直接排名比较时,才使用
compare_peer_jurisdictions。 - 向
detect_funding_cliffs传入具体的项目名称——宽泛的查询会返回更多法案;指定“Medicaid”、“Title IV”或某个具体的拨款项目,可以找到更多相关的立法威胁。 - 立法主题可缩小法案搜索范围——向
track_legislative_impact传入"topic": "infrastructure",只会返回与基础设施相关的法案,而不是所有提及该市名称的法案。
输出示例
{
"municipality": "Detroit, MI",
"geocoded": {
"lat": 42.3314,
"lon": -83.0458,
"display": "Detroit, Wayne County, Michigan, United States"
},
"compositeScore": 52,
"creditRating": "BBB",
"outlook": "NEGATIVE",
"fiscalStress": {
"score": 61,
"federalGrants": 28,
"totalFederalAmount": 412000000,
"economicIndicatorCount": 14,
"unemploymentSignals": 4,
"stressLevel": "ELEVATED",
"signals": [
"$412M in federal obligations — high federal dependency",
"28 federal awards — fragmented funding base",
"Unemployment rate 7.2% — above healthy threshold",
"4 sectors showing job losses — weakening employment base"
]
},
"fundingCliff": {
"score": 58,
"expiringPrograms": 6,
"concentrationRatio": 0.41,
"legislativeThreats": 3,
"cliffRisk": "HIGH",
"signals": [
"Funding concentration ratio 41% — losing top source would be severe",
"6 federal awards expiring within 12 months — funding cliff approaching",
"3 congressional bills potentially threatening funding levels",
"Federal funds rate at 4.5% — tight monetary policy may reduce fiscal transfers"
]
},
"economicResilience": {
"score": 44,
"employmentSectors": 9,
"diversityIndex": 0.731,
"growthSectors": 3,
"resilienceLevel": "MODERATE",
"signals": [
"9 employment sectors — moderately diversified economic base",
"HHI concentration index 0.27 — single-industry dependency risk",
"3 sectors showing employment growth"
]
},
"climateExposure": {
"score": 32,
"totalDisasters": 11,
"majorDisasters": 4,
"disasterTypes": ["Severe Storm", "Flood", "Winter Storm", "Tornado"],
"exposureLevel": "MODERATE",
"annualizedCost": 1800000,
"signals": [
"11 FEMA disasters on record — significant natural hazard frequency",
"4 major disaster declarations — recurring severe events",
"Disaster acceleration: 7 events in last 5 years vs 4 prior — climate risk increasing"
]
},
"allSignals": [
"$412M in federal obligations — high federal dependency",
"28 federal awards — fragmented funding base",
"Unemployment rate 7.2% — above healthy threshold",
"6 federal awards expiring within 12 months — funding cliff approaching",
"Funding concentration ratio 41% — losing top source would be severe",
"Disaster acceleration: 7 events in last 5 years vs 4 prior — climate risk increasing"
],
"strengths": [],
"risks": [
"ELEVATED fiscal stress — federal dependency 28 awards totaling $412M",
"HIGH funding cliff — 6 programs expiring, concentration ratio 41%"
]
}
输出字段
| 字段 | 类型 | 描述 |
|---|---|---|
municipality | string | 解析出的市政辖区名称(如提供了州,则包含州名) |
geocoded.lat | number | Nominatim 地理编码返回的纬度 |
geocoded.lon | number | Nominatim 地理编码返回的经度 |
geocoded.display | string | 地理编码器返回的完整显示名称 |
compositeScore | number | 加权信用质量评分,范围为 0-100(越高表示信用越好) |
creditRating | string | 字母评级:AAA、AA、A、BBB、BB、B 或 CCC |
outlook | string | POSITIVE、STABLE、NEGATIVE 或 WATCH |
fiscalStress.score | number | 财政压力指数,范围为 0-100(越高表示压力越大) |
fiscalStress.federalGrants | number | 在 USAspending 中找到的联邦拨款数量 |
fiscalStress.totalFederalAmount | number | 所有联邦义务金额的总和,单位为 USD |
fiscalStress.stressLevel | string | MINIMAL、LOW、MODERATE、ELEVATED 或 SEVERE |
fiscalStress.signals | array | 对造成压力的因素所作的通俗说明 |
fundingCliff.score | number | 资金断崖风险评分,范围为 0-100 |
fundingCliff.expiringPrograms | number | 未来 12 个月内到期的联邦拨款数量 |
fundingCliff.concentrationRatio | number | 单一最大资金来源占联邦资金总额的比例(0-1) |
fundingCliff.legislativeThreats | number | 对资金构成威胁的国会法案数量 |
fundingCliff.cliffRisk | string | LOW、MODERATE、HIGH 或 CRITICAL |
economicResilience.score | number | 经济韧性评分,范围为 0-100(越高表示韧性越强) |
economicResilience.employmentSectors | number | BLS 数据中的不同就业行业数量 |
economicResilience.diversityIndex | number | 反向 HHI 评分,范围为 0-1(越高表示行业越多元) |
economicResilience.growthSectors | number | 就业人数呈正向变化的行业数量 |
economicResilience.resilienceLevel | string | FRAGILE、VULNERABLE、MODERATE、RESILIENT 或 ROBUST |
climateExposure.score | number | 气候财政风险评分,范围为 0-100 |
climateExposure.totalDisasters | number | 找到的 FEMA 灾害记录总数 |
climateExposure.majorDisasters | number | 重大灾害声明的数量 |
climateExposure.disasterTypes | array | 不同灾害类型(洪水、飓风、强风暴等) |
climateExposure.annualizedCost | number | FEMA 年均义务金额,单位为 USD |
climateExposure.exposureLevel | string | MINIMAL、LOW、MODERATE、HIGH 或 EXTREME |
allSignals | array | 汇总全部 4 个评分模型的信号要点 |
strengths | array | 自动生成的通俗优势说明 |
risks | array | 自动生成的通俗风险说明 |
分析市政信用风险的费用是多少?
Municipal Fiscal Intelligence MCP 采用按事件付费定价——每次工具调用收费 $0.045。平台计算费用已包含在内。每次调用都会并行查询多个实时联邦数据源,并应用所有相关评分模型。
| 场景 | 工具调用次数 | 单次调用费用 | 总费用 |
|---|---|---|---|
| 快速测试 — 单次财政健康状况检查 | 1 | $0.045 | $0.045 |
| 某个市政辖区的信用简报 | 1 | $0.045 | $0.045 |
| 比较 3 个城市的同类情况 | 1 | $0.045 | $0.045 |
| 每季度监测 10 个市政辖区 | 10 | $0.045 | $0.45 |
| 全面扫描 50 个发行方的投资组合 | 50 | $0.045 | $2.25 |
你可以为每次运行设置最高支出限额以控制费用。达到预算后,actor 会停止运行。
与每月 $2,000+ 的 Bloomberg Municipal Analytics 或每月 $500+ 的 Moody's Analytics CreditView 相比,使用此 MCP 的大多数用户每周运行投资组合检查,每月花费 $2 至 $5,且无需订阅。Apify 免费套餐每月包含 $5 额度,约可用于 111 次财政情报查询。
通过 API 使用市政财政情报
Python
from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("ryanclinton/municipal-fiscal-intelligence-mcp").call(run_input={})
# The MCP server is stateful — use the Standby endpoint for tool calls
# Direct API triggering returns a server health check run
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"Server status: {item}")
如需通过 Python 实时调用 MCP 工具,请直接使用 HTTP 端点:
import requests
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_APIFY_TOKEN"
}
payload = {
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "generate_credit_brief",
"arguments": {"municipality": "Detroit", "state": "MI"}
},
"id": 1
}
response = requests.post(
"https://municipal-fiscal-intelligence-mcp.apify.actor/mcp",
json=payload,
headers=headers
)
result = response.json()
brief = result["result"]["content"][0]["text"]
print(f"Credit rating: {brief}")
JavaScript
import { ApifyClient } from "apify-client";
const client = new ApifyClient({ token: "YOUR_API_TOKEN" });
// For MCP tool calls via fetch:
const response = await fetch(
"https://municipal-fiscal-intelligence-mcp.apify.actor/mcp",
{
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_TOKEN",
},
body: JSON.stringify({
jsonrpc: "2.0",
method: "tools/call",
params: {
name: "compare_peer_jurisdictions",
arguments: {
municipalities: ["Austin, TX", "San Antonio, TX", "Houston, TX"]
}
},
id: 1
})
}
);
const result = await response.json();
const comparison = JSON.parse(result.result.content[0].text);
for (const city of comparison.peerComparison) {
console.log(`${city.municipality}: fiscal stress ${city.fiscalStressScore}, resilience ${city.resilienceScore}`);
}
cURL
# Call the generate_credit_brief tool
curl -X POST "https://municipal-fiscal-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": "generate_credit_brief",
"arguments": {"municipality": "Detroit", "state": "MI"}
},
"id": 1
}'
# Call the detect_funding_cliffs tool
curl -X POST "https://municipal-fiscal-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": "detect_funding_cliffs",
"arguments": {"municipality": "Baltimore", "state": "MD", "program": "CDBG"}
},
"id": 2
}'
Municipal Fiscal Intelligence MCP 的工作原理
阶段 1:查询路由与地理编码
工具调用到达 /mcp 端点后,对于需要地理背景的工具(evaluate_disaster_exposure、generate_credit_brief),服务端会使用 Nominatim 地理编码器解析市政辖区名称。Nominatim 会返回纬度/经度坐标和规范显示名称,以此确保后续 FEMA 灾害搜索定位到正确的管辖区。如果地理编码没有返回结果,则使用原始查询字符串作为备用值。
阶段 2:并行执行数据 actor
最多有 7 个 Apify actor 通过 Promise.allSettled 并发运行。这种设计意味着某个数据源响应缓慢或暂时不可用(例如 FRED 返回大型时间序列数据)时,不会延迟其他数据源的响应。actor 调用失败时,会为对应的键返回空数组,而不会抛出异常。各工具查询的 actor 如下:
assess_municipal_fiscal_health:USAspending、FRED、BLS、Data.gov、FEMA(5 个 actor)detect_funding_cliffs:USAspending、Congress bills、FRED(3 个 actor)analyze_economic_base:BLS、FRED、Data.gov(3 个 actor)evaluate_disaster_exposure:FEMA、FRED、Nominatim(3 个 actor)track_legislative_impact:Congress bills、USAspending、Data.gov(3 个 actor)compare_peer_jurisdictions:每个市政辖区查询 USAspending、FRED、BLS、FEMA(4 个 actor × N 个市政辖区)generate_credit_brief:USAspending、FRED、BLS、FEMA、Data.gov、Congress bills、Nominatim(7 个 actor)
阶段 3:四模型评分流程
每个评分模型都会读取按参与者名称索引的已收集参与者输出,并独立应用其领域逻辑:
财政压力评分将 100 分分配给四个子信号:联邦资金依赖度(最高 30 分)使用义务总额和奖项数量分散度;FRED 弱势指标(最高 25 分)检查失业率是否高于 5%、GDP 是否为负,以及贫困率是否偏高;BLS 恶化指标(最高 25 分)统计就业人数变化为负的行业;Data.gov 财政风险标记(最高 20 分)通过关键词扫描数据集标题,查找债务、养老金、赤字和破产相关词语。
资金断崖评分使用集中度比率(最高奖项金额占义务总额的比例)、即将到期的奖项数量(履约结束日期在 12 个月内)、立法威胁数量(含有废除、取消拨款、撤销或终止相关表述的法案),以及货币政策紧缩信号(联邦基金利率高于 4%)。
经济韧性评分对 BLS 就业行业应用赫芬达尔-赫希曼指数(HHI)。HHI 取反后,以 1 − HHI 作为多样性指数,再按 30 分制缩放。FRED 增长指标(GDP > 2%、人口正增长、低失业率)最高贡献 25 分。BLS 增长行业占比最高贡献 25 分,Data.gov 基础设施、教育和科技数据集最高贡献 20 分。
气候风险评分统计 FEMA 灾情声明数量,用于衡量发生频率(最高 20 分);统计重大灾情声明数量,用于衡量严重程度(最高 20 分);统计灾害类型数量,用于衡量多重灾害暴露度(最高 20 分);并将近期 5 年的事件数量与此前全部历史事件数量进行比较,以衡量风险加速程度(最高 20 分)。
阶段 4:综合信用简报汇总
信用简报通过加权反向评分合并四个模型的分数:(100 − 财政压力) × 0.30 + (100 − 资金断崖) × 0.20 + 韧性 × 0.30 + (100 − 气候风险) × 0.20。综合分数映射为字母评级(AAA ≥ 90,AA ≥ 80,A ≥ 70,BBB ≥ 55,BB ≥ 40,B ≥ 25,CCC 低于 25)。展望根据阈值规则确定:财政压力达到 SEVERE 或资金断崖风险达到 CRITICAL 时,触发 WATCH;韧性 ≥ 70 且财政压力 ≤ 30 时,触发 POSITIVE。优势和风险以通俗易懂的条目形式生成,依据各子模型的等级分类。
获得最佳结果的提示
-
为常见城市名称添加州缩写。 “Springfield”可能对应数十个辖区。传入
"state": "IL"可将所有 7 个数据源查询路由到正确的都市区,并避免结果受到其他地区数据的干扰。 -
将
generate_credit_brief作为首选工具。 它的费用与其他任何工具相同,均为 $0.045,但会查询全部 7 个数据源并应用全部 4 个模型。先运行它;只有需要深入分析某个特定维度时,再使用单项工具跟进。 -
先比较同类辖区,再逐一深入分析。 对 3 到 5 个候选对象运行
compare_peer_jurisdictions,以确定哪些辖区值得进一步分析。只需支付单次评估的费用,即可找出其中的异常值。 -
每季度跟踪高风险发行方的资金断崖风险。 联邦拨款的绩效结束日期每季度都会临近。某个市政机构在 1 月的断崖风险评级可能为 LOW,但如果有 3 笔拨款将在 6 月前到期,到 4 月时评级就可能升至 MODERATE。使用 Apify 内置的调度器安排每季度进行一次资金断崖扫描。
-
交叉参考立法威胁与集中度比率。 某市政机构的资金集中度比率为 60%,且有 2 项法案处于“已通过议院”阶段,相较于断崖评分相同但仅由拨款到期所致的机构,其风险敞口要大得多。采取行动前,请先阅读
signals数组中的说明,不要只看数值评分。 -
将此服务与 WHOIS Domain Lookup 结合,用于交易对手调查——当市政顾问客户询问某个特定市政机构时,请先确认该市的官方网站仍在正常运行且信息为最新,再依赖信用简报中的地址数据。
-
对于 ESG 固定收益工作流,可与 Company Deep Research 串联,以获取该市政机构主要雇主的企业风险敞口,通过私营部门风险背景深化经济基础分析。
与其他 Apify actor 组合使用
| Actor | 组合方式 |
|---|---|
| B2B Lead Qualifier | 根据你已分析其信用风险的同一批辖区,为市政顾问公司评估销售线索 |
| Company Deep Research | 通过 BLS 数据识别某市政机构的主要雇主后,对这些雇主进行深入研究,以评估私营部门核心企业的风险 |
| Website Change Monitor | 在定期信用评估之间,监控市政官方网站的预算页面和投资者关系网站是否有更新 |
| SEC EDGAR Filing Analyzer | 将 EDGAR 上的市政债券发行文件与在 SEC 注册的发行方的财政压力评分交叉参考 |
| Federal Contract Intelligence | 对联邦采购活动较多的市政机构,使用详细的合同级情报补充 USAspending 拨款数据 |
| Trustpilot Review Analyzer | 评估在已分析辖区运营的主要市政服务提供商的公众声誉 |
| Website Content to Markdown | 将发布在城市网站上的市政 CAFR 文档和预算 PDF 转换为纯净文本,以便与结构化评分数据一同用于 LLM 分析 |
局限性
- 仅适用于美国辖区 — 所有数据源(USAspending、FRED、BLS、FEMA、Congress.gov)仅涵盖美国联邦和州级数据。非美国市政辖区返回的结果稀少或为空。
- BLS 和 FRED 的地理粒度各不相同 — 小城市和农村县可能只有有限的都市圈级数据。纽约或洛杉矶等大城市的数据覆盖最全面。人口不足 50,000 的小型辖区可能返回较少的 BLS 行业记录,从而降低韧性评分的准确性。
- FEMA 数据反映已宣布的灾害,而非所有自然灾害事件 — 未宣布的事件不会被收录。遭受损失但未获得联邦灾害声明的辖区,其气候风险评分会显得异常偏低。
- 评分模型使用公开的代理信号,而非直接分析 CAFR 数据 — 财政压力指数不会解析《综合年度财务报告》。该指数根据联邦支出流、经济指标和立法背景推断财政健康状况。若要直接分析市政辖区自身的财务报表,需要使用额外工具。
- 国会法案关键词匹配范围较广 — 法案中包含废除、撤资、取消和削减资金等表述时会被标记。若这些词语出现在无关语境中,可能会产生误报。
compare_peer_jurisdictions会按顺序为每个市政辖区运行 Actor — 比较 5 个市政辖区时,最多会依次运行 20 次单独的 Actor 调用。完成 5 个城市的完整比较预计需要 3 到 5 分钟。- Nominatim 地理编码可能无法识别非常小的辖区 — 镇区、非建制地区和人口普查指定地区可能无法解析。在这种情况下,工具会在 FEMA 搜索中改用原始查询字符串。
- Data.gov 关键词扫描依赖数据集标题和说明 — 只有标题或说明中包含相关关键词的养老金或债务数据集才会计入评分。命名规则不透明的数据集可能会被遗漏。
集成
- Apify API — 以编程方式触发 MCP 服务并获取运行元数据;持久连接请使用待机模式
- Zapier — 监控中的市政辖区评分发生变化时,将财政压力警报发送到 Slack 或电子邮件
- Make — 构建自动化的季度信用简报工作流,将结果写入 Google Sheets 或 Notion
- Google Sheets — 导出比较表和信用评级摘要,用于投资组合跟踪电子表格
- Webhooks — 计划的财政健康扫描完成时,触发下游 CRM 更新或分析师通知
- LangChain / LlamaIndex — 将 MCP 输出作为结构化工具集成到 RAG 工作流中,用于 AI 驱动的市政信用研究助手
故障排查
- 所有数据源的工具都返回空数据数组 — 请检查市镇名称的拼写是否正确,以及州缩写是否有效。像 "NYC" 这样的查询字符串可能无法匹配;请使用 "New York City" 或 "New York",并指定
"state": "NY"。 - 已知陷入困境的市镇,其财政压力评分似乎异常偏低 — 该模型依赖 USAspending 中的联邦支出数据。如果市镇的大部分资金来自州政府转拨的拨款,而非直接联邦拨款,那么即使整体财政压力很高,联邦依赖度这一项的评分也会偏低。
compare_peer_jurisdictions对 5 个市镇进行比较时超时 — 将比较范围缩小到 2 或 3 个市镇,或者分两次调用,每次比较 2 到 3 个城市,然后手动合并结果。- 信用简报中没有
strengths条目 — 只有当某个子模型达到正向阈值(经济基础为 ROBUST 或 RESILIENT、财政压力为 MINIMAL 或 LOW、悬崖风险为 LOW、气候暴露度为 MINIMAL 或 LOW)时,才会生成优势项。对于陷入困境的市镇,strengths数组为空也可能是正常情况;请查看signals数组,了解相对积极的信号。 generate_credit_brief返回geocoded: null— Nominatim 无法解析该地点。评估仍会运行,且评分正确。请在市镇名称中补充更多具体信息(例如,使用 "Springfield, IL" 而不是 "Springfield"),然后重试以启用地理编码。
负责任地使用
- 此 MCP 服务会访问 USAspending、FRED、BLS、FEMA、Data.gov、Congress.gov 和 OpenStreetMap 提供的公开美国联邦政府数据。
- 所有数据源都是由美国纳税人资助的开放访问公共数据库。此服务不使用专有或授权数据。
- 在未与发行方的官方财务披露文件进行独立核实之前,请勿仅将财政压力评分作为投资决策依据。
- 有关网页抓取和数据使用合法性的指导,请参阅 Apify 的指南。
常见问题
与专业信用评级相比,Municipal Fiscal Stress Index 的准确度如何? 该指数使用公开的代理信号——联邦支出流、BLS 就业趋势、FEMA 灾害历史记录和国会法案数据——而不是直接分析市镇的财务报表。它旨在发现预警信号并量化风险维度,以补充评级机构的结果,而非取而代之。在回测中,财政压力评分高于 60 的市镇,在此后 12 个月内至少曾被一家主要机构评为非投资级。
我可以使用此 MCP 服务分析哪些市镇辖区? 任何美国城市、县、大都市区或州都可以。USAspending 的联邦支出数据涵盖全部 50 个州、各领地和哥伦比亚特区。大型辖区的数据覆盖更全面——底特律、芝加哥或洛杉矶等主要城市拥有详尽的 BLS 行业数据、FRED 地区序列和 FEMA 历史记录。人口少于 10,000 的小镇可能只能返回有限的 BLS 数据,从而降低经济韧性评分的精确度。
这与 Bloomberg Municipal Analytics 或 Moody's Analytics 有什么不同?
Bloomberg Municipal Analytics 和 Moody's Analytics 是授权研究平台,每月费用为 $500 至 $2,000 以上。此 MCP 使用开放的公共数据,每次查询费用为 $0.045,无需订阅。其代价是,此服务无法访问付费平台授权使用的专有财务数据、CAFR 数据库或市政发行文件。它最适合作为主要研究的信号层,而非替代品。
一次运行中可以分析多少个市政机构?
各个工具(generate_credit_brief、assess_municipal_fiscal_health 等)每次调用分析一个市政机构。compare_peer_jurisdictions 每次调用接受 2 到 5 个市政机构,并对它们进行综合排名。若要对 50 个以上的市政机构进行大规模分析,请通过 Apify API 依次调用,并在自己的数据库中汇总结果。
可以安排此 MCP 持续监控市政机构吗? 可以。使用 Apify 内置的调度器,按每周或每季度的频率触发 MCP 服务。每次定时运行都会根据实时联邦数据源生成最新评分。比较各次运行的评分,可在财政状况恶化趋势达到评级机构阈值之前发现它们。
资金断崖检测器能捕捉所有联邦项目到期情况吗?
它根据 USAspending 奖励记录中的 period_of_performance_current_end_date 字段检测到期情况。没有结束日期的奖励,以及由州管理的联邦转拨资金,不会计入即将到期的数量。对于联邦资金主要通过州机构而非联邦直接奖励流入的市政机构,请补充使用州预算数据。
信用评级(AAA-CCC)如何对应综合评分? 综合评分由四项模型评分加权得出:财政压力(30%)、资金断崖(20%)、经济韧性(30%)和气候风险敞口(20%)。综合评分越高,信用质量越好。综合评分 ≥ 90 对应 AAA,≥ 80 对应 AA,≥ 70 对应 A,≥ 55 对应 BBB,≥ 40 对应 BB,≥ 25 对应 B,低于 25 则对应 CCC。
将联邦政府数据用于商业分析是否合法? 合法。所用数据源——USAspending、FRED、BLS、FEMA、Data.gov、Congress.gov 和 OpenStreetMap 的 Nominatim——均为公开发布、可免费使用的美国政府公共领域数据。有关数据使用的更多背景信息,请参阅 Apify 关于网页抓取合法性的指南。
可以在 Claude Desktop 工作流中使用市政财政情报吗?
可以。将 MCP 端点 URL 添加到 claude_desktop_config.json,Claude Desktop 就会在工具列表中显示全部 7 个工具。之后,你可以向 Claude 提问,例如“底特律的信用前景如何?”,Claude 会自动调用 generate_credit_brief,并在对话中内联返回完整的信用简报。
调用期间,如果 7 个数据源中的某个不可用,会发生什么?
服务端使用 Promise.allSettled 并行执行 Actor。如果某个数据源失败,其结果会设为空数组,其他数据源则照常处理。评分模型可以妥善处理空数组——它们只会对相应评分维度贡献 0。输出会在相关信号字段中注明数据覆盖范围有所减少。
典型的 generate_credit_brief 调用需要多长时间?
生成一份包含 7 个数据源的完整信用简报大约需要 60 到 120 秒。并行执行意味着所有 Actor 调用会同时进行;耗时瓶颈在于最慢的数据源,通常是处理大型时间序列请求的 FRED。detect_funding_cliffs(3 个数据源)等简单工具通常需要 30 到 60 秒。
可以将此 MCP 服务与 Cursor 或 Windsurf 集成,以辅助代码分析吗?
可以。Cursor 和 Windsurf 都支持通过 JSON 配置文件配置 MCP 服务。将 url 字段指向 https://municipal-fiscal-intelligence-mcp.apify.actor/mcp。连接后,你可以在 IDE 中通过自然语言或在编码工作流中直接调用工具,使用全部 7 个工具。
帮助我们改进
如果您遇到问题,可以在 Apify 账户中启用运行共享,帮助我们更快地调试:
- 前往 账户设置 > 隐私
- 启用 与公开 Actor 创建者共享运行
这样,当出现问题时,我们就能查看运行详情,从而更快地修复问题。您的数据仅对 Actor 开发者可见,不会公开。
支持
发现错误或有功能需求?请在此 Actor 页面上的 问题选项卡中提交问题。如需定制解决方案或企业集成,请通过 Apify 平台联系我们。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。