天气查询工具

一个连接Claude和Python天气服务器的项目,通过自然语言查询印度城市的实时天气和两天预报。

  • by deoprakash
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 deoprakash/weatherassistantmcp

使用说明

🌦️ 印度气象助理(Claude+MCP)

这是一个初学者友好的MCP(模型上下文协议)项目,它将Python天气服务器连接到 克劳德,允许您为印度城市提出自然语言天气问题。它使用免费 wttr.in API获取实时条件和2天预测。


🚀 项目亮点

  • 🔗 通过MCP连接到克劳德
  • 🧠 可通过自然语言调用的工具
  • 🌐 实时天气数据通过 wttr.in API
  • 🛠️ 使用FastMCP服务器构建,并使用MCP Inspector GUI进行检查

📸 演示截图

✅ 克劳德集成测试

🛠 MCP检查器工具执行

📋 预测输出验证


🧰 技术栈

组件 描述
🧠 Claude 将自然提示路由到工具的AI助手
⚙️ MCP 将Claude连接到外部工具的协议
🐍 Python 工具实现 FastMCP
🌐 wttr.in 印度天气预报免费API
🧪 MCP检查员 目视测试和检查界面

📂 文件夹结构

weather-assistant-mcp/
│
├── weather.py             # MCP server with tools
├── .venv/                 # Python virtual environment (optional)
├── README.md              # This file
└── ...

🔧 运作原理

第一步:向Claude发送用户提示

“明天孟买会下雨吗?”

步骤2:Claude通过MCP发送请求

  • Claude确定提示与您的工具匹配 get_forecast(city)

步骤3:你的Python工具运行

  • weather.py 从以下位置获取实时数据 https://wttr.in/mumbai?format=j1

第四步:克劳德以结果回应

📍 孟买天气:🌧️ 预计明天有雨,最高气温为30°C。


🛠️ 工具功能

get_forecast(city: str)

返回给定印度城市的当前天气和2天预报。

get_alerts(city: str)

如果出现极端高温、风、湿度或降雨,则返回警报。


✅ 设置和运行

1.安装依赖项

uv venv
uv pip install mcp[cli] httpx

2.运行MCP检查器

npx @modelcontextprotocol/inspector \
  uv \
  --directory . \
  run \
  weather.py

3.在检查器UI中

  • 运输类型: STDIO
  • 命令: uv
  • Args: run --directory . weather.py
  • 点击▶️ Restart → 有联系的!

👋 关于

这个项目是我的 学习Claude+MCP的第一步 整合。
使用Python、Claude API和FastMCP构建。

作者:德奥·普拉卡什
日期:2025年7月
灵感来自:模型上下文协议(https://modelcontextprotocol.io)


📜 许可证

MIT许可证