SuperAPI AI 工具集

esp-rainmaker-mcp

ESP RainMaker MCP 服务器是一个基于 Model Context Protocol(MCP)的包装器,封装了 esp-rainmaker-cli Python 库,允许兼容 MCP 的客户端(如 LLM 或 Cursor、Claude Desktop、Windsurf、Gemini CLI 等应用)通过官方 CLI 与 ESP RainMaker 设备交互。该服务器提供统一的自然语言接口,可执行设备开关、调整设置、管理日程等操作,并支持节点管理、参数获取与设置、日程管理以及家庭/房间分组管理。服务器本地运行,凭证存储在用户机器上,设备管理操作通过 esp-rainmaker-cli 调用 ESP RainMaker 云端 API 完成。使用前需 Python 3.10+、uv 包管理器,并已通过 esp-rainmaker-cli 登录。

访问官网

工具介绍

ESP RainMaker MCP 服务器为 ESP RainMaker 设备提供基于 Model Context Protocol(MCP)的交互能力。MCP 是由 Anthropic 提出的标准化框架,使 AI 系统能以统一方式与外部工具、数据源和服务交互。ESP RainMaker MCP 服务器是一个包装器,封装了 esp-rainmaker-cli Python 库,让兼容 MCP 的客户端(如 LLM 或 Cursor、Claude Desktop、Windsurf、Gemini CLI 等应用)通过官方 CLI 控制设备。

主要能力包括:

  • 认证与配置:提供登录说明(login_instructions)和检查登录状态(check_login_status)。
  • 节点管理:列出所有节点 ID(get_nodes)、获取节点详细信息(get_node_details),支持按字段、名称、类型过滤;获取节点在线/离线状态(get_node_status);获取当前参数值(get_params);设置一个或多个设备的参数(set_params)。
  • 日程管理:获取设备日程(get_schedules);设置日程(set_schedule),支持添加、编辑、删除、启用、禁用操作,可指定名称、触发条件和动作。
  • 分组管理(家庭/房间层级):创建家庭或房间(create_group);获取分组详情(get_group_details);更新分组属性或管理设备(update_group);将设备添加到房间(add_device_to_room)。

使用方式:

  1. 环境要求:Python 3.10 或更高版本;uv 包管理器;已通过 esp-rainmaker-cli login 命令在终端至少成功登录一次。
  2. 安装步骤:克隆仓库(git clone https://github.com/espressif/esp-rainmaker-mcp.git),进入目录(cd esp-rainmaker-mcp),使用 uv sync 安装依赖(包括 esp-rainmaker-cli、mcp[cli] 等),然后运行 uv run esp-rainmaker-cli login 登录。
  3. 客户端配置:在支持的 MCP 客户端(Cursor、Claude Desktop、Windsurf、Gemini CLI)中添加相同的 JSON 配置,将 <absolute_path_to_repo>/server.py 替换为实际绝对路径。各客户端配置位置:Cursor 通过设置 > Tools & Integrations > MCP Tools > New MCP Server 打开 mcp.json;Claude Desktop 通过 Settings > Developer > Edit Config 编辑 claude_desktop_config.json;Windsurf 通过点击锤子图标 > Configure > View raw config 编辑 ~/.codium/windsurf/mcp_config.json;Gemini CLI 编辑 ~/.gemini/settings.json 中的 mcpServers 部分。

适用场景: 适用于希望通过自然语言或 AI 客户端管理 ESP RainMaker 物联网设备的用户,实现设备开关、参数调整、日程设置和分组管理,无需手动操作 CLI。

限制:

  • 要求 Python 3.10+ 和 uv 包管理器。
  • 必须预先通过 esp-rainmaker-cli 登录,不支持在 MCP 中直接使用用户名/密码登录。
  • 服务器本地运行,凭证存储在本地,但设备管理操作通过云端 API 执行,因此需要网络连接。
  • MCP 服务器不支持已登录账号中添加的 RainMaker 节点。
  • 项目采用 LICENSE 文件中指定的许可条款。