README
🚀 天气 MCP 服务
本项目是一个基于 Model Control Protocol (MCP) 的天气信息服务,能提供天气预报和警报查询功能,助力用户及时掌握天气动态。
🚀 快速开始
本服务可让你轻松获取美国各州的天气警报以及特定经纬度位置的天气预报。下面为你介绍具体的启动步骤。
✨ 主要特性
- 天气警报查询:通过
get_alerts方法,可获取美国各州的天气警报。 - 天气预报查询:利用
get_forecast方法,能通过经纬度查询特定位置的天气预报。
📦 安装指南
克隆仓库
git clone https://github.com/haichaozheng/weather-mcp.git
cd weather-mcp
创建虚拟环境
# 使用 Python 标准库
python -m venv weather_venv
# 激活虚拟环境(Windows)
weather_venv\Scripts\activate
# 激活虚拟环境(Linux/Mac)
source weather_venv/bin/activate
安装依赖
pip install -r requirements.txt
配置环境变量
- 创建
.env文件,参考.env.example文件格式。 - 添加必要的 API 密钥。
💻 使用示例
基础用法
启动 Weather 服务器
python weather/weather.py
服务器将在 http://localhost:8000 上启动,使用 SSE 传输。
运行客户端
在另一个终端窗口中运行:
python weather/mcp_client.py
客户端将连接到服务器并执行一系列天气查询测试。
📚 详细文档
API 功能
天气警报查询
get_alerts(state: str) -> str
state:两字母美国州代码(例如:CA, NY)- 返回:该州的活跃天气警报列表
天气预报查询
get_forecast(latitude: float, longitude: float) -> str
latitude:位置纬度longitude:位置经度- 返回:该位置的天气预报
项目结构
weather-mcp/
├── weather/
│ ├── weather.py # 主服务器文件
│ ├── mcp_client.py # 客户端测试文件
├── requirements.txt # 项目依赖
├── .env.example # 环境变量示例
└── README.md # 本文档
环境变量配置
项目使用 .env 文件存储环境变量和敏感信息。请按照以下步骤设置:
复制环境变量模板文件
cp .env.example .env
编辑 .env 文件
编辑 .env 文件,填入您的实际配置。
🔧 技术细节
本项目采用了以下技术栈:
- Python 3.11+
- MCP (Model Control Protocol)
- FastMCP 服务器
- LangGraph + LangChain
- SSE (Server-Sent Events) 传输
这些技术的结合,使得项目能够高效、稳定地运行,为用户提供准确的天气信息服务。
Scan to join WeChat group