ESP RainMaker

ESP RainMaker

Official Espressif MCP Server to Control and Manage ESP RainMaker Devices.

10
Stars
5
Forks
0
Releases

Overview

This MCP server acts as a bridge between MCP-compatible clients and ESP RainMaker devices. It wraps the official esp-rainmaker-cli Python library, enabling MCP clients (such as LLMs and applications like Cursor, Claude Desktop, Windsurf, and Gemini CLI) to interact with ESP RainMaker devices using the CLI. The server runs locally, storing credentials on your machine, while device management calls are executed against the ESP RainMaker cloud via the CLI. Prerequisites include Python 3.10+, the uv package manager, a successful esp-rainmaker-cli login, and RainMaker Nodes added to your account. The server exposes a set of capabilities via MCP, including authentication/configuration utilities (login_instructions, check_login_status), node management (get_nodes, get_node_details, get_node_status, get_params, set_params), schedule management (get_schedules, set_schedule), and group management (create_group, get_group_details, update_group, add_device_to_room). Under the hood, on each call it uses the MCP library to dispatch to esp-rainmaker-cli functions, which read locally stored tokens and call the ESP RainMaker cloud, returning results or errors through MCP. This design enables local credential storage with cloud-backed device management.

Details

Owner
espressif
Language
Python
License
Apache License 2.0
Updated
2025-12-07

Features

Authentication & Configuration

Provides login_instructions and check_login_status utilities to guide login via the esp-rainmaker-cli and verify a valid session, relying on the external CLI's browser-based login flow to securely store credentials.

Node Management

Exposes functions to list nodes, fetch detailed information, query status, and read or set device parameters (get_nodes, get_node_details, get_node_status, get_params, set_params) with filtering options and support for multiple nodes.

Schedule Management

Enables retrieval and modification of device schedules through get_schedules and set_schedule, including operations like add, edit, remove, enable, and disable, with triggers and actions.

Group Management (Home/Room)

Supports creating and updating groups (home/room), listing details, and associating devices to rooms via create_group, get_group_details, update_group, and add_device_to_room.

Audience

MCP clientsEnable MCP-enabled apps and LLMs to control ESP RainMaker devices through the CLI.
DevelopersDevelopers integrating MCP servers with ESP RainMaker for local operation and cloud-backed control.

Tags

MCPESP RainMakeresp-rainmaker-cliIoTPythonCLIAutomationCloud API