Skip to main content

vitruvian-roborock

Vitruvian Roborock Banner

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)

Source distribution for vitruvian-roborock 0.1.0
File Size Uploaded
vitruvian_roborock-0.1.0.tar.gz 703.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for vitruvian-roborock 0.1.0
File Interpreter ABI Platform
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}

Release history Release notifications | RSS feed

0.1.1

2 release files

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page