--- title: "MCP 工具:环境、科学与健康" sidebarTitle: "环境、科学与健康" description: "World Monitor MCP 工具参考:气候、气旋、自然灾害、辐射、科研与健康信号。逐一列出每个工具的输入参数与类型、数据新鲜度窗口、对应的后端 REST API 端点,以及可直接复制使用的示例调用负载,帮助开发者构建情报智能体、工作流自动化与自定义 MCP 客户端集成。" --- 本页属于 [MCP 工具参考](/zh/mcp-tools-reference),该索引列出全部工具。连接、认证、套餐与错误见 [MCP Server 概览](/zh/mcp-overview)。 以下工具暂仅提供英文参考:[`get_imd_cyclone_marine`](/mcp-tools/environment-health#get_imd_cyclone_marine)。 `curl` 示例假设已执行 `export WM_KEY="wm_…"`;使用 OAuth 时,请将 `-H "X-WorldMonitor-Key: $WM_KEY"` 替换为 `-H "Authorization: Bearer $TOKEN"`。 ### `get_climate_data` 气候情报:温度/降水异常(对比 30 年 WMO 常态)、气候相关灾害警报(ReliefWeb/GDACS/FIRMS)、大气 CO2 趋势(NOAA Mauna Loa)、空气质量(OpenAQ/WAQI PM2.5 站点)、北极海冰范围和海洋热指标(NSIDC/NOAA)、天气警报和气候新闻。 **参数(工具特定):** | 名称 | 类型 | 描述 | |------|------|-------------| | `dataset` | `array` | 将响应限制为一个或多个气候子数据集。省略则返回完整捆绑包。 | | `country` | string | 将按国家标记的数据集(气候灾害、空气质量站点)筛选为一个 ISO 3166-1 alpha-2 代码。 | | `limit` | number | 将每个列表数据集(异常、灾害、站点、新闻、警报)限制为最多这么多项(默认 30,传 0 表示不限)。 | - **API 端点:** `GET /api/climate/v1/get-co2-monitoring`, `GET /api/climate/v1/get-ocean-ice-data`, `GET /api/climate/v1/list-air-quality-data`, `GET /api/climate/v1/list-climate-anomalies`, `GET /api/climate/v1/list-climate-disasters`, `GET /api/climate/v1/list-climate-news` - **类型:** 缓存读取 — 来自 Redis 引导缓存的亚秒级响应。 - **新鲜度预算:** 各子数据集使用与 `/api/health` 一致的播种时间预算:天气警报 **45 分钟**、气候新闻 **90 分钟**、异常 **9 小时**、灾害 **12 小时**、空气质量 **3 小时**、海洋/海冰 **48 小时**、CO2 监测 **72 小时**。异常和气候新闻还检查生产者的内容时效预算,目前分别为 **14 天**和 **7 天**。任一播种过期、刷新失败、元数据缺失或内容过期都会使整个捆绑包标记为 `stale: true`。`cached_at` 是所有来源中最早的播种时间,并非统一的过期时间。`dataset` 在捆绑包新鲜度检查后筛选返回的数据。 ```bash curl curl -s https://worldmonitor.app/mcp \ -H "X-WorldMonitor-Key: $WM_KEY" \ -H 'Content-Type: application/json' \ -d '{ "jsonrpc":"2.0","id":1, "method":"tools/call", "params":{"name":"get_climate_data","arguments":{}} }' ``` ### `get_natural_disasters` 近期 M4.5+ 地震(USGS 与加拿大地震局 / NRCan)、活跃野火(NASA FIRMS)和自然灾害事件。包含震级、位置、来源和威胁严重程度。 **参数(工具特定):** | 名称 | 类型 | 描述 | |------|------|-------------| | `panel_request` | string | 服务器签发的自然灾害面板凭据,或已有新闻凭据的固定受限地图读取。普通付费打开时省略;新闻凭据不能扩大地图读取范围。 | | `refresh` | boolean | 仅限付费独立面板。显式开始一次新分配,省略 panel_request 并提供 UUID 格式的 request_id。 | | `request_id` | string | 付费独立面板的刷新标识。同一 UUID 的重试复用该分配。 | | `dataset` | `array` | 限制为一个或多个灾害数据集(地震 / 野火 / 其他自然事件)。省略则返回全部。 | | `min_magnitude` | number | 丢弃低于此震级的地震和自然事件。 | | `active_only` | boolean | 仅保留仍处于活跃状态(未关闭)的自然事件。 | | `limit` | number | 将每个灾害列表限制为最多这么多项(默认 30,传 0 表示不限)。 | | `bbox` | object | 仅保留此范围内的事件。sw_lon > ne_lon 表示跨越 180° 经线。不能与 lat/lon/radius_km 同时使用。 | | `lat` | number | radius_km 的中心纬度;需同时提供 lon 和 radius_km。 | | `lon` | number | radius_km 的中心经度;需同时提供 lat 和 radius_km。 | | `radius_km` | number | 仅保留距 lat/lon 大圆距离在此范围内的事件(最大 2000)。 | | `since_days` | integer | 仅保留最近 N 天内的事件。 | - **API 端点:** `GET /api/natural/v1/list-natural-events`, `GET /api/seismology/v1/list-earthquakes`, `GET /api/wildfire/v1/list-fire-detections` - **区域与时间筛选:** `bbox` 需提供 `sw_lat`、`sw_lon`、`ne_lat` 和 `ne_lon`(均为必填)。请只传 `bbox`,或同时传 `lat`、`lon` 和 `radius_km` 三者;混用或只传部分半径参数会在扣除任何额度前返回 Invalid params。筛选作用于地震、火点和自然事件(包括区域列表 `events.westernPacific.events` 与 `events.hkoWarnings.warnings`),在 `min_magnitude` 与 `active_only` 之后、`limit` 之前执行。缺少有效坐标(或在使用 `since_days` 时缺少日期)的行会被丢弃,`data.geo_filter.excluded` 按数据集统计这些行,避免把空结果误读为附近没有事件。当 `since_days` 早于某列表最早的带日期行时,`data.geo_filter.oldest_held` 给出该行的时间(epoch 毫秒),避免把宽时间窗误读为完整覆盖。不传这些参数时响应不含 `geo_filter`。 - **类型:** 缓存读取 — 来自 Redis 引导缓存的亚秒级响应。 - **新鲜度预算:** 标记 `stale: true` 前最多 **30 分钟**(由 seeder cron 的预期间隔设定)。 ```bash curl curl -s https://worldmonitor.app/mcp \ -H "X-WorldMonitor-Key: $WM_KEY" \ -H 'Content-Type: application/json' \ -d '{ "jsonrpc":"2.0","id":1, "method":"tools/call", "params":{"name":"get_natural_disasters","arguments":{}} }' ``` 在 Pro 与 Pro Business 上,`get_natural_disasters` 首次打开扣一次自然灾害面板额度。重复打开及数据集、震级、活动状态和数量筛选在五分钟内复用该分配。使用返回的 `panelRequest.token` 作为 `panel_request` 进行受限读取。显式刷新需提供 `refresh: true` 和 UUID 格式的 `request_id`,且不携带读取凭据;同一 UUID 的重试复用刷新额度。API 与免费账户调用保留普通按工具计费及现有参数转换,不接受付费刷新控制。 每次未缓存执行读取三个固定数据键及已存在的地震元数据键,作为 64 次读取预算中的一次工具执行。相同筛选的成功原始结果在摘要或 JMESPath 呈现之前回放,但不得超过最早可观察的来源时效或 EONET 保留期限。新筛选或不可用、格式错误、已知降级、时间未知的数据可在同一分配内重新读取。区域来源的阻止决策保持可读但不缓存,包括未发出请求的预检决策。该策略不证明所有提供方覆盖完整。已有新闻凭据仍仅允许其固定灾害数据集列表及数量 100、20 或 1,不能使用独立面板的震级或活动筛选。内部来源时间和复用期限不会添加公开元数据字段。授权读取返回已确认的当前使用量;计数未知时省略数字通知。 ### `get_radiation_data` 来自全球监测站的辐射观测水平。标记可能表明核事件的异常读数。 **参数(工具特定):** | 名称 | 类型 | 描述 | |------|------|-------------| | `country` | string | 按名称筛选为一个国家(不区分大小写的子串)。 | | `anomalous_only` | boolean | 丢弃严重度为 "normal" 的观测 — 仅保留升高/峰值读数。 | | `limit` | number | 将观测列表限制为最多这么多项(默认 30,传 0 表示不限)。 | - **API 端点:** `GET /api/radiation/v1/list-radiation-observations` - **类型:** 缓存读取 — 来自 Redis 引导缓存的亚秒级响应。 - **新鲜度预算:** 标记 `stale: true` 前最多 **30 分钟**(由 seeder cron 的预期间隔设定)。 ```bash curl curl -s https://worldmonitor.app/mcp \ -H "X-WorldMonitor-Key: $WM_KEY" \ -H 'Content-Type: application/json' \ -d '{ "jsonrpc":"2.0","id":1, "method":"tools/call", "params":{"name":"get_radiation_data","arguments":{}} }' ``` ### `get_research_signals` 技术和研究事件信号:来自精选研究源的新兴技术事件引导数据。 **参数(工具特定):** | 名称 | 类型 | 描述 | |------|------|-------------| | `type` | string: conference / earnings / ipo / other | 筛选为一种技术事件类型。 | | `source` | string | 筛选为一个来源源(例如 "techmeme"、"dev.events"、"curated")。 | | `limit` | number | 将事件列表限制为最多这么多项(默认 30,传 0 表示不限)。 | - **API 端点:** `GET /api/research/v1/list-tech-events` - **类型:** 缓存读取 — 来自 Redis 引导缓存的亚秒级响应。 - **新鲜度预算:** 标记 `stale: true` 前最多 **8 小时**(由 seeder cron 的预期间隔设定)。 ```bash curl curl -s https://worldmonitor.app/mcp \ -H "X-WorldMonitor-Key: $WM_KEY" \ -H 'Content-Type: application/json' \ -d '{ "jsonrpc":"2.0","id":1, "method":"tools/call", "params":{"name":"get_research_signals","arguments":{}} }' ``` ### `get_health_signals` 活跃疾病暴发(WHO/ECDC 等)和全球空气质量站点读数(OpenAQ/WAQI PM2.5)。用于健康风险筛选。 **参数(工具特定):** | 名称 | 类型 | 描述 | |------|------|-------------| | `signal_type` | `array` | 限制为疾病暴发、空气质量站点或两者。省略则返回两者。 | | `country` | string | 将疾病暴发和空气质量站点筛选为一个 ISO 3166-1 alpha-2 国家代码。 | | `disease` | string | 仅保留疾病名称包含此文本的暴发(不区分大小写)。 | | `min_aqi` | number | 丢弃低于此 AQI 值的空气质量站点。 | | `limit` | number | 将暴发和站点列表限制为最多这么多项(默认 30,传 0 表示不限)。 | - **API 端点:** `GET /api/health/v1/list-air-quality-alerts`, `GET /api/health/v1/list-disease-outbreaks` - **类型:** 缓存读取 — 来自 Redis 引导缓存的亚秒级响应。 - **新鲜度预算:** 按切片计算——空气质量 **3 小时**、疾病暴发 **48 小时**。单一 `stale` 标志对两项检查取或,任一切片超出自身预算即翻转。 ```bash curl curl -s https://worldmonitor.app/mcp \ -H "X-WorldMonitor-Key: $WM_KEY" \ -H 'Content-Type: application/json' \ -d '{ "jsonrpc":"2.0","id":1, "method":"tools/call", "params":{"name":"get_health_signals","arguments":{}} }' ```