使用说明

项目简介

本项目是一个基于 Model Context Protocol (MCP) 的服务器示例,专注于提供天气信息服务。它通过定义和注册工具,允许LLM客户端调用以获取实时的美国天气预警和天气预报数据。

主要功能点

  • 获取美国州级天气预警 (get_alerts): 查询指定美国州(两字母州代码)的实时天气预警信息。
  • 获取地理位置天气预报 (get_forecast): 查询指定经纬度位置的未来天气预报信息。

安装步骤

  1. 环境准备: 确保已安装 Python 3.8 或更高版本。
  2. 安装依赖: 由于代码中使用了 'fastmcp' 和 'httpx' 库,您可能需要安装它们。 假设 'fastmcp' 库可以通过 pip 安装 (根据仓库信息,这只是一个示例,实际 'fastmcp' 库可能需要自行构建或获取):
    pip install httpx
    # 假设 fastmcp 可以通过 pip 安装,如果实际情况不同,请参考 fastmcp 的安装说明
    pip install fastmcp
    请注意:如果 'fastmcp' 不是一个标准的 pip 包,您可能需要从其他来源获取并安装,或者仓库本身已经包含了 'fastmcp' 的实现。根据提供的仓库信息,'fastmcp' 可能是仓库作者为了示例目的而创建的一个简化版本,实际安装步骤可能需要参考 'fastmcp' 库的官方文档(如果存在)。

服务器配置

为了让 MCP 客户端连接到此服务器,您需要在客户端配置中指定服务器的启动信息。以下是一个示例配置,请根据您的实际情况进行调整:

{
  "serverName": "weather-server",
  "command": "python",
  "args": ["weather/weather.py"],
  "transport": "stdio"
}

配置参数说明:

  • 'serverName': 服务器名称,可以自定义,例如 "weather-server"。
  • 'command': 启动服务器的命令,这里使用 'python' 解释器。
  • 'args': 传递给 'python' 命令的参数,指定了服务器脚本的路径 'weather/weather.py'。 请确保此路径相对于您的 MCP 客户端的当前工作目录是正确的,或者使用绝对路径。
  • 'transport': 指定通信协议为 'stdio',表示客户端和服务器通过标准输入/输出流进行通信。

请注意: 上述配置假设您的 MCP 客户端和 'mcp-server' 仓库在同一文件系统上,并且客户端能够执行 'python weather/weather.py' 命令来启动服务器。 实际部署时,您可能需要根据您的环境调整路径和配置。

基本使用方法

  1. 启动服务器: 在配置好 MCP 客户端后,当客户端尝试连接到 "weather-server" 时,客户端会根据您提供的配置启动 'weather/weather.py' 脚本作为 MCP 服务器。

  2. 调用工具: MCP 客户端可以使用 MCP 协议向服务器发送 JSON-RPC 请求来调用已注册的工具。

    • 调用 'get_alerts' 工具示例 (伪代码,实际调用方式取决于 MCP 客户端的具体实现):

      {
        "jsonrpc": "2.0",
        "method": "call",
        "params": {
          "tool_name": "get_alerts",
          "arguments": {
            "state": "CA"
          }
        },
        "id": 1
      }

      这将请求服务器调用 'get_alerts' 工具,并传递参数 'state="CA"' (加利福尼亚州)。服务器将返回包含加州天气预警信息的 JSON-RPC 响应。

    • 调用 'get_forecast' 工具示例 (伪代码):

      {
        "jsonrpc": "2.0",
        "method": "call",
        "params": {
          "tool_name": "get_forecast",
          "arguments": {
            "latitude": 34.0522,
            "longitude": -118.2437
          }
        },
        "id": 2
      }

      这将请求服务器调用 'get_forecast' 工具,并传递经纬度参数。服务器将返回包含该位置天气预报信息的 JSON-RPC 响应。

  3. 查看响应: MCP 客户端会接收服务器返回的 JSON-RPC 响应,并根据响应内容处理天气信息。

请参考您的 MCP 客户端的文档,了解如何配置服务器连接以及如何发送 JSON-RPC 请求来调用工具。

信息

分类

网页与API