Token导航 LogoToken导航TokenDH.com
raws MCP logo
运维云端未说明官方级别未说明来源级核验

raws MCP

MCP Server

RAWS MCP服务器提供远程自动气象站(RAWS)数据访问,用于野火管理和天气监测应用。

工具数

4

提示词数

0

GitHub Stars

0

资源数

0
气象数据数据集成JavaScriptClaudeClaude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

tyson-swetnam

提供方

tyson-swetnam

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

RAWS MCP 服务器

![License](LICENSE) ](package.json) ![Status](docs/implementation_plan.md)

一个模型上下文协议(MCP)服务器,为火灾管理及天气监测应用提供远程自动气象站(RAWS)数据的访问。

注: 这个项目目前正处于规划和文件编制阶段。实施(src/ 目录)尚未创建。请参阅 实施计划 用于制定发展路线图。

概述

这台MCP服务器与RAWS数据源集成,提供实时和历史天气数据,这些数据对于预测野火行为、制定火灾管理决策以及应急响应至关重要。服务器对数据进行格式化处理,以符合用于(此处根据上下文补充,例如“火灾监测和管理系统的”)野火信息架构 火灾行为 应用程序。

什么是RAWS?

远程自动气象站(RAWS)是部署在易发生野火地区的自动化气象站。它们收集以下方面的数据:

  • 温度
  • 湿度
  • 风速和风向
  • 降水
  • 燃料含水量
  • 太阳辐射

RAWS数据由以下机构维护:

  • 土地管理局(BLM)
  • 美国林业局(USFS)
  • 美国国家气象局(NWS)
  • 省级林业部门

特点/功能

  • 从RAWS站点获取当前天气状况
  • 获取历史天气数据以进行趋势分析
  • 按位置(纬度/经度、城市、县)搜索站点
  • 计算火灾天气指数(如海恩斯指数、NFDRS各组成部分)
  • 将数据格式化为符合wildfire_prompt_template.json模式的格式
  • 支持多种数据源(概貌API、MesoWest、WRCC)

它是如何工作的

RAWS MCP服务器充当Claude(或其他MCP客户端)与多个RAWS数据源之间的桥梁:

  1. 位置查询你问克劳德某个特定地点的天气状况
  2. 车站搜索服务器会找到离您位置最近的RAWS站点
  3. 数据检索实时天气观测数据是从综合数据API或其他来源获取的
  4. 模式转换原始RAWS数据被转换成标准化的野火信息格式
  5. 火灾天气分析可选的火灾天气指数(如海恩斯指数、福斯伯格指数等)已计算得出
  6. 回应格式化后的数据被返回给Claude进行分析和展示

安装

先决条件: Node.js 18.0.0 或更高版本
# Clone the repository
git clone https://github.com/tyson-swetnam/raws-mcp.git
cd raws-mcp

# Install dependencies
npm install

# Configure environment variables
cp .env.example .env
# Edit .env and add your API tokens

配置

必填项:API密钥

重要提示: 您必须为服务器配置至少一个API令牌才能使其正常工作。没有有效的凭据,服务器将无法启动。

创建一个 .env 请提供您的API凭据文件:

# Required: At least one data source API token
SYNOPTIC_API_TOKEN=your_token_here
MESOWEST_API_TOKEN=your_token_here

# Optional: Server configuration
LOG_LEVEL=info
CACHE_TTL_SECONDS=300

# Optional: Feature flags
ENABLE_NWS_INTEGRATION=true
ENABLE_FIRE_INDICES=true

分步指南:获取API令牌

选项1:概要数据API(推荐)

  1. 注册: 访问 https://synopticdata.com/
  2. 创建账户: 点击“注册”并完成注册流程
  3. 访问API设置:

- 登录您的账户 - 导航至“我的账户”→“API设置”或“API密钥”

  1. 生成令牌:

- 点击“创建新代币”或类似按钮 - 复制您的API令牌(以一串长的字母数字开头)

  1. 添加到 .env 文件中:
   SYNOPTIC_API_TOKEN=your_actual_token_here

免费层级限制:

  • 每天5000个请求
  • 访问2000多个RAWS(自动气象站)站点
  • 实时数据和历史数据

选项2:MesoWest API(备用/故障转移)

  1. 注册: 访问 https://mesowest.utah.edu/
  2. 创建账户: 填写注册表
  3. 请求API访问:

- 导航至您的账户设置 - 请求API访问权限(可能需要审批)

  1. 获取代币: 一旦获得批准,请复制您的API令牌
  2. 在.env文件中添加:
   MESOWEST_API_TOKEN=your_actual_token_here

故障转移配置

对于生产使用,请进行配置 两者都 API令牌:

SYNOPTIC_API_TOKEN=your_synoptic_token
MESOWEST_API_TOKEN=your_mesowest_token

如果主数据源发生故障或达到速率限制,服务器将自动从Synoptic切换到MesoWest。

MCP服务器配置

在您的Claude桌面配置中添加:

  • macOS~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "raws": {
      "command": "node",
      "args": ["/absolute/path/to/raws-mcp/src/index.js"]
    }
  }
}

重要提示: 使用绝对路径到 src/index.js,而不是相对路径。

使用方法

启动服务器

# Start the MCP server
npm start

# Or start with auto-reload for development
npm run dev

示例查询

一旦在Claude Desktop中进行配置,您就可以询问:

  • “RAWS C5725站点当前的天气状况如何?”
  • “查找科罗拉多州博尔德附近的RAWS站点”
  • “给我看看Monument Creek RAWS的火灾天气指数”
  • “从CLKC1站点获取过去24小时的天气数据”

可用工具

1. 获取当前原材料数据

从RAWS站点获取当前天气状况。

参数:

  • station_id (字符串,必填):RAWS 站点标识符
  • format (字符串,可选):输出格式 - "json" | "wildfire_schema"

示例请求:

{
  "station_id": "C5725",
  "format": "wildfire_schema"
}

示例回复:

{
  "location": "Monument Creek, Colorado",
  "as_of": "2025-08-29T14:00:00Z",
  "weather_risks": {
    "temperature": { "value": 88, "units": "F" },
    "humidity": { "percent": 18 },
    "wind": { "speed": 22, "gusts": 40, "direction": "NW" },
    "probability_of_rain": {
      "percent": 15,
      "time_window": "next 24h",
      "confidence": "medium"
    }
  },
  "data_sources": [
    {
      "name": "Monument Creek RAWS (C5725)",
      "type": "weather",
      "url": "https://raws.dri.edu/C5725"
    }
  ]
}

2. 搜索原始数据站点

查找附近地点的RAWS(自动气象观测站)站点。

参数:

  • latitude (数字,必填):纬度(-90 至 90)
  • longitude (数字,必填):经度(-180 至 180)
  • radius_miles (数字,可选):搜索半径,以英里为单位(默认:50)
  • limit (数字,可选):最大结果数(默认:10)

示例请求:

{
  "latitude": 40.0150,
  "longitude": -105.2705,
  "radius_miles": 50,
  "limit": 5
}

3. 获取历史原始数据

从某气象站获取历史天气数据。

参数:

  • station_id (字符串,必填项):RAWS站点标识符
  • start_time (字符串,必填项):ISO 8601 格式的时间戳(例如,“2025-08-29T00:00:00Z”)
  • end_time (字符串,必填):ISO 8601 时间戳
  • variables (数组,可选):要检索的特定变量(默认:全部)

示例请求:

{
  "station_id": "C5725",
  "start_time": "2025-08-29T00:00:00Z",
  "end_time": "2025-08-29T23:59:59Z",
  "variables": ["temperature", "humidity", "wind"]
}

4. 计算火灾指数

根据RAWS数据计算火灾天气指数。

参数:

  • station_id (字符串,必填):RAWS(远程自动天气观测站)站标识符
  • indices (数组,可选):要计算的特定索引(默认:全部)

- "haines" - 海恩斯指数(大气稳定性和干燥度) - "fosberg" - 福斯伯格火灾天气指数(温度、湿度、风速) - "chandler" - 陈德燃烧指数(包括燃料湿度)

示例请求:

{
  "station_id": "C5725",
  "indices": ["haines", "fosberg"]
}

注: 火灾天气指数为野火风险评估提供了关键信息。参见 火灾天气公式 计算详情如下。

数据模式

服务器输出符合火灾行为的数据 wildfire_prompt_template.json 架构。这确保了与野火管理应用程序的无缝集成。

主要特点:

  • 温度、湿度和风力观测
  • 预计降水概率
  • 红旗预警检测
  • 极端天气变化预警
  • 火灾天气指数
  • 数据来源归属

看见 数据模式文档 以获取完整的映射详情和转换逻辑。

数据来源

这个MCP服务器连接到:

  1. 概要数据API - 实时RAWS数据的主要来源

- 文档链接:https://synopticdata.com/mesonet-api - 覆盖范围:2000+个RAWS(自动气象观测站)站点

  1. MesoWest(注:这是一个专有名词,通常指一个区域性的气象观测网络或系统,直接翻译可能无法完全传达其专业含义,但在此提供直译以供参考) - 天气站网络数据

- 文档链接:https://mesowest.utah.edu/ - 历史数据和实时数据

  1. 西部区域气候中心(WRCC) - 存档数据

- 文档链接:https://raws.dri.edu/ - 长期历史记录

常见的RAWS站点

以下是一些用于测试和参考的RAWS(远程自动天气站)示例:

站点ID名称位置海拔备注
C5725蒙特克里克科罗拉多州7,200英尺数据活跃,可靠
CLKC1克拉克山丘加利福尼亚州5,800英尺易发生火灾区域
CBRW1卡彭特路华盛顿4,200英尺北太平洋地区
AZTH手指山亚利桑那州5,500英尺沙漠区域自动气象站(RAWS)

在测试查询或探索RAWS数据时,请使用这些站点ID。

故障排除

身份验证错误(HTTP 401)

症状: 端点返回“401 未授权”或身份验证失败

原因: 缺失或无效的API令牌 .env 文件

解决方案:

  1. 验证 .env 文件已存在:
   ls -la .env
  1. 检查是否至少配置了一个API令牌:
   grep "API_TOKEN" .env
  1. 确保令牌不是占位符值:
   # ❌ Wrong (placeholder):
   SYNOPTIC_API_TOKEN=your_synoptic_token_here

   # ✓ Correct (actual token):
   SYNOPTIC_API_TOKEN=abc123def456...
  1. 获取有效的API令牌:

- 概要: 请访问https://synopticdata.com/ → 账户 → API设置进行注册 - MesoWest:(这是一个专有名词,通常指一个地区性的天气观测网络或系统,直译可能无法完全传达其专业含义,但可大致翻译为)中西部天气观测网/系统 请访问https://mesowest.utah.edu/进行注册 → API访问

  1. 更新后重启MCP服务器 .env

服务器无法启动

错误:“没有可用的API客户端”

这意味着服务器找不到有效的API令牌。请按照上面的认证故障排除步骤操作。

检查 Node.js 版本:

node --version  # Should be 18.0.0 or higher

检查环境变量:

cat .env  # Verify API tokens are set

检查端口冲突: MCP服务器使用stdio传输方式,因此不应发生端口冲突。如果问题仍然存在,请检查日志。

未返回数据

无效的站点ID:

  • 验证站点ID是否正确(例如,“C5725”而非“RAWS:C5725”)
  • 使用 search_raws_stations 查找您所在位置附近的有效电台ID

API速率限制:

  • 概览免费套餐:每天5,000次请求
  • 检查你是否已超出限额
  • 等待限制重置或升级到付费层级

站点非活跃:

缓存问题

服务器缓存观测数据5-15分钟以减少API调用。如果您需要最新数据:

  1. 等待缓存TTL过期(默认:5分钟)
  2. 或者修改 CACHE_TTL_SECONDS.env
  3. 重启服务器以清除缓存

Claude桌面集成问题

服务器未出现在Claude中:

  1. 验证 claude_desktop_config.json 路径正确
  2. 使用绝对路径来 src/index.js (不相关)
  3. 配置更改后重启 Claude 桌面版
  4. 检查Claude Desktop的日志以查找错误

工具无法正常工作:

  1. 验证MCP服务器是否正在运行: npm start
  2. 检查API令牌是否已配置在 .env
  3. 使用一个已知有效的站ID进行测试,例如“C5725”

发展

# Install dependencies
npm install

# Run tests
npm test

# Run tests with coverage
npm run test:coverage

# Run linter
npm run lint

# Fix linting issues
npm run lint:fix

# Run in development mode with auto-reload
npm run dev

CONTRIBUTING.md(贡献指南文件) 以获取详细的发展指南。

项目结构

raws-mcp/
├── src/
│   ├── index.js           # MCP server entry point
│   ├── tools/             # MCP tool implementations
│   ├── api/               # API client modules
│   ├── schemas/           # Data validation schemas
│   └── utils/             # Helper functions
├── docs/
│   ├── architecture.md    # System architecture
│   ├── implementation_plan.md
│   ├── data_schema.md     # Schema mapping details
│   └── api_endpoints.md   # External API documentation
├── tests/
│   ├── unit/
│   └── integration/
├── .env.example
├── package.json
└── README.md

与火灾行为的整合

这台MCP服务器设计为与(某系统/软件/设备等)协同工作 火灾行为 应用程序:

  1. 火灾行为后端通过MCP协议调用RAWS MCP工具
  2. RAWS数据已格式化以匹配 wildfire_prompt_template.json
  3. React前端同时渲染天气数据和野火状态
  4. 位置查询会自动找到最近的RAWS站点
  5. 实时天气状况为火灾事件信息提供补充

火灾行为综合指南 以获取详细的集成步骤。

做出贡献

我们欢迎所有贡献!无论是修复漏洞、新增功能、改进文档,还是提供示例,您的帮助都将受到欢迎。

快速入门:

  1. 为仓库创建分支(或:克隆仓库)
  2. 创建一个特性分支(git checkout -b feature/amazing-feature)
  3. 做出你的更改
  4. 为新功能添加测试
  5. 运行测试和代码检查器(npm test && npm run lint
  6. 提交您的更改(git commit -m 'Add amazing feature'
  7. 推送到你的分支(git push origin feature/amazing-feature)
  8. 打开一个拉取请求

CONTRIBUTING.md 翻译为中文是:“贡献指南.md” 或 “贡献规范.md”(具体翻译可能根据上下文略有调整,但基本意思相同)。这里,“CONTRIBUTING”通常指的是关于如何向项目贡献代码或内容的指南或规范,“.md”表示这是一个Markdown格式的文件 关于以下方面的详细指南:

  • 代码风格和规范
  • 测试要求
  • 添加新的数据源
  • 扩展MCP工具
  • 文档标准

许可证

Apache 2.0 - 详情请参见LICENSE文件

文档

相关项目

致谢

  • 数据来源美国农业部林业局、土地管理局、国家气象局
  • 火灾天气公式国家野火协调小组(NWCG)
  • 模式/架构基于火灾行为应用的 wildfire_prompt_template.json

支持

对于问题或疑问:

状态

这个项目目前正处于 规划和文档编制阶段核心实现正在开发中。请参阅 实施计划 用于时间线和里程碑。

目录标签

目录标签

气象数据数据集成JavaScriptClaude本地部署野火管理天气监测实时数据

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

token

工具数量(toolCount,工具数)

4

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明token部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP