Rachio MCP logo

Rachio MCP

Manage Rachio controllers through MCP, including schedule changes, zone runs, weather checks, and live watering controls.

Install Rachio MCP

Pick your client, then add it in one click or paste the config.

STDIOPython
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "rachio-mcp": {
      "command": "uvx",
      "args": [
        "--from",
        "rachio-mcp",
        "rachio-mcp-token"
      ],
      "env": {
        "RACHIO_ACCESS_TOKEN": "YOUR_VALUE_HERE"
      }
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Values are written into the snippet above so you can paste it as is. They never leave your browser.

We couldn’t confirm it starts correctly

We ran the install command but it didn't respond within our test window — this can mean a slow first-time install rather than a real problem.

uvx --from rachio-mcp rachio-mcp-token

Process exited before answering initialize.

This is an experimental automated check and can have false negatives — missing environment variables, a slow cold install, etc. It doesn’t necessarily mean something’s wrong. Last checked 7d ago.

Overview

The rachio-mcp MCP server connects AI agents to Rachio sprinkler controllers through the backend used by the Rachio Android app. It exposes read operations for devices, zones, schedules, weather, alerts, and run history, along with tools for schedule management and live watering control. Run it over stdio with a long-lived Rachio access token when an agent needs to inspect or change irrigation behavior. Because it uses a reverse-engineered, unofficial API, it may require updates if Rachio changes its mobile backend.

Use cases

  • Inspect controller state and zone configuration
  • Preview and create seasonal irrigation schedules
  • Update or copy existing schedules
  • Start, pause, skip, or stop watering
  • Review weather, alerts, and run history

Key features

  • Device, zone, weather, alert, and run-history discovery
  • Schedule listing, preview, creation, editing, copying, and deletion
  • Manual zone starts with configurable durations
  • Immediate schedule runs and next-run controls
  • Rain delays and active-run pause, resume, skip, and stop controls

Tools24

What Rachio MCP lets your agent do. Expand a tool for its parameters.

Self-reported~357 tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 1d ago

Recent health check succeeded.

4/4 checks healthy over the last 40d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 10d ago via OSV.dev · rachio-mcp (PyPI)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars7Stargazers on the source repository.
Last commit2mo agoMost recent push to the default branch.
Install checkInconclusiveDidn't respond in our test window — often a slow first install.
Tools exposed24Callable tools this server registers over MCP.
Directory activity2 viewsConfig copies, upvotes, and views on AllMCPs.

How Rachio MCP works

What rachio-mcp does

The rachio-mcp MCP server gives an MCP client access to Rachio account data and controller operations. Discovery tools enumerate controllers, sensors, weather stations, and zones, while detail tools return device state, zone configuration, alerts, weather readings, scheduled events, and observed run history.

Schedule tools cover the full lifecycle of a schedule. An agent can list and inspect schedules, preview a proposed schedule without saving it, create or copy schedules, apply partial updates, delete schedules, trigger immediate runs, skip or re-arm the next run, and inspect schedule run history. The preview response includes the generated schedule representation, a human-readable summary, and zone details before any write occurs.

Live operations include starting selected zones by zone number and duration, stopping active watering, applying a rain delay, skipping the current zone, and pausing or resuming a running zone.

How it works

The server communicates with cloud.rach.io:443 using TLS-protected gRPC. This is the internal backend used by the Rachio Android application rather than the public read-oriented API. Its protocol definitions were recovered from Rachio Android version 4.21.18, and generated Python stubs are included with the package.

Authentication uses a long-lived bearer token. The separate rachio-mcp-token command obtains that token through Rachio authentication; the MCP process itself does not receive or store the account password. During operation, the client derives the account user ID on first use and keeps the token and identifier in memory for the process lifetime. It does not write them to disk.

Most operations require UUIDs for a device, zone, schedule, or location. Obtain those identifiers from the corresponding listing tools before making detail or mutation calls. Dates use YYYY-MM-DD, with MM-DD also supported for annual recurring schedules, and times use HH:MM.

Setup and configuration

Install uv, then run uvx --from rachio-mcp rachio-mcp-token to mint an access token. The command prompts for the Rachio email and password unless RACHIO_EMAIL and RACHIO_PASSWORD are supplied for the token-minting command. Put the resulting RACHIO_ACCESS_TOKEN in the MCP client's environment configuration.

The server can then be launched on demand with uvx rachio-mcp. RACHIO_ACCESS_TOKEN is required by the server. LOG_LEVEL is optional and defaults to INFO; logging goes to stderr so stdout remains available for MCP messages.

For schedule changes, first identify the controller and zones, inspect existing schedules, and call preview_schedule with the proposed arguments. If the returned summary and zone breakdown are correct, call create_schedule with the same arguments and then retrieve the new schedule for confirmation. Use update_schedule for partial edits to an existing schedule. Deletion is permanent.

Limitations and notes

The rachio-mcp MCP server is unofficial and depends on a reverse-engineered API. The documented implementation matches Rachio Android version 4.21.18, but Rachio can change the backend or schema without notice. Rachio does not support this integration.

The access token remains valid for roughly 25 years under the documented conditions, but it can become invalid if the password changes or the account is logged out from another device. If a call reports a rejected token, mint a new one and update the MCP client configuration.

Operations that start, stop, pause, skip, delay, create, update, or delete affect the physical irrigation system or its schedules. Treat destructive and live-control calls differently from read-only inspection, and use the preview operation before creating schedules.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Rachio MCP

rachio-mcp is an MCP server that connects AI agents to Rachio sprinkler controllers through the internal gRPC backend used by the Android app. Its main tools list devices and zones, inspect weather and schedules, preview or change schedules, and control active watering with starts, stops, pauses, skips, and rain delays.

Install `uv`, then configure your MCP client to launch `uvx rachio-mcp`. The server can be run on demand without a separate package installation. Before connecting the client, mint a Rachio access token with `uvx --from rachio-mcp rachio-mcp-token` and provide it as `RACHIO_ACCESS_TOKEN`.

Authenticate by supplying a long-lived `RACHIO_ACCESS_TOKEN` to the server. Generate it with `rachio-mcp-token`, which prompts for the Rachio account email and password or accepts `RACHIO_EMAIL` and `RACHIO_PASSWORD` for that one-time command. The MCP server does not read the password.

Yes. Call `preview_schedule` to receive the schedule that creation would produce, including a human-readable summary and per-zone breakdown. The operation never persists changes, so it can be repeated before calling `create_schedule`.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewRachio MCP AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/rachio-mcp?style=directory)](https://allmcps.com/mcp/rachio-mcp)
HTML Embed
<a href="https://allmcps.com/mcp/rachio-mcp"><img src="https://allmcps.com/api/badge/rachio-mcp?style=directory" alt="Rachio MCP on AllMCPs" /></a>