get_workbenches
Retrieve available workbench containers to organize and manage research workspaces within RSpace, enabling structured data organization for current projects.
Instructions
Retrieves all available workbenches (virtual workspaces)
Usage: Find available workspaces for organizing current work Workbenches: Special containers representing physical or logical workspaces Returns: List of all workbench containers
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- main.py:959-969 (handler)The main handler function for the 'get_workbenches' MCP tool. It is registered via the @mcp.tool decorator and implements the tool logic by delegating to the RSpace inventory client (inv_cli.get_workbenches()). This is the exact implementation point within the codebase.@mcp.tool(tags={"rspace", "inventory", "containers"}) def get_workbenches() -> List[dict]: """ Retrieves all available workbenches (virtual workspaces) Usage: Find available workspaces for organizing current work Workbenches: Special containers representing physical or logical workspaces Returns: List of all workbench containers """ return inv_cli.get_workbenches()
- main.py:61-67 (schema)Pydantic model defining the structure of inventory containers, including workbenches (cType: WORKBENCH). The get_workbenches tool returns a list of dicts matching this structure.class Container(BaseModel): """Inventory container metadata""" name: str = Field(description="Container name") globalId: str = Field(description="Global identifier") cType: str = Field(description="Container type (LIST, GRID, WORKBENCH, IMAGE)") capacity: Optional[int] = Field(description="Container capacity if applicable")
- main.py:90-90 (helper)Initialization of the inventory client (inv_cli) used by the get_workbenches handler to interact with the RSpace Inventory API.inv_cli = i.InventoryClient(api_url, api_key) # Inventory Management operations
- main.py:959-959 (registration)The @mcp.tool decorator registers the get_workbenches function as an MCP tool with specific tags for categorization.@mcp.tool(tags={"rspace", "inventory", "containers"})