MCP天气聊天机器人
使用官方MCP Python SDK演示MCP(模型上下文协议)服务器与LangChain的集成 langchain-mcp-adapters.天气数据来自Open-Meteo(免费,无API密钥)。
建筑
server/weather.py MCP server (stdio) - get_weather_by_city, get_forecast_by_city
chatbot.py Interactive chatbot - connects via stdio, uses load_mcp_tools
run_example.py Single-query example流量: StdioServerParameters -> stdio_client -> ClientSession -> load_mcp_tools ->LangChain代理商。
设置
pip install -r requirements.txt创建 .env 与:
OPENAI_API_KEY=your_openai_key跑步
交互式聊天机器人:
python chatbot.py单个查询示例:
python run_example.py单独运行MCP服务器 (用于调试):
python server/weather.pyMCP检查器UI
使用 MCP检查员 测试工具和调试服务器。
选项1:stdio
- 安装Node.js(用于
npx),然后运行:
npx -y @modelcontextprotocol/inspector- 在检查器中:添加新服务器,选择 标准I/O
- 集 命令:
python - 集 参数:
server/weather.py - 集 工作目录 到项目根
- 连接并使用“工具”选项卡进行调用
get_weather_by_city和get_forecast_by_city
选项2:HTTP
- 使用HTTP传输启动服务器:
python server/weather.py --http- 在另一个终端中,运行检查器:
npx -y @modelcontextprotocol/inspector- 使用URL添加服务器:
http://localhost:8000/mcp
工具
| 工具 | 说明 |
|---|---|
get_weather_by_city | 一个城市的当前天气 |
get_forecast_by_city | 多日预报(1-7天) |
故障排除
找不到OPENAI_API_KEY –添加到 .env.
MCP连接错误 –确保 server/weather.py 自行正确运行。
