move_items_to_grid_container_by_row
Systematically arranges items into grid containers row by row, automatically calculating positions for plates, boxes, or other gridded storage in research workflows.
Instructions
Moves items to grid container, filling positions row by row
Usage: Systematic filling of plates, boxes, or other gridded containers Auto-positioning: Automatically calculates next available positions Dimensions: Auto-detected from container if not provided
Returns: Success status and final positions of moved items
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| target_container_id | Yes | ||
| item_ids | Yes | ||
| start_column | No | ||
| start_row | No | ||
| total_columns | No | ||
| total_rows | No |
Implementation Reference
- main.py:990-1021 (handler)The handler function implementing the 'move_items_to_grid_container_by_row' tool logic. It handles moving items to a grid container by row, auto-detecting dimensions, creating placement strategy, calling the inventory CLI, and returning results. The @mcp.tool decorator registers it as an MCP tool.@mcp.tool(tags={"rspace", "inventory", "movement"}) def move_items_to_grid_container_by_row( target_container_id: Union[int, str], item_ids: List[str], start_column: int = 1, start_row: int = 1, total_columns: int = None, total_rows: int = None ) -> dict: """ Moves items to grid container, filling positions row by row Usage: Systematic filling of plates, boxes, or other gridded containers Auto-positioning: Automatically calculates next available positions Dimensions: Auto-detected from container if not provided Returns: Success status and final positions of moved items """ # Auto-detect container dimensions if not provided if total_columns is None or total_rows is None: container = inv_cli.get_container_by_id(target_container_id) container_obj = i.Container.of(container) if hasattr(container_obj, 'column_count'): total_columns = container_obj.column_count() total_rows = container_obj.row_count() else: raise ValueError("Container dimensions required for non-grid containers") placement = i.ByRow(start_column, start_row, total_columns, total_rows, *item_ids) result = inv_cli.add_items_to_grid_container(target_container_id, placement) return {"success": result.is_ok(), "results": result.data if hasattr(result, 'data') else str(result)}