天气信息服务

一个基于Model Context Protocol (MCP)的天气信息服务,提供美国地区的天气警报和预报功能,专为AI模型设计。

  • by mauricioTechDev
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 mauriciotechdev/mcp-weather-server

使用说明

气象MCP服务器

一种模型上下文协议(MCP)服务器,使用美国国家气象局(NWS)API提供天气信息服务。该服务器实现了一组工具,人工智能模型可以使用这些工具来获取美国各地的天气警报和预报。

特性

  • 天气警报:使用两个字母的州代码获取美国任何州的活跃天气警报
  • 天气预报:使用经纬度坐标获取美国任何地点的详细天气预报
  • MCP集成:实施模型上下文协议,与人工智能模型无缝集成
  • TypeScript:用TypeScript编写,用于类型安全和更好的开发人员体验

安装

npm install
npm run build

用法

此服务器旨在用作CLI工具,可以全局安装:

npm install -g .
weather

服务器在stdio上运行,并提供两个主要工具:

1.获取天气警报

检索指定美国州的活动天气警报。

示例参数:

{
  "state": "CA"  // Two-letter state code
}

2.获取天气预报

使用坐标检索特定位置的天气预报。

示例参数:

{
  "latitude": 37.7749,
  "longitude": -122.4194
}

技术细节

  • 使用 @modelcontextprotocol/sdk 用于MCP实施
  • 使用美国国家气象局(NWS)API获取天气数据
  • 使用Zod实现数据验证
  • 用TypeScript和Node.js编写
  • 使用ES模块(package.json中的类型:“模块”)

依赖项

  • @modelcontextprotocol/sdk: ^1.12.1
  • zod: ^3.25.41
  • typescript:^5.8.3(开发依赖性)
  • @types/node:^22.15.26(开发依赖性)

发展

  1. 克隆存储库
  2. 安装依赖项: npm install
  3. 构建项目: npm run build

API集成

服务器使用具有以下端点的美国国家气象局(NWS)API:

  • 警报: https://api.weather.gov/alerts
  • 要点: https://api.weather.gov/points/{lat},{lon}
  • 预测:使用点端点提供的预测URL

错误处理

该服务器包括强大的错误处理功能,用于:

  • API请求失败
  • 坐标无效
  • 数据缺失或格式错误
  • 网络问题