
Weather MCP Server

2025.03.18
0
Python天气服务其它
Weather-MCP-Server 是一个基于 Model Context Protocol (MCP) 的服务,通过 National Weather Service (NWS) API 提供天气信息。其主要功能包括获取美国各州的天气警报和特定地点的天气预报。该服务适用于需要实时天气数据的应用场景,如天气应用、出行规划等。
View on GitHub
Overview
基本能力
产品定位
Weather-MCP-Server 是一个天气信息服务,通过 MCP 协议提供天气数据的查询功能。
核心功能
- 获取美国各州的天气警报
- 获取特定地点(通过经纬度)的天气预报
适用场景
- 天气应用开发
- 出行规划工具
- 实时天气数据监控
工具列表
get_alerts(state: str)
: 获取指定美国州的天气警报(使用两字母州代码,如 "CA" 表示加利福尼亚)get_forecast(latitude: float, longitude: float)
: 获取指定地点的天气预报
常见问题解答
- 错误处理和日志记录已内置,API 请求出错时会记录并返回错误信息
- 日志级别和格式可通过
config.py
配置
使用教程
使用依赖
- Python 3.10+
- FastMCP
- httpx
安装依赖命令:
uv add "mcp[cli]" httpx
安装教程
- 克隆仓库
- 设置虚拟环境:
python -m venv .venv source .venv/bin/activate # Windows 使用 `.venv\Scripts\activate`
- 安装依赖包:
uv add "mcp[cli]" httpx
调试方式
- 运行单元测试:
python -m unittest test_weather.py
- 手动测试(使用 MCP 客户端): ```python # 获取加利福尼亚的天气警报 result = await mcp.call_tool("get_alerts", state="CA") print(result)
# 获取旧金山的天气预报(近似坐标) result = await mcp.call_tool("get_forecast", latitude=37.7749, longitude=-122.4194) print(result) ```