使用说明
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中与天气工具聊天