使用说明

项目简介

weather MCP server 是一个基于 Model Context Protocol (MCP) 构建的应用后端,它作为一个天气信息服务,可以为支持 MCP 协议的 LLM 客户端(如 Claude)提供实时的天气信息和天气预报查询功能。

主要功能点

  • 资源 (Resources):
    • 提供当前城市的天气信息资源,URI 格式为 'weather://london/current' (默认城市为伦敦),以 JSON 格式返回包括温度、天气状况、湿度和风速等实时天气数据。
  • 工具 (Tools):
    • 提供 'get_forecast' 工具,允许 LLM 客户端查询指定城市未来几天的天气预报。用户可以指定城市名称和预报天数(1-5天)。

安装步骤

由于这是一个 MCP 服务器,您无需手动安装服务器端程序。通常,您需要配置支持 MCP 协议的 LLM 客户端(例如 Claude),让客户端能够连接和使用这个 weather MCP server。

如果您是开发者,想要本地运行和调试这个服务器,可以按照仓库 'README.md' 提供的开发步骤进行:

  1. 确保已安装 Python 环境。
  2. 安装 'uv' 包管理器 (参考仓库 'README.md',通常使用 'pip install uv')。
  3. 克隆或下载此仓库的代码到本地。
  4. 在项目根目录下,根据 'README.md' 的 "Development" -> "Building and Publishing" 部分,可能需要执行 'uv sync' 来同步依赖。
  5. 配置 'OPENWEATHER_API_KEY' 环境变量,你需要注册 OpenWeatherMap API 并获取 API 密钥。

服务器配置

为了让 MCP 客户端(如 Claude)连接到 weather MCP server,您需要配置客户端的配置文件。以 Claude Desktop 为例,配置文件通常是 'claude_desktop_config.json'。 根据仓库 'README.md' 提供的配置信息,您需要将 weather MCP server 添加到 'mcpServers' 配置中。

开发/未发布服务器配置 (Development/Unpublished Servers Configuration):

"mcpServers": {
  "weather": {
    "command": "uv",
    "args": [
      "--directory",
      "/path/to/weather/repository",  // 请替换为 weather 仓库在您本地的实际路径
      "run",
      "weather"
    ]
  }
}

请注意: 将 '/path/to/weather/repository' 替换为您本地 weather 仓库的实际路径。

已发布服务器配置 (Published Servers Configuration):

"mcpServers": {
  "weather": {
    "command": "uvx",
    "args": [
      "weather"
    ]
  }
}

配置参数说明:

  • 'server name': 'weather' - 服务器的名称,用于在客户端配置中标识。
  • 'command': 启动服务器的命令。
    • 开发模式使用 'uv run weather',表示使用 'uv' 运行 'weather' 程序。需要指定 '--directory' 参数指向仓库根目录。
    • 发布模式使用 'uvx weather',适用于已打包发布的服务器。
  • 'args': 传递给 'command' 的参数。
    • 开发模式需要 '--directory' 参数指定仓库路径,以及 'run' 和 'weather' 命令。
    • 发布模式只需要 'weather' 命令。

基本使用方法

配置完成后,当您在支持 MCP 协议的 LLM 客户端(如 Claude)中与 LLM 对话时,客户端将能够:

  • 读取天气资源: LLM 可以获取当前城市的天气信息,例如询问 "What's the weather in London?",客户端可能会读取 'weather://london/current' 资源来获取答案。
  • 调用天气工具: LLM 可以调用 'get_forecast' 工具来查询天气预报,例如询问 "What's the forecast for Paris for the next 3 days?",客户端可能会调用 'get_forecast' 工具,并传递城市 "Paris" 和天数 "3" 作为参数。

请注意: 具体的使用方式和触发条件取决于 LLM 客户端的实现和自然语言理解能力。您通常只需要像正常对话一样提问,客户端会在后台自动利用配置的 MCP 服务器提供的资源和工具来增强 LLM 的上下文理解和功能。

信息

分类

网页与API