使用说明

项目简介

weather_service MCP 服务器是一个实现了 Model Context Protocol 的后端应用,它为大型语言模型(LLM)客户端提供天气信息服务。通过此服务器,LLM 可以获取实时的天气数据和进行天气预报查询,从而增强 LLM 在天气相关任务中的能力。

主要功能点

  • 实时天气查询 (资源)
    • 提供当前默认城市(伦敦)的实时天气信息。
    • 允许客户端通过 'weather://城市名/current' 格式的 URI 访问特定城市的天气资源。
    • 返回JSON格式的天气数据,包括温度、天气状况、湿度和风速等。
  • 天气预报查询 (工具)
    • 提供 'get_forecast' 工具,允许客户端查询指定城市的天气预报。
    • 预报天数可配置,支持查询1到5天的天气预报。
    • 返回JSON格式的预报数据,包含日期、温度和天气状况等。

安装步骤

  1. 环境准备:确保已安装 Python 环境和包管理工具 uv。如果未安装 uv,请参考 uv installation
  2. 依赖安装:在项目根目录下,运行以下命令同步依赖并更新 lock 文件:
    uv sync
  3. 构建:运行以下命令构建项目:
    uv build
    构建产物将位于 'dist/' 目录。

服务器配置

为了让 MCP 客户端(例如 Claude)连接到 weather_service MCP 服务器,需要在客户端的配置文件中添加服务器配置信息。以下是针对开发环境和公开服务器的配置示例,通常 MCP 客户端配置开发环境即可。

开发/未公开服务器配置 (claude_desktop_config.json 示例):

请根据您的 Claude 客户端配置文件路径进行配置,通常为:

  • MacOS: '~/Library/Application\ Support/Claude/claude_desktop_config.json'
  • Windows: '%APPDATA%/Claude/claude_desktop_config.json'

在 'mcpServers' 字段下添加 'weather_service' 的配置:

"mcpServers": {
  "weather_service": {
    "command": "uv",  // 启动服务器的命令,这里使用 uv 运行 Python
    "args": [
      "--directory",  // 指定工作目录
      "C:\Prj\weather_service", // 替换为 weather_service 项目的实际路径
      "run",          // uv run 命令
      "weather_service" // 运行 weather_service 包
    ]
  }
}

注意:

  • 请将 'C:\Prj\weather_service' 替换为您本地 weather_service 项目的实际绝对路径。
  • 确保您的 Claude 客户端能够访问到 'uv' 命令。

基本使用方法

  1. 启动服务器:配置完成后,MCP 服务器会在客户端尝试连接时自动启动。您也可以手动在项目根目录下运行以下命令启动服务器(用于测试或调试):
    uv run weather_service
  2. 客户端交互:在支持 MCP 协议的 LLM 客户端(如 Claude)中,您可以:
    • 列出资源:客户端可以请求服务器列出可用的天气资源,例如 "Current weather in London"。
    • 读取资源:客户端可以请求读取特定 URI 的天气资源,例如 'weather://london/current',获取伦敦的实时天气数据。
    • 调用工具:客户端可以调用 'get_forecast' 工具,并提供城市名和预报天数作为参数,例如 '{ "city": "Tokyo", "days": 3 }',获取东京未来三天的天气预报。

通过以上步骤,您就可以使用 weather_service MCP 服务器为 LLM 应用提供天气信息服务了。

信息

分类

网页与API