天气查询工具

一个基于Python的天气应用,提供美国国家气象局(NWS) API的访问,用于获取天气警报和预报。

  • by robinliubin
  • Go
  • 本地部署
  • 更新于
在 GitHub 查看 robinliubin/weather

使用说明

天气

一个基于Python的天气应用程序,提供对美国国家气象局(NWS)API的访问,以检索天气警报和预报。

特性

  • 获取美国任何州的活跃天气警报
  • 检索特定地理坐标的详细天气预报
  • 按名称获取任何城市的7天天气预报
  • 格式清晰的输出,便于阅读
  • 作为MCP(Anthropic模型控制协议)工具构建,供Claude使用

安装

需要Python 3.10或更高版本。

# Clone the repository
git clone https://github.com/robinliubin/weather.git
cd weather

# Install dependencies
pip install -e .

用法

作为Claude的MCP工具

此应用程序旨在通过MCP协议与Claude一起用作工具。安装后,Claude可以通过三个主要功能访问天气数据:

  1. get_alerts(state) -获取美国某个州的活跃天气警报
  2. get_forecast(latitude, longitude) -获取特定坐标的详细天气预报
  3. get_forecast_by_city(city, state) -按名称获取一个城市的7天天气预报

Claude的查询示例

What weather alerts are active in CA?
What's the weather forecast for latitude 37.7749 and longitude -122.4194 (San Francisco)?
What's the 7-day weather forecast for Seattle, WA?

本地运行

您也可以直接运行应用程序:

python main.py

API详细信息

该应用程序使用美国国家气象局(NWS)API:

  • 基本URL:https://api.weather.gov
  • 使用的端点:
    • /alerts/active/area/{state} -用于状态警报
    • /points/{latitude},{longitude} -有关位置信息
    • /forecast -详细预测

依赖项

  • httpx:用于异步HTTP请求
  • mcp[cli]:Anthropic模型控制协议的实现

许可证

[在此处添加您的许可证信息]

贡献

欢迎投稿!请随时提交拉取请求。