项目简介
这是一个基于 Model Context Protocol (MCP) 的天气服务器示例,允许 LLM 客户端通过工具调用获取美国国家气象局 (NWS) 的天气信息,包括州级天气警报和经纬度定位的天气预报。
主要功能点
- 查询天气警报 (get-alerts): 允许用户查询指定美国州的天气警报信息。例如,可以查询加利福尼亚州 (CA) 的天气警报。
- 查询天气预报 (get-forecast): 允许用户查询指定经纬度坐标的天气预报信息。例如,可以查询洛杉矶 (经纬度 34.05, -118.24) 的天气预报。
安装步骤
- 安装 Node.js 和 npm: 确保你的电脑上已经安装了 Node.js 和 npm (Node 包管理器)。你可以从 https://nodejs.org/ 下载并安装。
- 下载代码: 从 GitHub 仓库 https://github.com/MCP-Mirror/hideya_weather-mcp-server 下载源代码,或者使用 'git clone https://github.com/MCP-Mirror/hideya_weather-mcp-server' 命令克隆到本地。
- 安装依赖: 打开终端,进入代码仓库根目录 'hideya_weather-mcp-server',运行命令 'npm install',这将安装项目所需的依赖包。
- 构建项目: 在终端中运行命令 'npm run build',这将编译 TypeScript 代码并生成 JavaScript 文件。
服务器配置
要让 MCP 客户端(例如 Claude for Desktop)连接到这个天气服务器,你需要配置客户端的 MCP 服务器设置。以下是一个示例配置,你需要将其添加到客户端的配置文件中(例如 Claude for Desktop 的 'claude_desktop_config.json'):
{ "mcpServers": { "weather": { "command": "node", "args": [ "/ABSOLUTE/PATH/TO/PARENT/FOLDER/hideya_weather-mcp-server/build/index.js" ] } } }
配置说明:
- '"weather"': 这是你为该天气服务器指定的名称,客户端会使用这个名称来识别和调用该服务器提供的工具。
- '"command": "node"': 指定启动服务器的命令。这里使用 'node' 命令来执行 JavaScript 代码。
- '"args"': 传递给 'node' 命令的参数,指向编译后的服务器入口文件 'build/index.js' 的绝对路径。
- 重要: 你需要将 '/ABSOLUTE/PATH/TO/PARENT/FOLDER/hideya_weather-mcp-server' 替换为你本地 'hideya_weather-mcp-server' 仓库父目录的绝对路径。例如,如果你的仓库完整路径是 '/Users/yourname/Documents/hideya_weather-mcp-server',那么父目录路径就是 '/Users/yourname/Documents'。你需要根据你的实际情况修改这个路径。
基本使用方法
- 启动服务器: 在终端中,进入代码仓库根目录 'hideya_weather-mcp-server',运行命令 'node build/index.js' 来启动服务器。服务器成功启动后,会在终端输出 "Weather MCP Server running on stdio"。保持该终端窗口运行,服务器才能持续提供服务。
- 配置 MCP 客户端: 根据你的 MCP 客户端(如 Claude for Desktop)的文档,将上面提供的服务器配置添加到客户端的配置文件中。确保配置中的路径已正确修改为你本地的绝对路径。
- 在客户端中使用工具: 在 MCP 客户端中,你可以通过自然语言指令来调用天气工具。例如,在 Claude 中,你可以尝试以下指令:
- 'Get weather alerts for CA using weather tool' (查询加利福尼亚州的天气警报)
- 'What's the forecast for latitude 34.05 and longitude -118.24 using weather tool' (查询经纬度 34.05, -118.24 的天气预报)
- 'Use weather tool to get alerts for NY' (查询纽约州的天气警报)
客户端会将这些指令转换为对 MCP 服务器的工具调用请求,服务器会处理请求并返回天气信息。
信息
分类
网页与API