使用说明

项目简介

本项目是一个基于 Model Context Protocol (MCP) 的天气信息服务器,旨在为LLM客户端提供标准化的天气数据访问能力。它通过调用美国国家气象局 (NWS) 的API,提供指定地区的天气预警和天气预报信息。

主要功能点

  • 获取天气预警 (get_alerts): 根据美国州份代码,查询该地区当前生效的天气预警信息。
  • 获取天气预报 (get_forecast): 根据经纬度坐标,查询未来几天的详细天气预报。

安装步骤

  1. 环境准备: 确保已安装 Python 3.7 或更高版本。建议使用虚拟环境以隔离项目依赖。
    # 创建虚拟环境 (可选)
    python -m venv venv
    # 激活虚拟环境 (可选)
    source venv/bin/activate  # Linux/macOS
    venv\Scripts\activate  # Windows
  2. 安装依赖: 使用 pip 安装 'mcp-server' 和 'httpx' 库。
    pip install mcp-server httpx
  3. 保存代码: 将提供的 'weather.py' 代码保存到本地文件。

服务器配置

MCP客户端需要配置以下JSON格式信息以连接到本MCP服务器。

{
  "server_name": "weather",  // 服务器名称,与 weather.py 代码中 FastMCP 初始化时指定的名称一致
  "command": "python",      // 启动服务器的命令,这里使用 python 解释器
  "args": ["weather.py"]    // 启动命令的参数,指定 weather.py 脚本文件
}

配置参数说明:

  • 'server_name': 服务器的名称,必须与 'weather.py' 代码中 'FastMCP("weather")' 初始化的名称 '"weather"' 保持一致。
  • 'command': 运行服务器程序的命令。由于 'weather.py' 是 Python 脚本,所以这里使用 'python' 命令来执行。
  • 'args': 传递给 'command' 命令的参数列表。这里指定要运行的 Python 脚本文件名为 'weather.py'。

基本使用方法

  1. 启动服务器: 在安装好依赖并完成配置后,MCP客户端根据上述服务器配置启动 'weather' 服务器。服务器将在标准输入/输出 (stdio) 上等待客户端的 JSON-RPC 请求。
  2. 客户端调用工具: MCP客户端可以使用 JSON-RPC 协议向 'weather' 服务器发送请求,调用 'get_alerts' 和 'get_forecast' 工具,并传递相应的参数(州份代码或经纬度)。服务器将返回 JSON-RPC 响应,包含工具执行结果(天气预警或天气预报信息)。

示例 (MCP客户端请求调用 'get_alerts' 工具):

{
  "jsonrpc": "2.0",
  "method": "call",
  "params": {
    "tool_name": "get_alerts",
    "arguments": {
      "state": "CA"  // 查询加利福尼亚州的天气预警
    }
  },
  "id": "1"
}

示例 (MCP客户端请求调用 'get_forecast' 工具):

{
  "jsonrpc": "2.0",
  "method": "call",
  "params": {
    "tool_name": "get_forecast",
    "arguments": {
      "latitude": 34.0522,  // 纬度
      "longitude": -118.2437 // 经度 (洛杉矶)
    }
  },
  "id": "2"
}

信息

分类

网页与API