项目简介

'mcp-weather-server' 是一个基于 Model Context Protocol (MCP) 的示例服务器,旨在为大型语言模型 (LLM) 应用提供实时的天气数据。该服务器演示了如何利用 MCP 协议构建上下文服务,使 LLM 能够访问外部数据源并进行更丰富的交互。

主要功能点

  • 天气数据查询: 服务器的核心功能是提供指定城市的天气信息。
  • MCP 协议支持: 实现了 MCP 协议,可以与任何兼容 MCP 协议的客户端进行通信。
  • 示例资源: 提供了一个 "weather" 资源,客户端可以通过 MCP 协议请求该资源获取天气数据。
  • 易于理解和扩展: 作为一个示例项目,代码结构清晰,易于理解和修改,可以作为开发其他 MCP 服务器的起点。

安装步骤

  1. 克隆仓库: 首先,使用 Git 克隆 'mcp-weather-server' 仓库到本地:
    git clone https://github.com/MiesnerJacob/mcp-weather-server
    cd mcp-weather-server
  2. 安装依赖: 虽然 'README.md' 中没有明确提及依赖,但通常 Python 项目需要安装依赖。如果项目中有 'requirements.txt' 文件,请运行以下命令安装依赖:
    pip install -r requirements.txt
    注意:如果仓库中没有 'requirements.txt' 文件,并且运行 'server.py' 出现模块缺失错误,则需要根据错误信息手动安装缺少的 Python 模块。 但根据通常的 Python 项目实践,很可能需要安装 'Flask' 或类似的 Web 框架。)

服务器配置

MCP 客户端需要配置以下 JSON 信息才能连接到 'mcp-weather-server' 服务器。请注意,以下配置假设服务器运行在本地,并使用默认的 'server.py' 脚本启动。

{
  "serverName": "mcp-weather-server",  // MCP 服务器的名称,可以自定义
  "command": "python",                 // 启动服务器的命令,这里假设使用 python 解释器
  "args": ["server.py"]                // 启动服务器命令的参数,指向服务器启动脚本 server.py
}

配置参数说明:

  • '"serverName"': 为 MCP 服务器指定一个易于识别的名称,例如 "weather-server" 或 "mcp-weather-server"。这个名称主要用于客户端管理和区分不同的 MCP 服务器。
  • '"command"': 指定用于启动 MCP 服务器进程的命令。对于 'mcp-weather-server',它是一个 Python 项目,因此通常使用 '"python"' 命令来运行 Python 脚本。请确保你的系统环境变量中 'python' 指向的是正确的 Python 解释器。
  • '"args"': 提供启动命令的参数,以列表形式表示。对于 'mcp-weather-server',唯一的参数是 '"server.py"',它指定了服务器的启动脚本。如果 'server.py' 脚本不在当前目录下,你需要提供正确的脚本路径。

注意: 实际运行 'mcp-weather-server' 前,请务必查看仓库中的代码,特别是 'server.py' 文件,确认启动命令和参数是否与代码逻辑一致。 示例配置基于对常见 Python 项目结构的推断。

基本使用方法

  1. 启动服务器: 在克隆的 'mcp-weather-server' 目录下,打开终端并运行以下命令启动服务器:
    python server.py
    如果服务器成功启动,你可能会在终端看到一些启动信息,例如服务器监听的端口等。(根据实际 'server.py' 代码的输出而定
  2. 配置 MCP 客户端: 在你的 MCP 客户端应用中,根据上述 “服务器配置” 部分提供的 JSON 配置信息,配置连接到 'mcp-weather-server'。
  3. 客户端请求天气数据: 使用 MCP 客户端向 'mcp-weather-server' 发送符合 MCP 协议的请求,以查询天气数据。具体的请求格式和资源路径需要参考 'mcp-weather-server' 的代码实现。 通常,客户端会请求 "weather" 资源,并可能需要提供城市名称作为参数。

示例客户端请求 (JSON-RPC 格式,仅供参考):

{
  "jsonrpc": "2.0",
  "method": "Context.getResource",
  "params": {
    "resourcePath": "weather",
    "arguments": {
      "city": "London"  // 例如查询伦敦的天气
    }
  },
  "id": 1
}

请注意: 由于 'README.md' 提供的信息非常有限,更详细的使用方法和 API 文档需要查看仓库中的源代码 ('server.py' 等) 来获取。 这个示例仓库主要用于演示 MCP 服务器的基本概念,可能不包含完善的文档。

信息

分类

网页与API