M

MCP天气助手

@Rafaysherwani/MCP
0 Stars 170 次浏览 Rafaysherwani 更新于 2026-08-23

一个轻量级的微服务,从国家气象局API获取天气警报和预报,提供美国州级警报和基于位置的预报。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

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许可证。