Skip to main content
Glama
appleton
by appleton

robovac_get_clean_speed

Retrieve the current cleaning speed of Eufy RoboVac devices using the MCP server, with options to refresh cached data for accurate results.

Instructions

Get the current cleaning speed of the robovac

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
forceNoForce refresh of cached data

Implementation Reference

  • The handler case in the CallToolRequest switch statement that implements the tool logic: ensures the RoboVac is initialized, retrieves the current clean speed using the library method, and returns it as a text response.
    case "robovac_get_clean_speed": this.ensureRoboVacInitialized(); const cleanSpeed = await this.robovac!.getCleanSpeed( args?.force as boolean ); return { content: [ { type: "text", text: `Clean Speed: ${cleanSpeed}`, }, ], };
  • The tool definition in the listTools response, including the name, description, and input schema for a boolean 'force' parameter to refresh cached data.
    { 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, }, }, }, },
  • src/server.ts:115-386 (registration)
    The listTools request handler registration where all tools, including robovac_get_clean_speed, are statically defined and returned.
    this.server.setRequestHandler( 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: {}, }, }, ], }) );

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