Eufy RoboVac MCP Server
Recommended as a proxy tool for monitoring Eufy app network traffic to obtain device credentials.
Mentioned as a source for finding community tools to help retrieve Eufy device credentials.
Used for package management and running scripts for development and production.
Built with TypeScript for type safety when developing the MCP server.
Used as the build system for the MCP server, providing development features like hot reload.
Suggested as a tool for analyzing network traffic to extract Eufy RoboVac device credentials.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Eufy RoboVac MCP Server start cleaning the living room"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Eufy RoboVac MCP Server
A Model Context Protocol (MCP) server for controlling Eufy RoboVac devices. Built with TypeScript and Vite.
Setup
Install dependencies:
npm installGet 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
Related MCP server: Tesla MCP Server
Development
Run in development mode with hot reload:
npm run devType checking:
npm run typecheckProduction
Build the project:
npm run buildRun the built server:
npm startAvailable 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 IProbovac_connect- Manual connection using device credentialsrobovac_auto_initialize- Cloud-based discovery (⚠️ May not work due to API changes)
Basic Controls
robovac_start_cleaning- Start cleaning cyclerobovac_stop_cleaning- Stop cleaning cyclerobovac_return_home- Return to charging dockrobovac_play- Start/resume cleaningrobovac_pause- Pause cleaningrobovac_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 levelrobovac_get_error_code- Get current error coderobovac_get_work_mode- Get current cleaning moderobovac_get_clean_speed- Get current suction levelrobovac_get_work_status- Get detailed work statusrobovac_get_play_pause- Get play/pause state
Utility Functions
robovac_format_status- Print formatted status to consolerobovac_get_all_statuses- Get all status information at once
Usage with MCP Client
🆕 Easy Setup with Network Scan (Recommended)
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
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:
Try community tools:
eufy-security-clientor similar projectsCheck GitHub for updated credential grabbers
Network traffic analysis:
Monitor Eufy app network traffic
Use tools like Wireshark or Charles Proxy
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")Available Tools
20 toolsrobovac_auto_initializeC
Automatically discover and initialize the first RoboVac device found
Inputs: email (required), password (required), deviceIndex.
robovac_connectB
Connect to your RoboVac using device credentials (manual setup)
Inputs: deviceId (required), localKey (required), ip.
robovac_connect_discoveredC
Connect to a discovered RoboVac device by IP (requires device ID and local key)
Inputs: ip (required), deviceId (required), localKey (required).
robovac_find_robotB
Make the robovac beep to help locate it
Inputs: enable.
robovac_format_statusB
Get a formatted display of all robovac status information
Inputs: no named parameters.
robovac_get_all_statusesC
Get all status information from the robovac at once
Inputs: force.
robovac_get_batteryA
Get the battery level of the robovac
Inputs: no named parameters.
robovac_get_clean_speedB
Get the current cleaning speed of the robovac
Inputs: force.
robovac_get_error_codeC
Get the current error code of the robovac
Inputs: force.
robovac_get_play_pauseB
Get the current play/pause state of the robovac
Inputs: force.
robovac_get_statusB
Get the current status of the robovac
Inputs: no named parameters.
robovac_get_work_modeC
Get the current work mode of the robovac
Inputs: force.
robovac_get_work_statusC
Get the current work status of the robovac
Inputs: force.
robovac_pauseB
Pause robovac cleaning
Inputs: no named parameters.
robovac_playB
Start/resume robovac cleaning
Inputs: no named parameters.
robovac_return_homeA
Send the robovac back to its charging dock
Inputs: no named parameters.
robovac_set_clean_speedC
Set the suction speed of the robovac
Inputs: speed (required).
robovac_set_work_modeC
Set the cleaning mode of the robovac
Inputs: mode (required).
robovac_start_cleaningB
Start the robovac cleaning cycle
Inputs: no named parameters.
robovac_stop_cleaningB
Stop the robovac cleaning cycle
Inputs: no named parameters.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 20 tools
Multiple tools have unclear boundaries and overlapping purposes, causing potential confusion. For example, robovac_play and robovac_start_cleaning both seem to initiate cleaning, while robovac_get_status, robovac_get_all_statuses, and robovac_format_status all retrieve status information with unclear distinctions. The descriptions don't sufficiently differentiate these tools, making it hard for an agent to choose correctly.
Tool names follow a highly consistent verb_noun pattern throughout, using snake_case with clear prefixes like 'robovac_' for all tools. The naming convention is predictable and readable, with no deviations or mixed styles, making it easy to understand the purpose of each tool at a glance.
With 20 tools, this server feels overly heavy and redundant for controlling a RoboVac. Many tools could be consolidated (e.g., multiple status getters or cleaning controls), leading to unnecessary complexity. A more streamlined set of 5-10 tools would better suit the domain without sacrificing functionality.
The tool surface covers the core RoboVac operations well, including connection, status retrieval, cleaning control, and settings adjustment. Minor gaps exist, such as lack of scheduling or zone cleaning tools, but agents can work around these with the available tools. The coverage is sufficient for basic to intermediate use cases.
Maintenance
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to control Unreal E…
A Model Context Protocol server for Wix AI tools
The Mercado Pago MCP Server implements the Model Context Protocol to provide AI agents and LLMs with access to Mercado Pago's APIs and tools within compatible development environments. It acts as an intermediary that translates Mercado Pago resources into executable functions (tools) that AI applications can invoke to perform actions and automate flows. The server simplifies integration, enables using documentation to implement or improve code, and optimizes operations through natural language interactions without manual implementations.
Related MCP Servers
- AlicenseBqualityCmaintenanceA server that enables interaction with Home Assistant devices and automations through the Model Context Protocol, allowing users to monitor device states, control devices, trigger automations, and list entities.448MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that connects to the Tesla Fleet API, allowing AI assistants like Claude to control Tesla vehicles and access vehicle information through natural language commands.20MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that integrates with Home Assistant to provide smart home control capabilities through natural language, supporting devices like lights, climate systems, locks, alarms, and humidifiers.3MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that allows large language models to control and query Home Assistant smart home systems through natural language interactions.34 npm5MIT