使用说明

项目简介

'weather-server' 是一个基于 Model Context Protocol (MCP) 实现的天气服务器示例。它通过 MCP 协议向客户端提供实时的天气信息和天气预报功能。该服务器使用 OpenWeatherMap API 获取天气数据,并通过 MCP 资源和工具的方式暴露给 LLM 应用进行调用。

主要功能点

  • 提供当前天气资源: 客户端可以请求获取默认城市(旧金山)的实时天气数据,包括温度、天气状况、湿度和风速。
  • 提供天气预报工具: 客户端可以调用 'get_forecast' 工具,查询指定城市未来几天的天气预报(最多 5 天)。

安装步骤

  1. 安装 Node.js 和 npm: 确保你的系统已安装 Node.js 和 npm。
  2. 克隆仓库: 在终端中执行命令 'git clone https://github.com/jacksteamdev/weather-server.git' 克隆仓库到本地。
  3. 进入仓库目录: 执行命令 'cd weather-server' 进入项目目录。
  4. 安装依赖: 执行命令 'npm install' 安装项目依赖。
  5. 配置 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'。

基本使用方法

  1. 启动服务器: 在仓库根目录下,执行命令 'npm start' 启动 'weather-server'。服务器将在后台运行,并通过标准输入/输出 (stdio) 与 MCP 客户端进行通信。
  2. MCP 客户端请求: 配置并启动 MCP 客户端,客户端将根据配置连接到 'weather-server'。之后,客户端可以发送 MCP 请求与服务器交互,例如:
    • 请求列出可用的天气资源。
    • 请求读取当前城市(旧金山)的实时天气资源。
    • 请求列出可用的工具。
    • 调用 'get_forecast' 工具查询指定城市的天气预报。

信息

分类

网页与API