天气聊天机器人

一个基于MCP协议和LangChain的天气查询聊天机器人,提供城市天气和天气预报功能。

  • by DavideLaManna
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 DavideLaManna/MCP_Weather_test

使用说明

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.py

MCP检查器UI

使用 MCP检查员 测试工具和调试服务器。

选项1:stdio

  1. 安装Node.js(用于 npx),然后运行:
npx -y @modelcontextprotocol/inspector
  1. 在检查器中:添加新服务器,选择 标准I/O
  2. 集 命令: python
  3. 集 参数: server/weather.py
  4. 集 工作目录 到项目根
  5. 连接并使用“工具”选项卡进行调用 get_weather_by_city 和 get_forecast_by_city

选项2:HTTP

  1. 使用HTTP传输启动服务器:
python server/weather.py --http
  1. 在另一个终端中,运行检查器:
npx -y @modelcontextprotocol/inspector
  1. 使用URL添加服务器: http://localhost:8000/mcp

工具

工具 说明
get_weather_by_city 一个城市的当前天气
get_forecast_by_city 多日预报(1-7天)

故障排除

找不到OPENAI_API_KEY –添加到 .env.

MCP连接错误 –确保 server/weather.py 自行正确运行。