Skip to main content
Glama
cfrs2005

GS Robot MCP Server

by cfrs2005

get_robot_capabilities

Retrieve supported API endpoints and functionality for a specific GS cleaning robot using its serial number to understand available control operations.

Instructions

获取机器人支持的API能力。

显示该机器人支持哪些API端点和功能。

Args:
    serial_number: 机器人序列号
    
Returns:
    机器人能力信息字典

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
serial_numberYes

Implementation Reference

  • Registration and thin handler for the 'get_robot_capabilities' tool using @mcp.tool() decorator. Delegates to router.get_capabilities()
    @mcp.tool()
    async def get_robot_capabilities(serial_number: str):
        """获取机器人支持的API能力。
        
        显示该机器人支持哪些API端点和功能。
        
        Args:
            serial_number: 机器人序列号
            
        Returns:
            机器人能力信息字典
        """
        return await router.get_capabilities(serial_number)
  • Core implementation of get_robot_capabilities logic in RobotAPIRouter class. Determines robot series from serial number prefix and returns supported API capabilities based on M-line or S-line classification.
    async def get_capabilities(self, serial_number: str) -> Dict[str, Any]:
        """获取机器人支持的API能力。"""
        # 基于序列号前缀判断机器人系列
        detected_series = self._determine_robot_series_from_sn(serial_number)
        
        capabilities = {
            "basic_status": True,
            "command_control": True,
            "task_reports": True,
            "maps": True,
            "site_info": False,
            "advanced_tasks": False
        }
        
        if self.is_s_line_robot(detected_series):
            capabilities.update({
                "site_info": True,
                "advanced_tasks": True,
                "v2_status": True,
                "v1_status": False
            })
            robot_series = "S-line"
        elif self.is_m_line_robot(detected_series):
            capabilities.update({
                "v1_status": True,
                "v2_status": False,
                "command_control": True
            })
            robot_series = "M-line"
        else:
            # 未知前缀默认使用V1 API
            capabilities.update({
                "v1_status": True,
                "v2_status": False,
                "command_control": True
            })
            robot_series = "Unknown (Default V1)"
        
        return {
            "serial_number": serial_number,
            "robot_series": robot_series,
            "detected_series": detected_series,
            "prefix": serial_number[:5] if len(serial_number) >= 5 else serial_number,
            "capabilities": capabilities
        }

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