使用说明
天气MCP服务器
一个FastMCP服务器,为Poke集成提供天气数据、预报和警报。
🚀 特性
- 获取当前天气当前状况(根据美国国家气象局预报数据)
- 获取天气预报详细的多日天气预报(白天/夜晚时段)
- 获取天气警报实时警报和警告(NWS官方警报)
数据来源:美国国家气象局https://api.weather.gov) — 无需API密钥。
🛠️ 本地开发
# Install dependencies
pip install -r requirements.txt
# Run the server
python src/server.py
🔑 API密钥设置
无需。此服务器使用美国国家气象局API,无需API密钥。
🚢 部署
部署到Render(或:在Render上部署)
步骤:
- 点击上方的“部署到Render”按钮 或者前往 render.com(注:在中文语境中,通常直接保留网址的原样,不进行翻译,因此“render.com”直接作为网址名称使用,无需翻译。)
- 将您的GitHub帐户连接到Render (如果你还没有的话)
- 创建一个新的Web服务:
- 连接此存储库
- 名字:
weather-mcp - 环境:
Python 3 - 计划:
Free - 构建命令:
pip install -r requirements.txt - 启动命令:
python src/server.py
- 无需环境变量
- 部署!
注:在Render的免费套餐中,服务在闲置约15分钟后会进入空闲状态,并且可能需要手动执行“部署”操作来唤醒服务或获取最新的提交。与Vercel不同,默认情况下推送不会自动部署。
您的服务器将在 https://weather-mcp.onrender.com/mcp
🎯 投石(或“ Poke”)集成
- 首选 poke.com/settings/connections 翻译为中文是:“poke.com 的设置/连接”
- 添加MCP URL:
https://weather-mcp.onrender.com/mcp - 给它起个名字,比如“天气”
- 尝试:“使用天气MCP获取波士顿的3天天气预报。”
参考文献
- 基于Interaction MCP服务器模板: MCP服务器模板
- 通过Interaction的HackMIT挑战发现: 互动黑客马拉松挑战赛(MIT风格)
- 国家气象局API文档:
https://www.weather.gov/documentation/services-web-api
🔧 可用工具
get_current_weather(location, units="metric|imperial")基于NWS(美国国家气象局)预报时段的当前状况get_forecast(location, days=1..5, units="metric|imperial")多日预报(白天/夜晚时段)get_weather_alerts(location)指定地点的官方警报/监视/预警
📝 示例用法
# Get current weather (uses NWS forecast period closest to now)
get_current_weather(location="Seattle", units="metric")
# Get 3-day forecast (day/night periods)
get_forecast(location="New York", days=3, units="imperial")
# Get weather alerts
get_weather_alerts(location="Miami")
注释:
- 地点是通过内置的美国主要城市简单映射来解析的。对于其他地点,则使用默认坐标。如有需要,您可以使用地理编码服务来扩展此功能。
- 当前条件是基于第一个预报时段得出的,因为此时没有站点观测数据。