返回 MCP 目录
public公开dns本地运行

weather-mcp

一个基于MCP协议的天气信息服务,提供美国各州天气警报和经纬度天气预报查询功能,使用Python和FastMCP服务器实现。

article

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) 传输

这些技术的结合,使得项目能够高效、稳定地运行,为用户提供准确的天气信息服务。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端