Skip to main content
Glama

Eufy RoboVac MCP Server

by appleton

Eufy RoboVac MCP Server

A Model Context Protocol (MCP) server for controlling Eufy RoboVac devices. Built with TypeScript and Vite.

Setup

  1. Install dependencies:
npm install
  1. Get your device credentials:
    • Device ID and Local Key from your Eufy Home app or network analysis
    • Find your RoboVac's IP address on your network

Development

Run in development mode with hot reload:

npm run dev

Type checking:

npm run typecheck

Production

Build the project:

npm run build

Run the built server:

npm start

Available Tools

Connection & Setup

  • robovac_scan_network - Scan local network for RoboVac devices (🆕 no credentials needed!)
  • robovac_connect_discovered - Connect to a discovered device using its IP
  • robovac_connect - Manual connection using device credentials
  • robovac_auto_initialize - Cloud-based discovery (⚠️ May not work due to API changes)

Basic Controls

  • robovac_start_cleaning - Start cleaning cycle
  • robovac_stop_cleaning - Stop cleaning cycle
  • robovac_return_home - Return to charging dock
  • robovac_play - Start/resume cleaning
  • robovac_pause - Pause cleaning
  • robovac_find_robot - Make the RoboVac beep to locate it

Advanced Controls

  • robovac_set_work_mode - Set cleaning mode (AUTO, SMALL_ROOM, SPOT, EDGE, NO_SWEEP)
  • robovac_set_clean_speed - Set suction power (STANDARD, BOOST_IQ, MAX, NO_SUCTION)

Status Information

  • robovac_get_status - Get current device status (legacy)
  • robovac_get_battery - Get battery level
  • robovac_get_error_code - Get current error code
  • robovac_get_work_mode - Get current cleaning mode
  • robovac_get_clean_speed - Get current suction level
  • robovac_get_work_status - Get detailed work status
  • robovac_get_play_pause - Get play/pause state

Utility Functions

  • robovac_format_status - Print formatted status to console
  • robovac_get_all_statuses - Get all status information at once

Usage with MCP Client

  1. Scan your local network to find RoboVac devices:
robovac_scan_network()

This will show you:

  • All devices with open Tuya/Eufy ports (6668, 6667, 443)
  • Devices with Anker/Eufy MAC addresses (⭐ likely RoboVacs)
  • IP addresses of potential devices
  1. Connect to a discovered device:
robovac_connect_discovered(ip="192.168.1.100", deviceId="your_device_id", localKey="your_local_key")

Getting Device Credentials

You still need the device ID and local key:

  1. Try community tools:
    • eufy-security-client or similar projects
    • Check GitHub for updated credential grabbers
  2. Network traffic analysis:
    • Monitor Eufy app network traffic
    • Use tools like Wireshark or Charles Proxy
  3. Router/firmware methods:
    • Some routers log device information
    • Check if your RoboVac firmware exposes credentials

Alternative Methods

Manual connection (if you have all credentials):

robovac_connect(deviceId="your_device_id", localKey="your_local_key", ip="192.168.1.100")

Cloud discovery (may not work due to API changes):

robovac_auto_initialize(email="your@email.com", password="your_password")

Control Your RoboVac

Once connected, use any control tools:

robovac_start_cleaning() robovac_get_status() robovac_return_home() robovac_set_work_mode(mode="SPOT") robovac_set_clean_speed(speed="MAX")
Install Server
A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

A Model Context Protocol server for controlling Eufy RoboVac vacuum cleaners, enabling users to scan for devices, connect to them, and execute various cleaning commands through natural language.

  1. Setup
    1. Development
      1. Production
        1. Available Tools
          1. Connection & Setup
          2. Basic Controls
          3. Advanced Controls
          4. Status Information
          5. Utility Functions
        2. Usage with MCP Client
          1. 🆕 Easy Setup with Network Scan (Recommended)
          2. Getting Device Credentials
          3. Alternative Methods
          4. Control Your RoboVac

        Related MCP Servers

        • -
          security
          A
          license
          -
          quality
          A Model Context Protocol server that enables seamless execution of commands, Python code, web content fetching, and reusable task management with secure credentials handling.
          Last updated -
          2
          Python
          MIT License
          • Apple
        • -
          security
          A
          license
          -
          quality
          A Model Context Protocol server that provides access to Unity Catalog Functions, allowing AI assistants to list, get, create, and delete functions within Unity Catalog directly through a standardized interface.
          Last updated -
          14
          Python
          MIT License
        • -
          security
          A
          license
          -
          quality
          A control server that enables AI assistants to interact with Ecovacs robot vacuums through MCP protocol, supporting device listing, cleaning control, charging control, and status queries.
          Last updated -
          14
          Python
          MIT License
        • A
          security
          F
          license
          A
          quality
          A Model Context Protocol server that enables natural language interactive control of Universal Robots collaborative robots, allowing users to control robot motion, monitor status, and execute programs through direct commands to large language models.
          Last updated -
          29
          3
          Python
          • Linux
          • Apple

        View all related MCP servers

        MCP directory API

        We provide all the information about MCP servers via our MCP API.

        curl -X GET 'https://glama.ai/api/mcp/v1/servers/appleton/sam'

        If you have feedback or need assistance with the MCP directory API, please join our Discord server