使用说明
气象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.1zod: ^3.25.41typescript:^5.8.3(开发依赖性)@types/node:^22.15.26(开发依赖性)
发展
- 克隆存储库
- 安装依赖项:
npm install - 构建项目:
npm run build
API集成
服务器使用具有以下端点的美国国家气象局(NWS)API:
- 警报:
https://api.weather.gov/alerts - 要点:
https://api.weather.gov/points/{lat},{lon} - 预测:使用点端点提供的预测URL
错误处理
该服务器包括强大的错误处理功能,用于:
- API请求失败
- 坐标无效
- 数据缺失或格式错误
- 网络问题