MCP server for Rachio sprinkler controllers — schedules, zones, and live watering control
MCPpedia last refreshed this data
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"io-github-rwestergren-rachio-mcp": {
"command": "<see-readme>",
"args": []
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
An MCP (Model Context Protocol) server for Rachio sprinkler controllers, built on the reverse-engineered Android-app gRPC API.
No automated test available for this server. Check the GitHub README for setup instructions.
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
No package registry to scan.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in other
Pi Coding Agent extension (CLI-first) — routes bash/read/grep/find/ls through lean-ctx CLI for strong token savings. Optional MCP bridge can register advanced tools.
Compress tool outputs, logs, files, and RAG chunks before they reach the LLM. 60-95% fewer tokens, same answers. Library, proxy, MCP server.
One local source for the MCP servers, tools, and memory your AI coding agents share, synced into each tool's native config with a review gate and a receipt for every change. No daemon, no lock-in.
97% token reduction for AI coding sessions — zero deps, 21 languages, MCP server
MCP Security Weekly
Get CVE alerts and security updates for io.github.rwestergren/rachio-mcp and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
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.
curl -LsSf https://astral.sh/uv/install.sh | sh
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 RACHIO_ACCESS_TOKEN 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
uvx downloads and runs the server on demand — no separate install step required.
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_config.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.
24 tools over stdio transport.
| Tool | Description |
|---|---|
list_devices | Every device on the account — controllers, sensors, weather stations |
get_device | Full details + live state for a single device |
list_zones | Zones configured on a controller, with agronomic metadata |
get_zone | Full detail for a single zone |
get_calendar | Scheduled runs + skip events for a date range |
get_run_history | Observed recent/past zone-run telemetry plus calendar context |
get_active_alerts | Unresolved alerts on a device or zone |
get_weather | Observed + forecast weather readings for a location |
| Tool | Description |
|---|---|
list_schedules | Filter by device, locat |