get_robot_capabilities
Retrieve a robot's supported API endpoints and functions by providing its serial number.
Instructions
获取机器人支持的API能力。
显示该机器人支持哪些API端点和功能。
Args:
serial_number: 机器人序列号
Returns:
机器人能力信息字典Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| serial_number | Yes |
Implementation Reference
- src/gs_openapi/main.py:357-369 (handler)MCP tool handler for 'get_robot_capabilities' - decorated with @mcp.tool(), receives serial_number and 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 logic: determines robot series from serial number prefix and returns capability dict (basic_status, command_control, task_reports, maps, site_info, advanced_tasks, v1_status, v2_status)
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 } - src/gs_openapi/main.py:27-27 (registration)MCP instance initialized via GausiumMCP (extends FastMCP); the @mcp.tool() decorator on line 357 registers the tool
mcp = GausiumMCP("gs-openapi") - src/gs_openapi/mcp/gausium_mcp.py:13-13 (registration)GausiumMCP extends FastMCP; the mcp instance in main.py uses this class, and @mcp.tool() registers the tool via FastMCP's tool registration mechanism
class GausiumMCP(FastMCP):