MCP天气助手
一个轻量级的微服务,从国家气象局API获取天气警报和预报,提供美国州级警报和基于位置的预报。
服务介绍
mcp_AI
🌤️ 天气警报与预报MCP工具
这是一个使用FastMCP的轻量级微服务,它从National Weather Service API获取天气警报和预报。该工具提供美国州级警报和基于位置的天气预报。
🚀 特性
- 获取活动警报: 使用两个字母的缩写为任意美国州获取活动天气警报。
- 获取预报: 为特定纬度和经度检索即将到来的天气预报。
- 异步请求: 高效使用
httpx进行非阻塞API调用。 - 格式化输出: 易于阅读的字符串输出,非常适合聊天机器人集成或快速CLI访问。
👷️ 安装
pip install httpx
pip install mcp # Or your local FastMCP package
📦 使用
确保你已经安装了Python 3.9+ 和 mcp。
python weather.py
MCP服务器将启动并通过stdio传输监听命令。
🧰 可用工具
get_alerts(state: str)
为美国某个州获取活动天气警报。
参数:
state: 两个字母的州代码(例如,CA,TX,NY)
返回值:
当前警报的格式化字符串或如果没有可用警报时的消息。
get_forecast(latitude: float, longitude: float)
为特定位置获取详细的天气预报。
参数:
latitude: 位置的纬度(例如,37.7749)longitude: 位置的经度(例如,-122.4194)
返回值:
最多5个时间段的详细预报数据(例如,“今晚”,“周一”)。
🧪 示例输出
警报示例:
Event: Flood Warning
Area: San Joaquin County
Severity: Moderate
Description: Flooding is expected in low-lying areas...
Instructions: Turn around, don’t drown...
预报示例:
Tonight:
Temperature: 54°F
Wind: 10 mph NW
Forecast: Clear skies with calm wind.
---
Monday:
Temperature: 68°F
Wind: 5 to 10 mph W
Forecast: Sunny and warm.
📟 许可证
本项目采用MIT许可证。