MCP.Market

Rachio MCP server

by rwestergren·io.github.rwestergren/rachio-mcp·v0.1.4·8 stars

MCP server for Rachio sprinkler controllers — schedules, zones, and live watering control

B78/100grade B
What users say
No reviews yet
Be the first
Safety scan
B78/100

full report

Adoption
Growing

8 stars42 downloads/wk

Reviews

Write one

Nobody has reviewed Rachio yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

Rachio tools (24, 5 write)

write = sends, deletes, buys or posts

Read from the package source without running it. The installed server may list more.

  • copy_schedule

    Duplicate an existing schedule. Returns the new Schedule.

  • create_schedulewrite action

    Create a new schedule. Persists to the Rachio backend.

  • delete_schedulewrite action

    Permanently delete a schedule. This cannot be undone.

  • get_active_alerts

    Return unresolved alerts for a device or a specific zone.

  • get_calendar

    Return scheduled runs and skip events for a device in a date range.

  • get_device

    Get full details + live state for a single device.

  • get_run_historywrite action

    Return recent/past watering history for a controller.

  • get_schedule

    Get a single schedule plus the locations/devices it runs on.

  • get_schedule_runs

    Return past runs + skips for a schedule in a date range.

  • get_weather

    Return observed + forecast weather readings for a location.

  • get_zone

    Get full zone detail + live state.

  • list_devices

    List all Rachio devices on the account.

  • list_schedules

    List schedules matching exactly one filter.

  • list_zones

    List all zones configured on a controller.

  • pause_watering

    Pause the currently-running zone for ``seconds``.

  • preview_schedule

    Server-side dry-run of create_schedule. Does NOT persist anything.

  • resume_watering

    Resume a paused zone run.

  • run_schedulewrite action

    Start an immediate run of the schedule right now.

  • set_rain_delay

    Set a rain-delay expiration for the device.

  • skip_current_zone

    Skip to the next zone in the currently-running schedule.

  • skip_schedule

    Toggle the skip-next-run flag on a schedule.

  • start_zones

    Start a manual run of one or more zones in sequence.

  • stop_watering

    Stop all watering currently in progress on the device.

  • update_schedulewrite action

    Partial-merge update of an existing schedule.

Public scan report

scanner v0.1.10 · 2026-11-03 · same rubric, same numbers if you re-run it

no findings
  • Code scan86 source files scanned25/25
  • –Live reliabilityno gateway calls yet and no remote to proben/a
  • –Tool poisoningtools not inspected (local package is not executed); not countedn/a
  • Auth qualitystatic API keys via environment variables6/15
  • Maintenancelast push 83 days ago12/15
  • Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Overall 78/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

How Rachio compares

Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
78/100
higher than 57% of 48,243 servers
Tools
24
the typical server has 7
Tools that change things
21%
typical: 0%. Fewer write tools means less an agent can break
GitHub stars
8
more than 86% of 28,706 servers
Downloads a week
42
more than 32% of 12,306 servers with a package

What its tools let an agent do: 16 read · 1 create · 3 change · 1 delete · 3 run or deploy

Install Rachio in Claude Code, Cursor or VS Code

claude mcp add rachio-mcp -- uvx rachio-mcp
Add to Cursor

What the publisher says

From the Rachio repository's README, as published. We do not edit it. Read it on GitHub

rachio-mcp

<!-- mcp-name: io.github.rwestergren/rachio-mcp -->

An MCP (Model Context Protocol) server for Rachio sprinkler controllers, built on the reverse-engineered Android-app gRPC API.

The public Rachio API exposes only read-only access to schedules and a handful of single-action endpoints. This server instead talks to the same internal gRPC backend (cloud.rach.io:443) that the official mobile app uses, giving an agent the full set of operations: listing devices and zones, inspecting schedules, creating and previewing new schedules, updating and deleting them, starting and stopping manual zone runs, setting rain delays, and more.

⚠️ Unofficial. This server uses a reverse-engineered API. It works as of Rachio Android v4.21.18 and is not supported by Rachio. The schema can change without notice.

Features

  • Devices and zones — list controllers, sensors, and weather stations; inspect zone soil/nozzle/plant configuration and live state
  • Schedules — list, read, preview (dry-run), create, update, delete, copy, run, and skip schedules
  • Live control — stop watering, run specific zones manually, set rain delays, skip/pause/resume the currently-running zone
  • Context — calendar of upcoming runs, recent/past run history, active alerts, observed/forecast weather readings

Quick Start

1. Install uv

curl -LsSf https://astral.sh/uv/install.sh | sh

2. Mint a long-lived access token

The MCP server itself never sees your Rachio password. Instead you mint a long-lived (~25-year) access token once, and supply only the token to the MCP client.

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

It will prompt for your Rachio email and password, then print a RACHIOACCESSTOKEN value to paste into your MCP client config. The token remains valid until you change your password or explicitly log out from another device.

Or, if you'd rather have the commands on your PATH permanently, install once:

uv tool install rachio-mcp

Then rachio-mcp-token (and rachio-mcp itself) are available as regular commands.

For scripting (e.g. pipe into a password manager):

RACHIO_EMAIL=you@example.com RACHIO_PASSWORD=... \
    uvx --from rachio-mcp rachio-mcp-token --json | jq .access_token

3. Configure your MCP client

uvx downloads and runs the server on demand — no separate install step required.

OpenCode (opencode.json)

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "rachio": {
      "type": "local",
      "command": ["uvx", "rachio-mcp"],
      "environment": {
        "RACHIO_ACCESS_TOKEN": "{env:RACHIO_ACCESS_TOKEN}"
      },
      "enabled": true
    }
  }
}

Claude Desktop (claudedesktopconfig.json)

{
  "mcpServers": {
    "rachio": {
      "command": "uvx",
      "args": ["rachio-mcp"],
      "env": {
        "RACHIO_ACCESS_TOKEN": "paste-your-token-here"
      }
    }
  }
}

If a tool call later returns a "token rejected" error, rerun rachio-mcp-token to mint a fresh one and update the config.

Available Tools

24 tools over stdio transport.

Discovery

Schedule CRUD

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

Rachio: common questions

Is Rachio MCP server safe?
Mostly: it is graded B (78/100). Read the Rachio safety report
How do I install Rachio?
It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
Does Rachio need an API key?
Yes. The registry entry asks for RACHIO_ACCESS_TOKEN.
Is Rachio maintained?
The last commit was 85 days ago (2026-08-12). The latest release is v0.1.4.
How does Rachio compare with other MCP servers?
safety score 78/100 (higher than 57% of 48,243 servers); tools 24 (the typical server has 7); tools that change things 21% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.

More from rwestergren →