使用说明
项目简介
'weather-server' 是一个基于 Model Context Protocol (MCP) 实现的天气服务器示例。它通过 MCP 协议向客户端提供实时的天气信息和天气预报功能。该服务器使用 OpenWeatherMap API 获取天气数据,并通过 MCP 资源和工具的方式暴露给 LLM 应用进行调用。
主要功能点
- 提供当前天气资源: 客户端可以请求获取默认城市(旧金山)的实时天气数据,包括温度、天气状况、湿度和风速。
- 提供天气预报工具: 客户端可以调用 'get_forecast' 工具,查询指定城市未来几天的天气预报(最多 5 天)。
安装步骤
- 安装 Node.js 和 npm: 确保你的系统已安装 Node.js 和 npm。
- 克隆仓库: 在终端中执行命令 'git clone https://github.com/jacksteamdev/weather-server.git' 克隆仓库到本地。
- 进入仓库目录: 执行命令 'cd weather-server' 进入项目目录。
- 安装依赖: 执行命令 'npm install' 安装项目依赖。
- 配置 API 密钥:
- 在仓库根目录下创建 '.env' 文件。
- 在 '.env' 文件中添加 'OPENWEATHER_API_KEY=YOUR_OPENWEATHER_API_KEY',并将 'YOUR_OPENWEATHER_API_KEY' 替换为你从 OpenWeatherMap 官网申请的 API 密钥。
服务器配置
MCP 客户端需要配置以下 JSON 对象来启动和连接 'weather-server':
{ "serverName": "weather-server", "command": "node", "args": ["./src/index.ts"] }
- 'serverName': 服务器的名称,可以自定义,用于在 MCP 客户端中标识该服务器。例如 "weather-server"。
- 'command': 启动服务器的命令。由于该服务器使用 Node.js 编写,因此命令为 'node'。
- 'args': 启动命令的参数,指定服务器入口文件为 './src/index.ts'。
基本使用方法
- 启动服务器: 在仓库根目录下,执行命令 'npm start' 启动 'weather-server'。服务器将在后台运行,并通过标准输入/输出 (stdio) 与 MCP 客户端进行通信。
- MCP 客户端请求: 配置并启动 MCP 客户端,客户端将根据配置连接到 'weather-server'。之后,客户端可以发送 MCP 请求与服务器交互,例如:
- 请求列出可用的天气资源。
- 请求读取当前城市(旧金山)的实时天气资源。
- 请求列出可用的工具。
- 调用 'get_forecast' 工具查询指定城市的天气预报。
信息
分类
网页与API