使用说明
项目简介
Weather Service MCP Server 是一个实现了 Model Context Protocol (MCP) 的后端服务,旨在为大型语言模型 (LLM) 应用提供天气相关的数据和功能。它通过 MCP 协议与客户端通信,允许 LLM 客户端查询实时天气信息和获取天气预报。
主要功能点
- 资源 (Resources):
- 提供当前城市(默认为伦敦)的实时天气信息资源。
- 允许客户端通过 'weather://城市名/current' 格式的 URI 访问特定城市的天气资源。
- 工具 (Tools):
- 提供 'get_forecast' 工具,允许客户端查询指定城市未来几天的天气预报。
- 工具接受城市名称和天数作为参数。
- 提示模板 (Prompts):
- 提供 'summarize-notes' 提示模板(尽管仓库代码中未直接体现,但README中提及)。用于总结笔记,可以控制总结的详细程度(简要/详细)。
安装步骤
- 环境准备: 确保你的机器上已安装 Python 环境。建议使用 'uv' 包管理器来管理 Python 环境和依赖。
- 安装依赖: 根据仓库 'README.md' 的 Building and Publishing 部分,首先需要同步依赖并更新 lockfile。在仓库根目录下执行命令:
uv sync - 构建: 构建项目包,生成发布文件(虽然对于本地开发和配置客户端不是必须步骤,但可以作为验证项目完整性的一步):
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 中,你可以在系统环境变量设置中添加。
基本使用方法
- 启动服务器: 配置好 MCP 客户端后,启动 Weather Service MCP Server。根据你选择的配置,客户端会自动尝试连接到服务器。
- 查询天气资源: 在支持 MCP 协议的 LLM 应用中,你可以指示 LLM 客户端访问天气资源。例如,你可以告诉 LLM "查询伦敦的当前天气" 或 "读取 'weather://london/current' 资源"。服务器会返回伦敦的实时天气信息 JSON 数据。
- 调用天气工具: 你可以指示 LLM 客户端调用 'get_forecast' 工具来获取天气预报。例如,你可以告诉 LLM "使用 'get_forecast' 工具查询北京未来 3 天的天气预报" 或 "调用工具 'get_forecast',城市为北京,天数为 3"。 服务器会返回北京未来 3 天的天气预报 JSON 数据。
- Prompt模板 (summarize-notes): 如果客户端支持 Prompt 模板功能,可以使用 'summarize-notes' 模板来总结笔记资源(尽管仓库代码中笔记功能的实现细节未在 'server.py' 中体现,可能在其他地方或为未来功能预留)。
调试: 如果遇到问题,可以使用 'README.md' 中推荐的 MCP Inspector 进行调试。
信息
分类
网页与API