MCP天气聊天机器人
MCP天气聊天机器人 是一个生成式人工智能项目,可实时公开 天气数据和警报 作为MCP(模型上下文协议)服务器。 它演示了如何构建可供不同客户端使用的MCP工具 SSE (服务器通过HTTP发送事件)和 标准输入输出 运输。
后端与 美国国家气象局(NWS)API 提供准确、结构化的天气警报和预报。
______________________________________________________________________
快速开始
克隆仓库并使用以下命令设置环境 紫外线:
# Initialize venv
uv venv
source .venv/bin/activate
# Install dependencies
uv add mcp httpx nest_asyncio运行MCP天气服务器:
uv run server.py运行客户端(stdio或SSE):
uv run client_stdio.py
# or
uv run client_sse.py______________________________________________________________________
工作流概述
User -> Client (stdio / SSE) -> MCP Weather Server -> NWS API- 气象MCP服务器(
server.py)
- 工具:
- get_alerts(state) → 获取美国特定州的天气警报 - get_forecast(lat, lon) → 返回位置的详细预测
- 支持 标准输入输出 和 SSE(HTTP) 运输
- 在本地或Docker中运行
- 客户
- client_stdio.py → 通过以下方式连接 标准输入输出 - client_sse.py → 通过以下方式连接 SSE (http://localhost:8000/sse)
______________________________________________________________________
用户体验
- 启动服务器:
uv run server.py- 运行SSE客户端:
uv run client_sse.py- 或者运行stdio客户端:
uv run client_stdio.py- 交互示例:
你:告诉我北卡罗来纳州的天气状况
______________________________________________________________________
使用Docker运行
构建并运行容器化服务器:
docker build -t mcp-weather .
docker run -p 8000:8000 mcp-weather这将启动MCP天气服务器 SSE 启用并在上公开它 localhost:8000.
______________________________________________________________________
测试MCP气象服务器
您可以在中测试服务器 三种不同的方式:
MCP检查员
uv run mcp dev server/weather.py______________________________________________________________________
克劳德桌面
安装MCP服务器:
uv run mcp install server/weather.py______________________________________________________________________
光标IDE
- 打开 光标→ 设置→ MCP和集成
- 添加a 自定义MCP服务器
- 插入服务器配置(
server/weather.py) - Save → 直接在Cursor中与天气工具聊天
