Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Roborock

FreeNot checked

A Model Context Protocol server for controlling Roborock vacuum cleaners

GitHubEmbed

About

A Model Context Protocol server for controlling Roborock vacuum cleaners

README

A Model Context Protocol (MCP) server for controlling Roborock vacuum cleaners, enabling Claude to interact with and control your robot vacuum.

Features

  • Check vacuum status
  • Start/stop/pause cleaning
  • Return to dock
  • Locate vacuum (play sound)
  • Get map data
  • Zone cleaning
  • Room-specific cleaning

Prerequisites

  • Deno 1.37+
  • Python 3.8+
  • python-roborock package

Installation

Install Python Dependencies

pip install python-roborock

Environment Variables

Set your Roborock account credentials:

export ROBOROCK_USERNAME="your-roborock-username"
export ROBOROCK_PASSWORD="your-roborock-password"

Or copy .env.example to .env and fill in your credentials.

Usage

Start the Server

deno task start

Development Mode

deno task dev

Available Tools

vacuum_status

Get the current status of the vacuum.

{
  "name": "vacuum_status",
  "arguments": {
    "device_id": "optional-device-id"
  }
}

start_cleaning

Start cleaning operation.

{
  "name": "start_cleaning",
  "arguments": {
    "device_id": "optional-device-id"
  }
}

stop_cleaning

Stop the current cleaning operation.

{
  "name": "stop_cleaning",
  "arguments": {
    "device_id": "optional-device-id"
  }
}

pause_cleaning

Pause the current cleaning operation.

{
  "name": "pause_cleaning",
  "arguments": {
    "device_id": "optional-device-id"
  }
}

return_to_dock

Send the vacuum back to its charging dock.

{
  "name": "return_to_dock",
  "arguments": {
    "device_id": "optional-device-id"
  }
}

locate_vacuum

Play a sound to locate the vacuum.

{
  "name": "locate_vacuum",
  "arguments": {
    "device_id": "optional-device-id"
  }
}

get_map

Retrieve map data from the vacuum.

{
  "name": "get_map",
  "arguments": {
    "device_id": "optional-device-id"
  }
}

zone_clean

Clean specific zones defined by coordinates.

{
  "name": "zone_clean",
  "arguments": {
    "device_id": "optional-device-id",
    "zones": [[x1, y1, x2, y2], [x3, y3, x4, y4]]
  }
}

room_clean

Clean specific rooms by room IDs.

{
  "name": "room_clean",
  "arguments": {
    "device_id": "optional-device-id",
    "room_ids": ["room1", "room2"]
  }
}

Claude Desktop Configuration

To use with Claude Desktop, add the following to your claude_desktop_config.json:

{
  "mcpServers": {
    "roborock": {
      "command": "deno",
      "args": [
        "run",
        "--allow-net",
        "--allow-read",
        "--allow-env",
        "/path/to/roborock-mcp/src/index.ts"
      ],
      "env": {
        "ROBOROCK_USERNAME": "your-username",
        "ROBOROCK_PASSWORD": "your-password"
      }
    }
  }
}

Notes

  • You must set the ROBOROCK_USERNAME and ROBOROCK_PASSWORD environment variables
  • If you have multiple devices, the first device will be used by default
  • Some newer Roborock models (Q10, Q7, etc.) may not be supported depending on the python-roborock library compatibility

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

MIT

from github.com/jaxx2104/roborock-mcp-server

Installing Roborock

This server has no published package — it is built from source. Open the repository and follow its README.

▸ github.com/jaxx2104/roborock-mcp-server

FAQ

Is Roborock MCP free?

Yes, Roborock MCP is free — one-click install via Unyly at no cost.

Does Roborock need an API key?

No, Roborock runs without API keys or environment variables.

Is Roborock hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install Roborock in Claude Desktop, Claude Code or Cursor?

Open Roborock on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Roborock with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All development MCPs