Skip to main content
Glama

get_robot_status_smart

Retrieve real-time status information for GS cleaning robots by providing the serial number, automatically selecting the correct API version based on robot series.

Instructions

智能获取机器人状态。

自动根据机器人系列选择V1 (M-line) 或V2 (S-line) API。 Args: serial_number: 机器人序列号 Returns: 机器人状态信息字典

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
serial_numberYes

Implementation Reference

  • Core handler function in RobotAPIRouter that intelligently routes to V1 or V2 API based on robot series detected from serial number prefix. Calls mcp.get_robot_status_v1 or v2 and adds metadata.
    async def get_robot_status_smart(self, serial_number: str) -> Dict[str, Any]: """智能获取机器人状态。 自动根据机器人序列号前缀选择V1或V2 API。 """ # 基于序列号前缀判断机器人系列 detected_series = self._determine_robot_series_from_sn(serial_number) if self.is_s_line_robot(detected_series): # S-line 机器人使用 V2 API result = await self.mcp.get_robot_status_v2(serial_number) result["api_version"] = "V2 (S-line)" result["detected_series"] = detected_series return result else: # M-line 机器人或未知类型默认使用 V1 API result = await self.mcp.get_robot_status_v1(serial_number) result["api_version"] = "V1 (M-line/Default)" result["detected_series"] = detected_series return result
  • MCP tool registration using @mcp.tool() decorator. Proxies the call to the router's get_robot_status_smart method.
    @mcp.tool() async def get_robot_status_smart(serial_number: str): """智能获取机器人状态。 自动根据机器人系列选择V1 (M-line) 或V2 (S-line) API。 Args: serial_number: 机器人序列号 Returns: 机器人状态信息字典 """ return await router.get_robot_status_smart(serial_number)
  • Helper method to determine robot series from serial number prefix using predefined mapping ROBOT_SERIES_MAPPING.
    def _determine_robot_series_from_sn(self, serial_number: str) -> str: """根据序列号前缀判断机器人系列。 Args: serial_number: 机器人序列号 Returns: 机器人系列代码 (40, 50, 75, S, SW) 或 "unknown" """ if len(serial_number) < 5: return "unknown" prefix = serial_number[:5] return self.ROBOT_SERIES_MAPPING.get(prefix, "unknown")
  • Helper to check if robot is S-line based on series code.
    def is_s_line_robot(self, model_family_code: str) -> bool: """判断是否为S-line机器人。""" return model_family_code in ["S", "SW"]
  • Helper to check if robot is M-line based on series code.
    def is_m_line_robot(self, model_family_code: str) -> bool: """判断是否为M-line机器人。""" return model_family_code in ["40", "50", "75", "OMNIE"]

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/cfrs2005/mcp-gs-robot'

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