
Rachio Mcp
Talks directly to Rachio's internal gRPC backend, the same API their mobile app uses, giving you full read/write access instead of the limited public REST API. You get 23 tools covering device discovery, complete schedule CRUD (including a dry-run preview before committing changes), live zone control, rain delays, and calendar lookups. Built by reverse engineering the Android app's protobuf definitions. Requires minting a long-lived access token once via the included CLI tool. Reach for this when you need an agent to actually manage irrigation schedules or respond to weather conditions, not just read sensor data. The unofficial nature means it could break on app updates, but the author ships the proto regeneration scripts in the repo.
- GitHub stars
- 8
- tools
- 24
- auth
- Secret needed
- transport
- STDIO
- env var
- 1
- last updated
- Aug 12, 2026
Tools
24 toolsPublic tool metadata for what this MCP can expose to an agent.
list_devicesEvery device on the account — controllers, sensors, weather stations
Every device on the account — controllers, sensors, weather stations
No parameter schema in public metadata yet.
get_deviceFull details + live state for a single device
Full details + live state for a single device
No parameter schema in public metadata yet.
list_zonesZones configured on a controller, with agronomic metadata
Zones configured on a controller, with agronomic metadata
No parameter schema in public metadata yet.
get_zoneFull detail for a single zone
Full detail for a single zone
No parameter schema in public metadata yet.
get_calendarScheduled runs + skip events for a date range
Scheduled runs + skip events for a date range
No parameter schema in public metadata yet.
get_run_historyObserved recent/past zone-run telemetry plus calendar context
Observed recent/past zone-run telemetry plus calendar context
No parameter schema in public metadata yet.
get_active_alertsUnresolved alerts on a device or zone
Unresolved alerts on a device or zone
No parameter schema in public metadata yet.
get_weatherObserved + forecast weather readings for a location
Observed + forecast weather readings for a location
No parameter schema in public metadata yet.
list_schedulesFilter by device, location, zone, or schedule id
Filter by device, location, zone, or schedule id
No parameter schema in public metadata yet.
get_scheduleSingle schedule + its locations/devices
Single schedule + its locations/devices
No parameter schema in public metadata yet.
preview_scheduleDry-run — returns the Schedule that create_schedule would produce, including the server-generated human-readable summary. Never persists
Dry-run — returns the Schedule that create_schedule would produce, including the server-generated human-readable summary. Never persists
No parameter schema in public metadata yet.
create_scheduleCreate a new schedule
Create a new schedule
No parameter schema in public metadata yet.
update_schedulePartial-merge edit: name, enabled, timing/criteria, day restrictions, and per-zone add/update/remove
Partial-merge edit: name, enabled, timing/criteria, day restrictions, and per-zone add/update/remove
No parameter schema in public metadata yet.
delete_schedulePermanent, destructive
Permanent, destructive
No parameter schema in public metadata yet.
copy_scheduleDuplicate an existing schedule
Duplicate an existing schedule
No parameter schema in public metadata yet.
run_scheduleTrigger an immediate run
Trigger an immediate run
No parameter schema in public metadata yet.
skip_scheduleSkip or re-arm the next scheduled run
Skip or re-arm the next scheduled run
No parameter schema in public metadata yet.
get_schedule_runsPast runs + skip events for a schedule
Past runs + skip events for a schedule
No parameter schema in public metadata yet.
stop_wateringStop whatever is running
Stop whatever is running
No parameter schema in public metadata yet.
start_zonesStart one or more zones manually by zone number + duration
Start one or more zones manually by zone number + duration
No parameter schema in public metadata yet.
set_rain_delayDefer all schedules until a given time
Defer all schedules until a given time
No parameter schema in public metadata yet.
skip_current_zoneSkip to the next zone in the active run
Skip to the next zone in the active run
No parameter schema in public metadata yet.
pause_wateringPause the current zone for N seconds
Pause the current zone for N seconds
No parameter schema in public metadata yet.
resume_wateringResume a paused run
Resume a paused run
No parameter schema in public metadata yet.
Sponsors
Configuration
RACHIO_ACCESS_TOKEN*secretLong-lived Rachio OAuth access token. Mint one with `rachio-mcp-token` (or `uvx --from rachio-mcp rachio-mcp-token`). The token lasts ~25 years and replaces sending your password to the MCP process.
Readme
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
Details
- Repository
- github.com/rwestergren/rachio-mcp
- Package
rachio-mcp- Transport
- STDIO
- Auth
- Required
- Registry
- MCP registry, active