haichaozheng

Weather MCP Service

Community haichaozheng
Updated

mcp server and langgraph mcp adapeters

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

安装

  1. 克隆仓库:

    git clone https://github.com/haichaozheng/weather-mcp.git
    cd weather-mcp
    
  2. 创建虚拟环境:

    # 使用 Python 标准库
    python -m venv weather_venv
    
    # 激活虚拟环境(Windows)
    weather_venv\Scripts\activate
    
    # 激活虚拟环境(Linux/Mac)
    source weather_venv/bin/activate
    
  3. 安装依赖:

    pip install -r requirements.txt
    
  4. 配置环境变量:

    • 创建 .env 文件,参考 .env.example 文件格式
    • 添加必要的 API 密钥

使用方法

  1. 启动 Weather 服务器:

    python weather/weather.py
    

    服务器将在 http://localhost:8000 上启动,使用 SSE 传输。

  2. 在另一个终端窗口中运行客户端:

    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
  1. 编辑 .env 文件,填入您的实际配置:

    MOONSHOT_API_KEY=your_actual_api_key
    
  2. 确保 .env 文件不会被提交到版本控制系统中

MCP Server · Populars

MCP Server · New

    TBXark

    MCP Proxy Server

    An MCP proxy server that aggregates and serves multiple MCP resource servers through a single HTTP server.

    Community TBXark
    lpigeon

    ros-mcp-server

    The ROS MCP Server is designed to facilitate the control of robotic movement by providing a set of functions that allow for precise manipulation of linear and angular velocities.

    Community lpigeon
    emicklei

    melrose-mcp

    interactive programming of melodies, producing MIDI

    Community emicklei
    browserstack

    BrowserStack MCP Server

    BrowserStack's Official MCP Server

    Community browserstack
    damms005

    DevDb

    A zero-config VS Code database extension with affordances to aid development and debugging.

    Community damms005