使用说明
MCP气象服务
模型控制协议(MCP)服务器,使用美国国家气象局(NWS)API提供天气相关工具,包括天气警报和预报。
特性
- MCP工具:
get_alerts:检索美国任何州的天气警报get_forecast:按坐标获取详细的天气预报
- MCP集成:
- 采用FastMCP框架构建
- 异步操作支持
- 类型注释接口
- 自我记录工具
截图
入门指南
先决条件
- Python 3.8+
- pip(Python包管理器)
- 互联网连接(用于API访问)
安装
-
克隆存储库:
git clone <repository-url> cd weather -
创建并激活虚拟环境(推荐):
python -m venv .venv .venv\Scripts\activate # On Windows -
安装所需的依赖项:
pip install -e .
用法
可用命令
-
获取天气警报
from weather import get_alerts # Get alerts for California alerts = await get_alerts("CA") print(alerts) -
获取天气预报
from weather import get_forecast # Get forecast for New York City forecast = await get_forecast(40.7128, -74.0060) print(forecast)
api参考
get_alerts(state: str) -> str
获取美国某个州的天气警报。
state:两个字母的美国州代码(例如“CA”、“NY”)
get_forecast(latitude: float, longitude: float) -> str
获取特定坐标的天气预报。
latitude:位置纬度longitude:位置经度
MCP实施
项目结构
weather.py:带有工具定义的主MCP服务器实现main.py:MCP服务器入口点pyproject.toml:具有MCP依赖关系的项目配置
MCP工具
get_alerts(state: str) -> str
获取美国某个州的活跃天气警报。
参数:
state:两个字母的美国州代码(例如“CA”、“NY”)
退货: 包含活动天气警报的格式化字符串
get_forecast(latitude: float, longitude: float) -> str
检索特定坐标的天气预报。
参数:
latitude:位置纬度longitude:位置经度
退货: 格式化天气预报信息
MCP依赖关系
fastmcp:核心MCP服务器实现httpx:API请求的异步HTTP客户端pydantic:用于数据验证和设置管理