返回市场
pop蜂窝-MCP服务器

pop蜂窝-MCP服务器

作者:Cicatriiz15 星标更新:2025-07-29

项目介绍

PopHIVE MCP 服务器

特色于 Claude,在这里试用:https://claude.ai/directory/ant.dir.gh.cicatriiz.pophive

这是一个提供访问耶鲁公共卫生学院的 PopHIVE(人口健康信息可视化探索器)公共健康数据的 Model Context Protocol (MCP) 服务器。该服务器通过标准化的 MCP 工具、资源和提示,提供了全面的健康监测数据,包括免疫接种、呼吸系统疾病和慢性病。

🎯 生产就绪:所有关键错误已修复,增强的错误处理机制,并包含了完整的数据集元数据。

📦 桌面扩展就绪:完全符合 Anthropic 的桌面扩展(DXT)规范,支持一键安装到 Claude Desktop 和其他 MCP 支持的应用程序中。

什么是 PopHIVE?

PopHIVE 是耶鲁大学的一个综合平台,它从权威来源聚合接近实时的公共卫生数据,包括 CDC 监测系统、Epic Cosmos 电子健康记录网络和 Google 健康趋势。它是流行病学家、研究人员和公共卫生专业人员的宝贵资源。

👉 探索 PopHIVE: https://www.pophive.org/

最近改进

新功能

实现了三个新数据集的爬虫:
    医院容量:从 HealthData.gov 获取州级医院利用率数据。
    创伤与过量用药:从 data.cdc.gov 获取国家级创伤和过量用药死亡数据。
    青少年心理健康急诊访问:从 data.cdc.gov 获取国家级青少年心理健康相关的急诊访问数据。

性能改进

实现了并行批量初始获取医院容量数据集,以显著加快首次数据下载速度。
在所有爬虫中添加了增量更新逻辑,仅获取新数据,减少后续加载时间。

错误修复

修正了分析工具中的日期解析逻辑,以稳健地处理所有数据集中的各种日期格式。
修复了医院容量爬虫未获取所有记录的问题。

概览

PopHIVE 聚合来自多个权威来源的接近实时的健康数据:

  • CDC 国家免疫调查(NIS):黄金标准的疫苗覆盖率数据
  • Epic Cosmos 电子健康记录网络:来自电子健康记录的真实世界临床数据
  • CDC 实验室监测(NREVSS):呼吸道病毒检测阳性率
  • CDC 废水监测(NWWS):环境病毒监测
  • Google 健康趋势:人群行为和症状搜索模式

功能

🔧 MCP 工具

  • filter_data:按州、日期范围、人口统计学和条件筛选数据集
  • compare_states:跨多个州进行健康指标比较,带有统计分析
  • time_series_analysis:按时间分析趋势,带有聚合选项
  • get_available_datasets:所有可用数据集的综合目录
  • search_health_data:在数据集中搜索特定条件或关键词

📊 MCP 资源

  • dataset://immunizations_nis:CDC 国家免疫调查数据
  • dataset://immunizations_epic:Epic Cosmos 按人口统计学划分的免疫数据
  • dataset://respiratory_ed:呼吸道病毒急诊访问数据
  • dataset://respiratory_lab:实验室测试阳性率
  • dataset://respiratory_wastewater:废水病毒监测数据
  • dataset://respiratory_trends:Google 呼吸道症状搜索趋势
  • dataset://chronic_obesity:按州和年龄组划分的肥胖率
  • dataset://chronic_diabetes:糖尿病患病率和血糖控制数据
  • dataset://hospital_capacity:HHS 医院容量数据
  • dataset://injury_overdose:CDC 创伤和过量用药数据
  • dataset://youth_ed_mental_health:CDC 青少年心理健康急诊访问数据

💡 MCP 提示

  • immunization_gaps:按人口统计学分析疫苗接种覆盖率缺口
  • respiratory_surge_detection:检测和分析呼吸道疾病激增
  • chronic_disease_trends:分析慢性疾病的患病率趋势
  • multi_source_analysis:整合多个数据源的综合分析

安装

选项 1:桌面扩展(推荐)

对于 Claude Desktop 用户:

  1. 从发布页面下载 .dxt 文件
  2. 双击文件以 Claude Desktop 打开
  3. 在安装对话框中点击“安装”
  4. 配置任何所需的设置(更新频率、缓存大小)
  5. 扩展将在 Claude Desktop 中自动可用

对于其他 MCP 支持的应用程序:

  • 使用支持桌面扩展的任何应用程序中的相同 .dxt 文件
  • 遵循您应用程序的扩展安装过程

选项 2:手动安装

前提条件:

  • Node.js 18+
  • npm 或 yarn

设置:

  1. 克隆并安装依赖项:
git clone <repository-url>
cd pophive-mcp-server
npm install
  1. 配置环境(可选):
# 创建 .env 文件用于自定义配置
echo "DATA_CACHE_DIR=./data" > .env
echo "UPDATE_FREQUENCY=daily" >> .env
  1. 测试服务器:
npm test
  1. 启动服务器:
npm start

选项 3:构建自己的扩展

从源创建桌面扩展:

  1. 安装 DXT CLI 工具:
npm install -g @anthropic-ai/dxt
  1. 克隆并准备:
git clone <repository-url>
cd pophive-mcp-server
npm install
  1. 打包为扩展:
dxt pack
  1. 安装生成的 .dxt 文件到 Claude Desktop 或其他 MCP 应用程序

配置

环境变量

变量默认值描述
DATA_CACHE_DIR./data缓存数据文件的目录
UPDATE_FREQUENCYdaily数据刷新频率(hourlydailyweekly
NODE_ENVdevelopment环境模式

MCP 客户端配置

添加到您的 MCP 客户端配置(例如,Claude Desktop):

{
  "mcpServers": {
    "pophive": {
      "command": "node",
      "args": ["server/index.js"],
      "cwd": "/path/to/pophive-mcp-server"
    }
  }
}

数据集选择指南

选择适合您分析的数据集:

数据集地理级别最佳使用案例日期范围更新频率主要限制
immunizations_nis国家 + 州国家疫苗接种趋势,州比较2019-2024年度调查数据,有限的人口统计学
immunizations_epic国家 + 州真实世界的疫苗接种模式,保险分析2-2024每月EHR 网络偏见
respiratory_ed国家 + 州急诊科监测,疫情检测2020-2024每周仅限医疗保健利用
respiratory_lab国家临床测试阳性率,实验室监测2020-2024每周仅限国家汇总
respiratory_wastewater区域环境监测,早期预警2022-2024每周地理覆盖有限
respiratory_trends国家 + 州人群行为,症状搜索2020-2024每周行为代理,非临床
chronic_obesity国家 + 州肥胖率,慢性疾病追踪2020-2024每季度仅限临床人群
chronic_diabetes国家 + 州糖尿病管理,血糖控制2020-2024每季度仅限临床人群
hospital_capacity医院利用率,床位容量,人员短缺2020-2024每日仅限新冠时代
injury_overdose国家药物过量,谋杀,自杀2019-2025每月/每季度仅限国家汇总
youth_ed_mental_health国家青少年心理健康急诊访问,人口统计趋势2019-2025每月仅限国家汇总

快速数据集选择

对于国家趋势:使用 immunizations_nisrespiratory_lab 或任何 geography="national" 的数据集

对于州比较:使用 respiratory_edchronic_obesitychronic_diabetesimmunizations_nis

对于实时监测:使用 respiratory_edrespiratory_wastewaterrespiratory_trends

对于临床结果:使用 immunizations_epicchronic_obesitychronic_diabetes

使用示例

基本数据筛选

// ✅ 工作正常:筛选加利福尼亚州的免疫接种数据
{
  "tool": "filter_data",
  "arguments": {
    "dataset": "immunizations_nis",
    "state": "CA"
  }
}

// ✅ 工作正常:筛选全国免疫接种数据
{
  "tool": "filter_data",
  "arguments": {
    "dataset": "immunizations_nis",
    "state": "US"
  }
}

// ❌ 避免:这将返回 0 结果
{
  "tool": "filter_data",
  "arguments": {
    "dataset": "respiratory_lab",
    "state": "CA"  // respiratory_lab 只有国家级数据
  }
}

州比较

// ✅ 工作正常:比较各州的肥胖率
{
  "tool": "compare_states",
  "arguments": {
    "dataset": "chronic_obesity",
    "states": ["CA", "TX", "FL", "NY"],
    "metric": "prevalence_rate",
    "time_period": "latest"
  }
}

// ✅ 工作正常:比较疫苗接种覆盖率
{
  "tool": "compare_states",
  "arguments": {
    "dataset": "immunizations_nis",
    "states": ["California", "Texas", "New York"],  // 全称也可以
    "metric": "coverage_rate"
  }
}

时间序列分析

// ✅ 工作正常:分析全国呼吸道趋势
{
  "tool": "time_series_analysis",
  "arguments": {
    "dataset": "respiratory_ed",
    "metric": "ed_visits_per_100k",
    "geography": "national",  // 使用 "national" 获取美国级别的数据
    "aggregation": "weekly"
  }
}

// ✅ 工作正常:分析州级趋势
{
  "tool": "time_series_analysis",
  "arguments": {
    "dataset": "respiratory_ed",
    "metric": "ed_visits_per_100k",
    "geography": "CA",
    "start_date": "2024-01-01",
    "end_date": "2024-12-01"
  }
}

搜索健康数据

// ✅ 工作正常:使用国家级地理搜索
{
  "tool": "search_health_data",
  "arguments": {
    "query": "RSV",
    "geography": "national"  // 固定:使用 "national" 而不是 "US"
  }
}

// ✅ 工作正常:搜索特定数据集
{
  "tool": "search_health_data",
  "arguments": {
    "query": "疫苗接种覆盖率",
    "datasets": ["immunizations_nis", "immunizations_epic"]
  }
}

使用提示

// ✅ 工作正常:生成疫苗接种缺口分析
{
  "prompt": "immunization_gaps",
  "arguments": {
    "state": "Texas",
    "demographic_focus": "保险"
  }
}

// ✅ 工作正常:检测呼吸道激增
{
  "prompt": "respiratory_surge_detection",
  "arguments": {
    "region": "California",
    "virus_type": "RSV",
    "time_period": "last_4_weeks"
  }
}

常见问题及解决方案

问题:“未找到数据”或 0 结果

原因:地理不匹配或数据集限制

解决方案:

  1. 检查数据集能力:使用 get_available_datasets 查看支持的地理区域
  2. 使用正确的地理值:
    • 对于国家级数据:"geography": "national"(而不是 "US")
    • 对于州:使用州代码("CA")或全称("California")
  3. 尝试替代数据集:某些数据集仅支持国家级分析
// ❌ 问题:错误的地理区域用于国家级数据
{
  "tool": "search_health_data",
  "arguments": {
    "query": "流感",
    "geography": "US"  // 应该是 "national"
  }
}

// ✅ 解决方案:使用正确的地理区域
{
  "tool": "search_health_data",
  "arguments": {
    "query": "流感",
    "geography": "national"
  }
}

问题:州级查询结果为空

原因:数据集仅包含国家级数据

解决方案:

  1. 首先检查数据集元数据,使用 get_available_datasets
  2. 使用支持州的数据集respiratory_edchronic_obesitychronic_diabetesimmunizations_nis
  3. 切换到国家级分析,对于像 respiratory_lab 这样的数据集

问题:找不到指标

原因:错误的指标名称或数据集不匹配

解决方案:

  1. 使用适当的数据集指标:
    • 疫苗接种:coverage_ratesample_size
    • 呼吸道:ed_visits_per_100kpositivity_rate
    • 慢性病:prevalence_ratepatient_count
  2. 使用 get_available_datasets 检查样本数据,带 include_sample: true

工作参数组合

疫苗接种分析

// 国家疫苗接种趋势
{
  "tool": "time_series_analysis",
  "arguments": {
    "dataset": "immunizations_nis",
    "metric": "coverage_rate",
    "geography": "national"
  }
}

// 州疫苗接种比较
{
  "tool": "compare_states",
  "arguments": {
    "dataset": "immunizations_nis",
    "states": ["CA", "TX", "NY", "FL"],
    "metric": "coverage_rate"
  }
}

呼吸道监测

// 急诊科趋势
{
  "tool": "filter_data",
  "arguments": {
    "dataset": "respiratory_ed",
    "state": "CA",
    "condition": "RSV"
  }
}

// 国家实验室监测
{
  "tool": "time_series_analysis",
  "arguments": {
    "dataset": "respiratory_lab",
    "metric": "positivity_rate",
    "geography": "national"
  }
}

慢性病分析

// 按州划分的肥胖率
{
  "tool": "filter_data",
  "arguments": {
    "dataset": "chronic_obesity",
    "state": "TX",
    "age_group": "18-64"
  }
}

// 糖尿病趋势
{
  "tool": "time_series_analysis",
  "arguments": {
    "dataset": "chronic_diabetes",
    "metric": "prevalence_rate",
    "geography": "CA"
  }
}

数据来源与质量

疫苗接种数据

  • NIS 数据:家庭调查,覆盖率的黄金标准
  • Epic Cosmos:EHR 数据,带有人口统计学细分
  • 更新频率:年度(NIS),每月(Epic)
  • 地理级别:州
  • 质量:高信心,大样本量

呼吸道疾病监测

  • 急诊访问:接近实时的医疗保健利用
  • 实验室数据:临床测试阳性率
  • 废水:环境病毒监测(早期指标)
  • 搜索趋势:人群行为信号
  • 更新频率:每周
  • 质量:临床数据高质量,环境/行为数据中等

慢性病数据

  • 来源:Epic Cosmos EHR 网络
  • 指标:临床测量(BMI,HbA1c)
  • 更新频率:每季度
  • 地理级别:州,带年龄分层
  • 质量:高 - 真实世界的临床数据

API 参考

工具

filter_data

按各种标准筛选数据集。

参数:

  • dataset