home / mcp / rainmaker mcp server
Provides MCP access to ESP RainMaker devices via the official CLI for unified control and data readout.
Configuration
View docs{
"mcpServers": {
"espressif-esp-rainmaker-mcp": {
"command": "uv",
"args": [
"run",
"--with",
"esp-rainmaker-cli",
"--with",
"mcp[cli]",
"mcp",
"run",
"<absolute_path_to_repo>/server.py"
]
}
}
}You can use this MCP server to control ESP RainMaker devices from any MCP-enabled client. It bridges your local credentials stored by the official ESP RainMaker CLI to provide MCP-compatible actions and data access, letting you manage nodes, parameters, schedules, and groups through natural-language prompts and automated tools.
You interact with the ESP RainMaker MCP server through supported MCP clients. After configuring the server in your client, you can ask it to list devices, read or set device parameters, manage schedules, and organize devices into homes or rooms. The server performs actions via the ESP RainMaker cloud using the credentials stored by the standard CLI login flow.
Prerequisites you need before starting:
Step-by-step setup commands you should run in your terminal:
# 1. Clone the MCP server repository
git clone https://github.com/espressif/esp-rainmaker-mcp.git
cd esp-rainmaker-mcp
# 2. Ensure uv is installed and install dependencies in a virtual environment
uv sync
# 3. Login to ESP RainMaker using the standard CLI flow
uv run esp-rainmaker-cli loginSecurity: Direct login via username/password within MCP is not supported. Use the standard cli login flow to securely store credentials.
Use this MCP server configuration in each supported client to connect to the local MCP server. The configuration is identical across clients.
{
"mcpServers": {
"ESP-RainMaker-MCP": {
"command": "uv",
"args": [
"run",
"--with",
"esp-rainmaker-cli",
"--with",
"mcp[cli]",
"mcp",
"run",
"<absolute_path_to_repo>/server.py"
]
}
}
}Provides Markdown-formatted steps to log in using the standard esp-rainmaker-cli login flow. Uses the browser-based login flow to securely store credentials.
Verifies that a valid login session exists by checking locally stored credentials and confirms the MCP server can reach the ESP RainMaker backend.
Lists all node IDs associated with the logged-in user.
Fetches detailed information for one or more nodes, with optional field filtering and name/type-based subqueries.
Returns the online/offline connectivity status for a given node.
Retrieves current parameter values for a device.
Sets one or more device parameters. Supports single or multiple node IDs.
Fetches schedules configured for a device.
Manages device schedules by adding, editing, removing, enabling, or disabling.
Creates a home or room in the group hierarchy with required name and type.
Retrieves information about groups, with an option to include connected devices.
Updates group properties or manages the devices contained within a group.
Adds a device to a specific room, automatically handling parent group association.