使用说明
天气
一种模型上下文协议(MCP)服务器,用于使用美国国家气象局(NWS)API检索天气警报和预报。
特性
- 获取天气警报:检索美国任何州的活动天气警报
- 获取天气预报:获取特定地理坐标的天气预报
- MCP集成:采用FastMCP构建,可与AI助手无缝集成
- 异步支持:无阻塞异步API调用可实现高效性能
需求
- Python>=3.13
- httpx>=0.28.1
- mcp[cli]>=1.25.0
安装
- 克隆存储库:
git clone <repository-url>
cd weather
- 安装依赖项:
pip install -e .
或使用紫外线:
uv sync
用法
运行服务器
python main.py
可用工具
get_alerts(state: str) -> str
获取美国某个州的天气警报。
参数:
state(str):两个字母的美国州代码(例如,加利福尼亚州、纽约州)
例子:
result = await get_alerts("CA")
get_forecast(latitude: float, longitude: float) -> str
获取特定位置的天气预报。
参数:
latitude(浮动):位置的纬度longitude(浮动):位置的经度
例子:
result = await get_forecast(40.7128, -74.0060)
建筑
该项目使用FastMCP框架创建了一个模型上下文协议服务器,该服务器公开了与天气相关的工具。所有API请求都通过美国国家气象局API进行正确的错误处理和超时管理。
组件
- 天气.py:带有工具定义的主服务器实现
- main.py:运行服务器的入口点
- pyproject.toml:项目配置和依赖关系
API信息
此服务器使用 美国国家气象局API,即:
- 免费使用
- 公共数据
- 不要求进行验证
- 覆盖美国及其领土
错误处理
该服务器包括全面的错误处理功能,用于:
- 网络超时(30秒限制)
- API响应无效
- 数据缺失或不可用
发展
要修改或扩展工具,请执行以下操作:
- 在中编辑工具定义
weather.py - 使用添加新的异步函数
@mcp.tool()装饰器 - 在参数描述中包含适当的文档字符串
- 使用正在运行的服务器进行测试
许可证
在此处添加许可证信息。
贡献
欢迎投稿!请随时提交拉取请求。