Eufy RoboVac MCP Server

Eufy RoboVac MCP Server

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.

Category
Visit Server

Tools

robovac_set_work_mode

Set the cleaning mode of the robovac

robovac_set_clean_speed

Set the suction speed of the robovac

robovac_play

Start/resume robovac cleaning

robovac_pause

Pause robovac cleaning

robovac_find_robot

Make the robovac beep to help locate it

robovac_get_clean_speed

Get the current cleaning speed of the robovac

robovac_get_play_pause

Get the current play/pause state of the robovac

robovac_auto_initialize

Automatically discover and initialize the first RoboVac device found

robovac_connect

Connect to your RoboVac using device credentials (manual setup)

robovac_start_cleaning

Start the robovac cleaning cycle

robovac_stop_cleaning

Stop the robovac cleaning cycle

robovac_return_home

Send the robovac back to its charging dock

robovac_get_status

Get the current status of the robovac

robovac_get_battery

Get the battery level of the robovac

robovac_get_error_code

Get the current error code of the robovac

robovac_get_work_status

Get the current work status of the robovac

robovac_get_all_statuses

Get all status information from the robovac at once

robovac_connect_discovered

Connect to a discovered RoboVac device by IP (requires device ID and local key)

robovac_get_work_mode

Get the current work mode of the robovac

robovac_format_status

Get a formatted display of all robovac status information

README

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

🆕 Easy Setup with Network Scan (Recommended)

  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")

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured