Skip to main content
MCP server CX Codex

rachio-mcp — MCP server for Claude Code: control Rachio watering

An MCP server that lets an agent read and change Rachio sprinkler schedules, inspect zones and start watering by hand. Handy when you would rather not open the app.

Install into Claude Code · Platform CLI All methods and platforms ↓
claude mcp add rachio-mcp -e RACHIO_ACCESS_TOKEN=<RACHIO_ACCESS_TOKEN> -- uvx rachio-mcp
Open on GitHub

What rachio-mcp does

The server reaches Rachio controllers through the internal gRPC backend at cloud.rach.io:443, the same one the official Android app talks to. Rachio's public API only reads schedules; here you get 24 tools covering devices and zones, schedule listing and dry-run preview, creation, editing and deletion, manual zone runs, stopping watering and rain delays.

Setup starts with minting a long-lived token: uvx --from rachio-mcp rachio-mcp-token asks for your Rachio email and password and prints a RACHIO_ACCESS_TOKEN value. Only that token goes into the client config, never the password. If a later call reports a rejected token, mint a new one and update the config.

The API is reverse-engineered from the Rachio Android v4.21.18 build, and Rachio does not support it. The schema can shift without warning, so an app update may break individual tools. The server runs through uvx, so there is no separate install step.

For schedule work, preview_schedule is the safe path: it returns exactly what create_schedule would produce, including a readable summary and a per-zone breakdown, and writes nothing. update_schedule merges only the fields you pass and leaves the rest alone. Device, zone and schedule ids are UUIDs taken from the list_* tools.

What it helps with

  • see which zones a controller has and what is planted in them
  • build a watering schedule and check it before it goes live
  • stop a run that is happening right now
  • start one zone manually for a set number of minutes
  • push every schedule back because of rain

Example prompts for the agent

  • List my Rachio controllers and the zones on each one
  • Preview a morning schedule for zone 2 and show me the summary
  • Stop watering and set a rain delay until tomorrow

How to install rachio-mcp

Platform CLI

claude mcp add rachio-mcp -e RACHIO_ACCESS_TOKEN=<RACHIO_ACCESS_TOKEN> -- uvx rachio-mcp

Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from rachio-mcp <command>

Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more

Questions about rachio-mcp

How do I install rachio-mcp in Claude Code?

Mint a token first with uvx --from rachio-mcp rachio-mcp-token. Then register the server: claude mcp add rachio-mcp -e RACHIO_ACCESS_TOKEN=<RACHIO_ACCESS_TOKEN> -- uvx rachio-mcp, replacing the placeholder with your token.

What does rachio-mcp do?

It gives an agent control over Rachio controllers: devices, zones, schedules and weather readings, plus creating and editing schedules, manual zone runs and stopping watering.

Why might the server stop working?

It calls the app's internal API rather than the public one. That schema can change at any time, and Rachio does not support this kind of access.

Similar MCP servers

All MCP servers for Automation and no-code: n8n, Zapier, Make →

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor