Weather MCP Service
一个基于 Model Control Protocol (MCP) 的天气信息服务,提供天气预报和警报查询功能。
功能
- 获取美国各州的天气警报(
get_alerts
) - 通过经纬度查询天气预报(
get_forecast
)
技术栈
- Python 3.11+
- MCP (Model Control Protocol)
- FastMCP 服务器
- LangGraph + LangChain
- SSE (Server-Sent Events) 传输
安装
克隆仓库:
git clone https://github.com/haichaozheng/weather-mcp.git cd weather-mcp
创建虚拟环境:
# 使用 Python 标准库 python -m venv weather_venv # 激活虚拟环境(Windows) weather_venvScriptsactivate # 激活虚拟环境(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` 文件存储环境变量和敏感信息。请按照以下步骤设置:
1. 复制环境变量模板文件:
```bash
cp .env.example .env
编辑
.env
文件,填入您的实际配置:MOONSHOT_API_KEY=your_actual_api_key
确保
.env
文件不会被提交到版本控制系统中
Weather MCP Service
Project Details
- haichaozheng/weather-mcp
- Last Updated: 4/27/2025
Recomended MCP Servers
This read-only MCP Server allows you to connect to LinkedIn data from Claude Desktop through CData JDBC Drivers....
A Model Context Protocol (MCP) server for Tripadvisor Content API. This provides access to Tripadvisor location data, reviews,...
Official Notion MCP Server
A Model Context Protocol (MCP) server that enables AI assistants to perform web searches using SearXNG, a privacy-respecting...
A server that helps people access and query data in databases using the Legion Query Runner with Model...
Provides summarised output from various actions that could otherwise eat up tokens and cause crashes for AI agents