使用说明
项目简介
weather_service MCP 服务器是一个实现了 Model Context Protocol 的后端应用,它为大型语言模型(LLM)客户端提供天气信息服务。通过此服务器,LLM 可以获取实时的天气数据和进行天气预报查询,从而增强 LLM 在天气相关任务中的能力。
主要功能点
- 实时天气查询 (资源):
- 提供当前默认城市(伦敦)的实时天气信息。
- 允许客户端通过 'weather://城市名/current' 格式的 URI 访问特定城市的天气资源。
- 返回JSON格式的天气数据,包括温度、天气状况、湿度和风速等。
- 天气预报查询 (工具):
- 提供 'get_forecast' 工具,允许客户端查询指定城市的天气预报。
- 预报天数可配置,支持查询1到5天的天气预报。
- 返回JSON格式的预报数据,包含日期、温度和天气状况等。
安装步骤
- 环境准备:确保已安装 Python 环境和包管理工具 uv。如果未安装 uv,请参考 uv installation。
- 依赖安装:在项目根目录下,运行以下命令同步依赖并更新 lock 文件:
uv sync - 构建:运行以下命令构建项目:
构建产物将位于 'dist/' 目录。uv build
服务器配置
为了让 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' 命令。
基本使用方法
- 启动服务器:配置完成后,MCP 服务器会在客户端尝试连接时自动启动。您也可以手动在项目根目录下运行以下命令启动服务器(用于测试或调试):
uv run weather_service - 客户端交互:在支持 MCP 协议的 LLM 客户端(如 Claude)中,您可以:
- 列出资源:客户端可以请求服务器列出可用的天气资源,例如 "Current weather in London"。
- 读取资源:客户端可以请求读取特定 URI 的天气资源,例如 'weather://london/current',获取伦敦的实时天气数据。
- 调用工具:客户端可以调用 'get_forecast' 工具,并提供城市名和预报天数作为参数,例如 '{ "city": "Tokyo", "days": 3 }',获取东京未来三天的天气预报。
通过以上步骤,您就可以使用 weather_service MCP 服务器为 LLM 应用提供天气信息服务了。
信息
分类
网页与API