vitruvian-roborock
Autonomous agent control and real-time telemetry for Roborock vacuums. Check on and control your vacuum from a terminal (
rrctl), from an AI agent (Antigravity and Claude Code), or from a live map in your browser.
Architecture
One lightweight local process, the daemon, manages the single authenticated session with the vacuum (over local LAN or cloud MQTT), protecting device connection quotas. The CLI, MCP tools, and live dashboard communicate securely with the daemon over local loopback.
flowchart LR
cli["rrctl (CLI)"] --> daemon
mcp["FastMCP Server (Agents)"] --> daemon
web["Live Dashboard (Browser)"] --> daemon
daemon["Daemon 127.0.0.1:8765"] -- "Local LAN / Cloud Session" --> vacuum["Roborock Vacuum"]
Quick Installation
Step 1: Install the server
uv tool install git+https://github.com/VitruvianSoftware/mcp-roborock
Everything else depends on this. The plugins start the MCP server with
uvx vitruvian-roborock mcp, and the package is not published to PyPI, so
uvx can only find it once it is installed. Skip this step and the plugin
still installs, but its tools never appear.
This step alone gives you the standalone CLI, rrctl.
Step 2: Add the plugin to your tool
Claude Code:
claude plugin marketplace add VitruvianSoftware/mcp-roborock
claude plugin install vitruvian-roborock
Antigravity:
agy plugin install https://github.com/VitruvianSoftware/mcp-roborock
Quick Start
rrctl setup # Log in with your Roborock account (email verification code)
rrctl status # Display live vacuum state, battery, and rooms
rrctl dashboard # Open the real-time visual map in your browser
Command Reference
| Command | Description |
|---|---|
rrctl setup |
Log in with an emailed Roborock verification code |
rrctl status [--json] |
View state, battery, room layout, and cleaning history |
rrctl map [-o file.png] |
Save the current floor plan map as a high-res PNG |
rrctl pause / resume / dock |
Control cleaning runs |
rrctl daemon [status|start|stop] |
Manage the background connection daemon |
rrctl dashboard [--no-open] |
Launch the live web dashboard |
rrctl mcp |
Start the FastMCP server over stdio |
Agent Capabilities & Skills
When installed as a plugin, your AI agent automatically gains two specialized skills and seven FastMCP tools:
- Skills:
roborock-control: Natural language cleaning, targeted room dispatch, docking, and mop washing.roborock-setup: First-time authentication flow directly inside the conversation.
- FastMCP Tools:
get_status: Live status, battery, active errors, and room names.start_clean: Start cleaning (full floor plan).control: Pause, resume, stop, or find the vacuum.return_to_dock: Return to the Ultra dock.wash_mop: Trigger automatic mop washing on Ultra docks.get_map: Fetch real-time rendered floor map with vacuum trajectory.setup_login: Authenticate with Roborock cloud.
Documentation
Metadata
Release files for vitruvian-roborock 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| vitruvian_roborock-0.1.0.tar.gz | 703.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| vitruvian_roborock-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 751.9 kB
Release files / vitruvian_roborock-0.1.0.tar.gz
| Download URL | vitruvian_roborock-0.1.0.tar.gz |
|---|---|
| Size | 703.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6403701efc0b83dc93dcd386b06630e36d6092482f24af16cc515ddbc09f138a
|
|
BLAKE2b-256 checksum How to use checksums |
e66424ed7e192a54e837adfc726da7b47d7f06fcf4fb92244e39b39384f53239
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / vitruvian_roborock-0.1.0-py3-none-any.whl
| Download URL | vitruvian_roborock-0.1.0-py3-none-any.whl |
|---|---|
| Size | 48.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
924bda5620b7ec5e19fc669ef4301700cae2cc1d1072036ced495c9adebfbc56
|
|
BLAKE2b-256 checksum How to use checksums |
4847d8831668847e958c1dc4ec95ac9b43e75a0b92498008848ac5493d8edde1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|