使用说明

项目简介

天气信息MCP服务器是一个基于 Model Context Protocol (MCP) 构建的应用后端,专注于提供美国国家气象局 (NWS) 的天气信息。它通过标准化的 MCP 协议,向 LLM 客户端提供天气警报和预报查询功能,使得 LLM 应用可以方便地获取实时天气数据作为上下文信息。

主要功能点

  • 获取美国州级天气警报:允许用户查询美国特定州(例如加利福尼亚州 "CA")的实时天气警报信息,包括事件类型、区域、严重程度、描述和指导等。
  • 获取指定位置天气预报:允许用户通过提供经纬度坐标,查询特定地点的详细天气预报,包括未来数个时段的天气状况、温度、风速风向等信息。

安装步骤

  1. 克隆仓库
    git clone https://github.com/JackKuo666/Weather-MCP-Server.git
    cd Weather-MCP-Server
  2. 创建并激活虚拟环境
    python -m venv .venv
    source .venv/bin/activate   # Linux/macOS
    .venv\Scripts\activate      # Windows
  3. 安装依赖
    uv add "mcp[cli]" httpx

服务器配置

要使 MCP 客户端能够连接到此天气信息MCP服务器,您需要在客户端配置中指定服务器的启动命令。以下是推荐的配置信息(JSON 格式):

{
  "server_name": "weather",
  "command": "python",
  "args": ["weather.py"]
}

配置参数说明:

  • 'server_name': 服务器名称,可以自定义,例如 "weather"。
  • 'command': 启动服务器的命令,这里使用 'python' 解释器。
  • 'args': 传递给启动命令的参数,这里指定运行 'weather.py' 文件。

注意: MCP 客户端需要能够执行 'python weather.py' 命令来启动此天气信息服务器。请确保您的 MCP 客户端环境已安装 Python 并可以访问到 'weather.py' 文件。

基本使用方法

在 MCP 客户端中,您可以使用以下工具调用来获取天气信息:

  • 获取州级天气警报: 调用工具名: 'weather.get_alerts' 参数:

    • 'state': 美国州份的两位字母代码 (例如: "CA", "NY")

    例如,在 MCP 客户端中调用获取加利福尼亚州警报的工具:

    result = await mcp.call_tool("weather.get_alerts", state="CA")
    print(result)
  • 获取位置天气预报: 调用工具名: 'weather.get_forecast' 参数:

    • 'latitude': 纬度 (浮点数)
    • 'longitude': 经度 (浮点数)

    例如,在 MCP 客户端中调用获取旧金山 (大概经纬度) 天气预报的工具:

    result = await mcp.call_tool("weather.get_forecast", latitude=37.7749, longitude=-122.4194)
    print(result)

请根据您的 MCP 客户端的具体使用方式,参考以上工具调用方法来获取天气信息。

信息

分类

网页与API