使用说明

项目简介

Weather Service MCP Server 是一个实现了 Model Context Protocol (MCP) 的后端服务,旨在为大型语言模型 (LLM) 应用提供天气相关的数据和功能。它通过 MCP 协议与客户端通信,允许 LLM 客户端查询实时天气信息和获取天气预报。

主要功能点

  • 资源 (Resources):
    • 提供当前城市(默认为伦敦)的实时天气信息资源。
    • 允许客户端通过 'weather://城市名/current' 格式的 URI 访问特定城市的天气资源。
  • 工具 (Tools):
    • 提供 'get_forecast' 工具,允许客户端查询指定城市未来几天的天气预报。
    • 工具接受城市名称和天数作为参数。
  • 提示模板 (Prompts):
    • 提供 'summarize-notes' 提示模板(尽管仓库代码中未直接体现,但README中提及)。用于总结笔记,可以控制总结的详细程度(简要/详细)。

安装步骤

  1. 环境准备: 确保你的机器上已安装 Python 环境。建议使用 'uv' 包管理器来管理 Python 环境和依赖。
  2. 安装依赖: 根据仓库 'README.md' 的 Building and Publishing 部分,首先需要同步依赖并更新 lockfile。在仓库根目录下执行命令:
    uv sync
  3. 构建: 构建项目包,生成发布文件(虽然对于本地开发和配置客户端不是必须步骤,但可以作为验证项目完整性的一步):
    uv build

服务器配置

要将 Weather Service MCP Server 配置到 MCP 客户端(例如 Claude Desktop),你需要提供服务器的启动命令和参数。以下是根据 'README.md' 提供的配置信息,你需要根据你的实际情况进行调整。

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

{
  "mcpServers": {
    "weather_service": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/weather_service",  // 替换为 weather_service 仓库在您机器上的实际路径
        "run",
        "weather_service"
      ]
    }
  }
}
  • '"weather_service"': 服务器名称,客户端用此名称标识和调用该服务器。
  • '"command": "uv"': 启动服务器的命令,这里使用 'uv' 包管理器来运行 Python 应用。如果你的环境配置不同,可能需要调整为 'python' 或其他合适的命令。
  • '"args"': 命令参数列表。
    • '"--directory"': 指定工作目录为 'weather_service' 仓库的根目录。
    • '"/path/to/weather_service"': 请务必替换为 Weather Service MCP Server 仓库在你本地文件系统中的绝对路径。 例如 '/Users/your_username/weather_service' (MacOS/Linux) 或 'C:\path\to\weather_service' (Windows)。
    • '"run"': 'uv run' 子命令用于运行指定的 Python 包或模块。
    • '"weather_service"': 指定要运行的 Python 包名称,对应项目中的 'weather_service' 包。

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

{
  "mcpServers": {
    "weather_service": {
      "command": "uvx",
      "args": [
        "weather_service"
      ]
    }
  }
}
  • '"command": "uvx"': 使用 'uvx' 命令,这通常用于运行已发布的、可执行的 Python 包。
  • '"args"':
    • '"weather_service"': 指定要运行的已发布的 'weather_service' 包。

选择配置: 对于本地开发和测试,推荐使用 开发/未发布服务器配置,并确保将 '"/path/to/weather_service"' 替换为你的实际仓库路径。

API Key 配置:

  • Weather Service MCP Server 依赖 OpenWeatherMap API 获取天气数据。你需要在 OpenWeatherMap 官网 注册账号并获取 API Key。
  • 获取 API Key 后,需要将其设置为环境变量 'OPENWEATHER_API_KEY'。 具体设置环境变量的方法取决于你的操作系统。例如,在 Linux/MacOS 中,你可以在 '.bashrc' 或 '.zshrc' 文件中添加 'export OPENWEATHER_API_KEY=YOUR_API_KEY',然后执行 'source ~/.bashrc' 或 'source ~/.zshrc' 使环境变量生效。在 Windows 中,你可以在系统环境变量设置中添加。

基本使用方法

  1. 启动服务器: 配置好 MCP 客户端后,启动 Weather Service MCP Server。根据你选择的配置,客户端会自动尝试连接到服务器。
  2. 查询天气资源: 在支持 MCP 协议的 LLM 应用中,你可以指示 LLM 客户端访问天气资源。例如,你可以告诉 LLM "查询伦敦的当前天气" 或 "读取 'weather://london/current' 资源"。服务器会返回伦敦的实时天气信息 JSON 数据。
  3. 调用天气工具: 你可以指示 LLM 客户端调用 'get_forecast' 工具来获取天气预报。例如,你可以告诉 LLM "使用 'get_forecast' 工具查询北京未来 3 天的天气预报" 或 "调用工具 'get_forecast',城市为北京,天数为 3"。 服务器会返回北京未来 3 天的天气预报 JSON 数据。
  4. Prompt模板 (summarize-notes): 如果客户端支持 Prompt 模板功能,可以使用 'summarize-notes' 模板来总结笔记资源(尽管仓库代码中笔记功能的实现细节未在 'server.py' 中体现,可能在其他地方或为未来功能预留)。

调试: 如果遇到问题,可以使用 'README.md' 中推荐的 MCP Inspector 进行调试。

信息

分类

网页与API