Skip to main content
Glama
appleton
by appleton

robovac_find_robot

Use this tool to trigger a beep sound on your Eufy RoboVac, helping you quickly locate it. Easily enable or disable the find mode as needed.

Instructions

Make the robovac beep to help locate it

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
enableNoWhether to enable or disable find robot mode

Implementation Reference

  • Handler implementation for the robovac_find_robot tool. Ensures the RoboVac instance is initialized, extracts the enable parameter (default true), calls setFindRobot on the RoboVac, and returns a success message.
    case "robovac_find_robot": this.ensureRoboVacInitialized(); const enableFind = args?.enable !== undefined ? (args?.enable as boolean) : true; await this.robovac!.setFindRobot(enableFind); return { content: [ { type: "text", text: enableFind ? "Find robot enabled - RoboVac should be beeping!" : "Find robot disabled", }, ], };
  • Tool schema and registration entry in the listTools response, defining the name, description, and input schema with optional 'enable' boolean.
    name: "robovac_find_robot", description: "Make the robovac beep to help locate it", inputSchema: { type: "object", properties: { enable: { type: "boolean", description: "Whether to enable or disable find robot mode", default: true, }, }, }, },
  • src/server.ts:116-386 (registration)
    Registration of all tools including robovac_find_robot via setRequestHandler for ListToolsRequestSchema.
    ListToolsRequestSchema, async (): Promise<{ tools: Tool[] }> => ({ tools: [ { name: "robovac_set_work_mode", description: "Set the cleaning mode of the robovac", inputSchema: { type: "object", properties: { mode: { type: "string", description: "The work mode to set", enum: ["AUTO", "SMALL_ROOM", "SPOT", "EDGE", "NO_SWEEP"], }, }, required: ["mode"], }, }, { name: "robovac_set_clean_speed", description: "Set the suction speed of the robovac", inputSchema: { type: "object", properties: { speed: { type: "string", description: "The cleaning speed to set", enum: ["STANDARD", "BOOST_IQ", "MAX", "NO_SUCTION"], }, }, required: ["speed"], }, }, { name: "robovac_play", description: "Start/resume robovac cleaning", inputSchema: { type: "object", properties: {}, }, }, { name: "robovac_pause", description: "Pause robovac cleaning", inputSchema: { type: "object", properties: {}, }, }, { name: "robovac_find_robot", description: "Make the robovac beep to help locate it", inputSchema: { type: "object", properties: { enable: { type: "boolean", description: "Whether to enable or disable find robot mode", default: true, }, }, }, }, { name: "robovac_get_error_code", description: "Get the current error code of the robovac", inputSchema: { type: "object", properties: { force: { type: "boolean", description: "Force refresh of cached data", default: false, }, }, }, }, { name: "robovac_get_work_mode", description: "Get the current work mode of the robovac", inputSchema: { type: "object", properties: { force: { type: "boolean", description: "Force refresh of cached data", default: false, }, }, }, }, { name: "robovac_get_clean_speed", description: "Get the current cleaning speed of the robovac", inputSchema: { type: "object", properties: { force: { type: "boolean", description: "Force refresh of cached data", default: false, }, }, }, }, { name: "robovac_get_work_status", description: "Get the current work status of the robovac", inputSchema: { type: "object", properties: { force: { type: "boolean", description: "Force refresh of cached data", default: false, }, }, }, }, { name: "robovac_get_play_pause", description: "Get the current play/pause state of the robovac", inputSchema: { type: "object", properties: { force: { type: "boolean", description: "Force refresh of cached data", default: false, }, }, }, }, { name: "robovac_format_status", description: "Get a formatted display of all robovac status information", inputSchema: { type: "object", properties: {}, }, }, { name: "robovac_get_all_statuses", description: "Get all status information from the robovac at once", inputSchema: { type: "object", properties: { force: { type: "boolean", description: "Force refresh of cached data", default: false, }, }, }, }, { name: "robovac_auto_initialize", description: "Automatically discover and initialize the first RoboVac device found", inputSchema: { type: "object", properties: { email: { type: "string", description: "Your Eufy account email address", }, password: { type: "string", description: "Your Eufy account password", }, deviceIndex: { type: "number", description: "Index of device to connect to (0 for first device)", default: 0, }, }, required: ["email", "password"], }, }, { name: "robovac_connect_discovered", description: "Connect to a discovered RoboVac device by IP (requires device ID and local key)", inputSchema: { type: "object", properties: { ip: { type: "string", description: "IP address of the discovered device", }, deviceId: { type: "string", description: "The device ID of your Eufy RoboVac", }, localKey: { type: "string", description: "The local key for your Eufy RoboVac", }, }, required: ["ip", "deviceId", "localKey"], }, }, { name: "robovac_connect", description: "Connect to your RoboVac using device credentials (manual setup)", inputSchema: { type: "object", properties: { deviceId: { type: "string", description: "The device ID of your Eufy RoboVac", }, localKey: { type: "string", description: "The local key for your Eufy RoboVac", }, ip: { type: "string", description: "The IP address of your Eufy RoboVac (optional, defaults to 192.168.1.100)", }, }, required: ["deviceId", "localKey"], }, }, { name: "robovac_start_cleaning", description: "Start the robovac cleaning cycle", inputSchema: { type: "object", properties: {}, }, }, { name: "robovac_stop_cleaning", description: "Stop the robovac cleaning cycle", inputSchema: { type: "object", properties: {}, }, }, { name: "robovac_return_home", description: "Send the robovac back to its charging dock", inputSchema: { type: "object", properties: {}, }, }, { name: "robovac_get_status", description: "Get the current status of the robovac", inputSchema: { type: "object", properties: {}, }, }, { name: "robovac_get_battery", description: "Get the battery level of the robovac", inputSchema: { type: "object", properties: {}, }, }, ], }) );
  • Helper method called by the handler to ensure the RoboVac instance is initialized before executing tool logic.
    private ensureRoboVacInitialized(): void { if (!this.robovac) { throw new Error( "RoboVac not initialized. Please run robovac_auto_initialize or robovac_connect first." ); } }

Latest Blog Posts

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