使用说明
WeatherMCP
一个简单的 模型上下文协议 (MCP)服务器,该服务器公开用于从美国国家气象局(NWS)API获取实时天气警报和预报的工具。
特性
- 各州天气警报:使用其两个字母的代码获取美国任何州的活跃NWS警报(例如。
CA,NY). - 按坐标进行点预测:返回纬度/经度对的人类可读短期预测。
- 不需要API密钥:利用公众
api.weather.gov端点。
需求
- python: 3.10+
- 依赖项 (也列在
pyproject.toml):httpxmcp[cli]
您可以使用首选工具安装依赖项(例如。 uv, pip).
# using uv
yuv sync
# or using pip
pip install -r requirements.txt # or equivalent
运行MCP服务器
MCP服务器实现位于 weather.py 并且是用 FastMCP.
要直接运行它(stdio传输):
python weather.py
在支持MCP配置的工具中(例如Claude Desktop、Cursor或其他MCP客户端),将服务器命令指向与以下内容等效的内容:
python /path/to/weather.py
或者,如果您正在使用 uv:
uv run python weather.py
外露工具
服务器目前公开了两个工具:
get_alerts(state: str) -> str
描述:返回美国某个州的NWS天气警报。
- 参数:
state(str):两个字母的美国州代码(例如。CA,NY).
- 输出:总结每个警报(事件、区域、严重性、描述和推荐说明)的格式化字符串,或指示没有活动警报/无法获取数据的消息。
get_forcast(latitude: float, longitude: float) -> str
注:工具名称是故意的
get_forcast(拼写准确)以匹配服务器实现。
描述:返回特定位置的短期预测。
- 参数:
latitude(float):位置的纬度。longitude(float):位置的经度。
- 输出:一个格式化的字符串,总结了接下来的几个预测期(名称、温度、风和详细的预测文本),或者一条表示无法获取数据的消息。
发展
- 主MCP服务器入口点:
weather.py - 简单测试脚本:
main.py(打印问候语;MCP服务器本身不使用)。
您可以通过添加新内容来修改或扩展服务器 @mcp.tool() 功能在 weather.py.
备注
- 该项目旨在作为实验和学习的最小示例MCP服务器。
- 它目前只使用公共NWS端点,不需要身份验证或机密。