Skip to main content
Glama

3D-MCP

by team-plask
animation_atomic.py28.4 kB
# Generated blender implementation for animation atomic tools # This file is generated - DO NOT EDIT DIRECTLY import bpy from typing import Dict, Any, Optional, List, Union, Tuple, Literal def createChannels(items: List[Dict[str, Any]]) -> Dict[str, Any]: """ Create multiple Channels Args: items (List[Dict[str, Any] with keys {"name": str, "metadata": Dict[str, Any], "path": str, "type": Literal["SCALAR", "VEC2", "VEC3", "VEC4", "MAT2", "MAT3", "MAT4", "QUAT"], "nodeId": str, "clipId": str, "defaultValue": Any, "enabled": bool, "extrapolationPre": Literal["constant", "linear", "cycle", "cycleWithOffset", "oscillate"], "extrapolationPost": Literal["constant", "linear", "cycle", "cycleWithOffset", "oscillate"]}]): Array of Channels to create Returns: success (bool): Operation success status ids (List[str]): IDs of the created Channels """ tool_name = "createChannels" # Define tool name for logging params = {"items": items} # Create params dict for logging print(f"Executing {tool_name} in Blender with params: {params}") try: # No parameters to validate # TODO: Implement actual blender API calls # This is a placeholder implementation return { "success": True, # TODO: Implement "ids": None } except Exception as e: print(f"Error in {tool_name}: {str(e)}") return {"success": False, "error": str(e)} def updateChannels(items: List[Dict[str, Any]]) -> Dict[str, Any]: """ Update multiple Channels in a single operation Args: items (List[Dict[str, Any] with keys {"ids": List[str], "name": str, "metadata": Dict[str, Any], "path": str, "type": Literal["SCALAR", "VEC2", "VEC3", "VEC4", "MAT2", "MAT3", "MAT4", "QUAT"], "nodeId": str, "clipId": str, "defaultValue": Any, "enabled": bool, "extrapolationPre": Literal["constant", "linear", "cycle", "cycleWithOffset", "oscillate"], "extrapolationPost": Literal["constant", "linear", "cycle", "cycleWithOffset", "oscillate"]}]): Array of Channels to update with their IDs Returns: success (bool): Operation success status """ tool_name = "updateChannels" # Define tool name for logging params = {"items": items} # Create params dict for logging print(f"Executing {tool_name} in Blender with params: {params}") try: # No parameters to validate # TODO: Implement actual blender API calls # This is a placeholder implementation return { "success": True } except Exception as e: print(f"Error in {tool_name}: {str(e)}") return {"success": False, "error": str(e)} def listChannels(parentId: Optional[str] = None, filters: Optional[Dict[str, Any]] = None, limit: Optional[int] = None, offset: Optional[int] = None) -> Dict[str, Any]: """ List all Channels Args: parentId (str): Optional parent ID to filter by filters (Dict[str, Any]): Optional filters to apply limit (int): Maximum number of results offset (int): Starting offset for pagination Returns: success (bool): Operation success status items (List[Dict[str, Any] with keys {"id": str, "name": str, "metadata": Dict[str, Any], "path": str, "type": Literal["SCALAR", "VEC2", "VEC3", "VEC4", "MAT2", "MAT3", "MAT4", "QUAT"], "nodeId": str, "clipId": str, "defaultValue": Any, "enabled": bool, "extrapolationPre": Literal["constant", "linear", "cycle", "cycleWithOffset", "oscillate"], "extrapolationPost": Literal["constant", "linear", "cycle", "cycleWithOffset", "oscillate"]}]): Array of Channels objects totalCount (int): Total count for pagination """ tool_name = "listChannels" # Define tool name for logging params = {"parentId": parentId, "filters": filters, "limit": limit, "offset": offset} # Create params dict for logging print(f"Executing {tool_name} in Blender with params: {params}") try: # No parameters to validate # TODO: Implement actual blender API calls # This is a placeholder implementation return { "success": True, # TODO: Implement "items": None , # TODO: Implement "totalCount": None } except Exception as e: print(f"Error in {tool_name}: {str(e)}") return {"success": False, "error": str(e)} def getDrivers(ids: List[str]) -> Dict[str, Any]: """ Get multiple Drivers by IDs Args: ids (List[str]): Driver identifiers Returns: success (bool): Operation success status items (List[Dict[str, Any] with keys {"id": str, "name": str, "metadata": Dict[str, Any], "targetNodeId": str, "targetPath": str, "expression": str, "variables": List[Dict[str, Any] with keys {"name": str, "sourceNodeId": str, "sourcePath": str, "transform": str}]}]): Array of Drivers objects """ tool_name = "getDrivers" # Define tool name for logging params = {"ids": ids} # Create params dict for logging print(f"Executing {tool_name} in Blender with params: {params}") try: # No parameters to validate # TODO: Implement actual blender API calls # This is a placeholder implementation return { "success": True, # TODO: Implement "items": None } except Exception as e: print(f"Error in {tool_name}: {str(e)}") return {"success": False, "error": str(e)} def updateKeyframes(items: List[Dict[str, Any]]) -> Dict[str, Any]: """ Update multiple Keyframes in a single operation Args: items (List[Dict[str, Any] with keys {"ids": List[str], "name": str, "metadata": Dict[str, Any], "time": float, "value": List[float], "channelId": str, "tangentIn": List[float], "tangentOut": List[float]}]): Array of Keyframes to update with their IDs Returns: success (bool): Operation success status """ tool_name = "updateKeyframes" # Define tool name for logging params = {"items": items} # Create params dict for logging print(f"Executing {tool_name} in Blender with params: {params}") try: # No parameters to validate # TODO: Implement actual blender API calls # This is a placeholder implementation return { "success": True } except Exception as e: print(f"Error in {tool_name}: {str(e)}") return {"success": False, "error": str(e)} def getLayers(ids: List[str]) -> Dict[str, Any]: """ Get multiple Layers by IDs Args: ids (List[str]): Layer identifiers Returns: success (bool): Operation success status items (List[Dict[str, Any] with keys {"id": str, "name": str, "metadata": Dict[str, Any], "weight": float, "additive": bool, "parentId": str, "clipIds": List[str]}]): Array of Layers objects """ tool_name = "getLayers" # Define tool name for logging params = {"ids": ids} # Create params dict for logging print(f"Executing {tool_name} in Blender with params: {params}") try: # No parameters to validate # TODO: Implement actual blender API calls # This is a placeholder implementation return { "success": True, # TODO: Implement "items": None } except Exception as e: print(f"Error in {tool_name}: {str(e)}") return {"success": False, "error": str(e)} def deleteClips(ids: List[str]) -> Dict[str, Any]: """ Delete multiple Clips Args: ids (List[str]): Clip identifiers to delete Returns: success (bool): Operation success status """ tool_name = "deleteClips" # Define tool name for logging params = {"ids": ids} # Create params dict for logging print(f"Executing {tool_name} in Blender with params: {params}") try: # No parameters to validate # TODO: Implement actual blender API calls # This is a placeholder implementation return { "success": True } except Exception as e: print(f"Error in {tool_name}: {str(e)}") return {"success": False, "error": str(e)} def getKeyframes(ids: List[str]) -> Dict[str, Any]: """ Get multiple Keyframes by IDs Args: ids (List[str]): Keyframe identifiers Returns: success (bool): Operation success status items (List[Dict[str, Any] with keys {"id": str, "name": str, "metadata": Dict[str, Any], "time": float, "value": List[float], "channelId": str, "tangentIn": List[float], "tangentOut": List[float]}]): Array of Keyframes objects """ tool_name = "getKeyframes" # Define tool name for logging params = {"ids": ids} # Create params dict for logging print(f"Executing {tool_name} in Blender with params: {params}") try: # No parameters to validate # TODO: Implement actual blender API calls # This is a placeholder implementation return { "success": True, # TODO: Implement "items": None } except Exception as e: print(f"Error in {tool_name}: {str(e)}") return {"success": False, "error": str(e)} def listKeyframes(parentId: Optional[str] = None, filters: Optional[Dict[str, Any]] = None, limit: Optional[int] = None, offset: Optional[int] = None) -> Dict[str, Any]: """ List all Keyframes Args: parentId (str): Optional parent ID to filter by filters (Dict[str, Any]): Optional filters to apply limit (int): Maximum number of results offset (int): Starting offset for pagination Returns: success (bool): Operation success status items (List[Dict[str, Any] with keys {"id": str, "name": str, "metadata": Dict[str, Any], "time": float, "value": List[float], "channelId": str, "tangentIn": List[float], "tangentOut": List[float]}]): Array of Keyframes objects totalCount (int): Total count for pagination """ tool_name = "listKeyframes" # Define tool name for logging params = {"parentId": parentId, "filters": filters, "limit": limit, "offset": offset} # Create params dict for logging print(f"Executing {tool_name} in Blender with params: {params}") try: # No parameters to validate # TODO: Implement actual blender API calls # This is a placeholder implementation return { "success": True, # TODO: Implement "items": None , # TODO: Implement "totalCount": None } except Exception as e: print(f"Error in {tool_name}: {str(e)}") return {"success": False, "error": str(e)} def createClips(items: List[Dict[str, Any]]) -> Dict[str, Any]: """ Create multiple Clips Args: items (List[Dict[str, Any] with keys {"name": str, "metadata": Dict[str, Any], "duration": float, "frameRate": float, "startTime": float, "loop": bool, "speed": float, "enabled": bool}]): Array of Clips to create Returns: success (bool): Operation success status ids (List[str]): IDs of the created Clips """ tool_name = "createClips" # Define tool name for logging params = {"items": items} # Create params dict for logging print(f"Executing {tool_name} in Blender with params: {params}") try: # No parameters to validate # TODO: Implement actual blender API calls # This is a placeholder implementation return { "success": True, # TODO: Implement "ids": None } except Exception as e: print(f"Error in {tool_name}: {str(e)}") return {"success": False, "error": str(e)} def deleteChannels(ids: List[str]) -> Dict[str, Any]: """ Delete multiple Channels Args: ids (List[str]): Channel identifiers to delete Returns: success (bool): Operation success status """ tool_name = "deleteChannels" # Define tool name for logging params = {"ids": ids} # Create params dict for logging print(f"Executing {tool_name} in Blender with params: {params}") try: # No parameters to validate # TODO: Implement actual blender API calls # This is a placeholder implementation return { "success": True } except Exception as e: print(f"Error in {tool_name}: {str(e)}") return {"success": False, "error": str(e)} def updateDrivers(items: List[Dict[str, Any]]) -> Dict[str, Any]: """ Update multiple Drivers in a single operation Args: items (List[Dict[str, Any] with keys {"ids": List[str], "name": str, "metadata": Dict[str, Any], "targetNodeId": str, "targetPath": str, "expression": str, "variables": List[Dict[str, Any] with keys {"name": str, "sourceNodeId": str, "sourcePath": str, "transform": str}]}]): Array of Drivers to update with their IDs Returns: success (bool): Operation success status """ tool_name = "updateDrivers" # Define tool name for logging params = {"items": items} # Create params dict for logging print(f"Executing {tool_name} in Blender with params: {params}") try: # No parameters to validate # TODO: Implement actual blender API calls # This is a placeholder implementation return { "success": True } except Exception as e: print(f"Error in {tool_name}: {str(e)}") return {"success": False, "error": str(e)} def createKeyframes(items: List[Dict[str, Any]]) -> Dict[str, Any]: """ Create multiple Keyframes Args: items (List[Dict[str, Any] with keys {"name": str, "metadata": Dict[str, Any], "time": float, "value": List[float], "channelId": str, "tangentIn": List[float], "tangentOut": List[float]}]): Array of Keyframes to create Returns: success (bool): Operation success status ids (List[str]): IDs of the created Keyframes """ tool_name = "createKeyframes" # Define tool name for logging params = {"items": items} # Create params dict for logging print(f"Executing {tool_name} in Blender with params: {params}") try: # No parameters to validate # TODO: Implement actual blender API calls # This is a placeholder implementation return { "success": True, # TODO: Implement "ids": None } except Exception as e: print(f"Error in {tool_name}: {str(e)}") return {"success": False, "error": str(e)} def getClips(ids: List[str]) -> Dict[str, Any]: """ Get multiple Clips by IDs Args: ids (List[str]): Clip identifiers Returns: success (bool): Operation success status items (List[Dict[str, Any] with keys {"id": str, "name": str, "metadata": Dict[str, Any], "duration": float, "frameRate": float, "startTime": float, "loop": bool, "speed": float, "enabled": bool}]): Array of Clips objects """ tool_name = "getClips" # Define tool name for logging params = {"ids": ids} # Create params dict for logging print(f"Executing {tool_name} in Blender with params: {params}") try: # No parameters to validate # TODO: Implement actual blender API calls # This is a placeholder implementation return { "success": True, # TODO: Implement "items": None } except Exception as e: print(f"Error in {tool_name}: {str(e)}") return {"success": False, "error": str(e)} def updateLayers(items: List[Dict[str, Any]]) -> Dict[str, Any]: """ Update multiple Layers in a single operation Args: items (List[Dict[str, Any] with keys {"ids": List[str], "name": str, "metadata": Dict[str, Any], "weight": float, "additive": bool, "parentId": str, "clipIds": List[str]}]): Array of Layers to update with their IDs Returns: success (bool): Operation success status """ tool_name = "updateLayers" # Define tool name for logging params = {"items": items} # Create params dict for logging print(f"Executing {tool_name} in Blender with params: {params}") try: # No parameters to validate # TODO: Implement actual blender API calls # This is a placeholder implementation return { "success": True } except Exception as e: print(f"Error in {tool_name}: {str(e)}") return {"success": False, "error": str(e)} def listLayers(parentId: Optional[str] = None, filters: Optional[Dict[str, Any]] = None, limit: Optional[int] = None, offset: Optional[int] = None) -> Dict[str, Any]: """ List all Layers Args: parentId (str): Optional parent ID to filter by filters (Dict[str, Any]): Optional filters to apply limit (int): Maximum number of results offset (int): Starting offset for pagination Returns: success (bool): Operation success status items (List[Dict[str, Any] with keys {"id": str, "name": str, "metadata": Dict[str, Any], "weight": float, "additive": bool, "parentId": str, "clipIds": List[str]}]): Array of Layers objects totalCount (int): Total count for pagination """ tool_name = "listLayers" # Define tool name for logging params = {"parentId": parentId, "filters": filters, "limit": limit, "offset": offset} # Create params dict for logging print(f"Executing {tool_name} in Blender with params: {params}") try: # No parameters to validate # TODO: Implement actual blender API calls # This is a placeholder implementation return { "success": True, # TODO: Implement "items": None , # TODO: Implement "totalCount": None } except Exception as e: print(f"Error in {tool_name}: {str(e)}") return {"success": False, "error": str(e)} def deleteKeyframes(ids: List[str]) -> Dict[str, Any]: """ Delete multiple Keyframes Args: ids (List[str]): Keyframe identifiers to delete Returns: success (bool): Operation success status """ tool_name = "deleteKeyframes" # Define tool name for logging params = {"ids": ids} # Create params dict for logging print(f"Executing {tool_name} in Blender with params: {params}") try: # No parameters to validate # TODO: Implement actual blender API calls # This is a placeholder implementation return { "success": True } except Exception as e: print(f"Error in {tool_name}: {str(e)}") return {"success": False, "error": str(e)} def listClips(parentId: Optional[str] = None, filters: Optional[Dict[str, Any]] = None, limit: Optional[int] = None, offset: Optional[int] = None) -> Dict[str, Any]: """ List all Clips Args: parentId (str): Optional parent ID to filter by filters (Dict[str, Any]): Optional filters to apply limit (int): Maximum number of results offset (int): Starting offset for pagination Returns: success (bool): Operation success status items (List[Dict[str, Any] with keys {"id": str, "name": str, "metadata": Dict[str, Any], "duration": float, "frameRate": float, "startTime": float, "loop": bool, "speed": float, "enabled": bool}]): Array of Clips objects totalCount (int): Total count for pagination """ tool_name = "listClips" # Define tool name for logging params = {"parentId": parentId, "filters": filters, "limit": limit, "offset": offset} # Create params dict for logging print(f"Executing {tool_name} in Blender with params: {params}") try: # No parameters to validate # TODO: Implement actual blender API calls # This is a placeholder implementation return { "success": True, # TODO: Implement "items": None , # TODO: Implement "totalCount": None } except Exception as e: print(f"Error in {tool_name}: {str(e)}") return {"success": False, "error": str(e)} def listDrivers(parentId: Optional[str] = None, filters: Optional[Dict[str, Any]] = None, limit: Optional[int] = None, offset: Optional[int] = None) -> Dict[str, Any]: """ List all Drivers Args: parentId (str): Optional parent ID to filter by filters (Dict[str, Any]): Optional filters to apply limit (int): Maximum number of results offset (int): Starting offset for pagination Returns: success (bool): Operation success status items (List[Dict[str, Any] with keys {"id": str, "name": str, "metadata": Dict[str, Any], "targetNodeId": str, "targetPath": str, "expression": str, "variables": List[Dict[str, Any] with keys {"name": str, "sourceNodeId": str, "sourcePath": str, "transform": str}]}]): Array of Drivers objects totalCount (int): Total count for pagination """ tool_name = "listDrivers" # Define tool name for logging params = {"parentId": parentId, "filters": filters, "limit": limit, "offset": offset} # Create params dict for logging print(f"Executing {tool_name} in Blender with params: {params}") try: # No parameters to validate # TODO: Implement actual blender API calls # This is a placeholder implementation return { "success": True, # TODO: Implement "items": None , # TODO: Implement "totalCount": None } except Exception as e: print(f"Error in {tool_name}: {str(e)}") return {"success": False, "error": str(e)} def deleteDrivers(ids: List[str]) -> Dict[str, Any]: """ Delete multiple Drivers Args: ids (List[str]): Driver identifiers to delete Returns: success (bool): Operation success status """ tool_name = "deleteDrivers" # Define tool name for logging params = {"ids": ids} # Create params dict for logging print(f"Executing {tool_name} in Blender with params: {params}") try: # No parameters to validate # TODO: Implement actual blender API calls # This is a placeholder implementation return { "success": True } except Exception as e: print(f"Error in {tool_name}: {str(e)}") return {"success": False, "error": str(e)} def updateClips(items: List[Dict[str, Any]]) -> Dict[str, Any]: """ Update multiple Clips in a single operation Args: items (List[Dict[str, Any] with keys {"ids": List[str], "name": str, "metadata": Dict[str, Any], "duration": float, "frameRate": float, "startTime": float, "loop": bool, "speed": float, "enabled": bool}]): Array of Clips to update with their IDs Returns: success (bool): Operation success status """ tool_name = "updateClips" # Define tool name for logging params = {"items": items} # Create params dict for logging print(f"Executing {tool_name} in Blender with params: {params}") try: # No parameters to validate # TODO: Implement actual blender API calls # This is a placeholder implementation return { "success": True } except Exception as e: print(f"Error in {tool_name}: {str(e)}") return {"success": False, "error": str(e)} def getChannels(ids: List[str]) -> Dict[str, Any]: """ Get multiple Channels by IDs Args: ids (List[str]): Channel identifiers Returns: success (bool): Operation success status items (List[Dict[str, Any] with keys {"id": str, "name": str, "metadata": Dict[str, Any], "path": str, "type": Literal["SCALAR", "VEC2", "VEC3", "VEC4", "MAT2", "MAT3", "MAT4", "QUAT"], "nodeId": str, "clipId": str, "defaultValue": Any, "enabled": bool, "extrapolationPre": Literal["constant", "linear", "cycle", "cycleWithOffset", "oscillate"], "extrapolationPost": Literal["constant", "linear", "cycle", "cycleWithOffset", "oscillate"]}]): Array of Channels objects """ tool_name = "getChannels" # Define tool name for logging params = {"ids": ids} # Create params dict for logging print(f"Executing {tool_name} in Blender with params: {params}") try: # No parameters to validate # TODO: Implement actual blender API calls # This is a placeholder implementation return { "success": True, # TODO: Implement "items": None } except Exception as e: print(f"Error in {tool_name}: {str(e)}") return {"success": False, "error": str(e)} def createLayers(items: List[Dict[str, Any]]) -> Dict[str, Any]: """ Create multiple Layers Args: items (List[Dict[str, Any] with keys {"name": str, "metadata": Dict[str, Any], "weight": float, "additive": bool, "parentId": str, "clipIds": List[str]}]): Array of Layers to create Returns: success (bool): Operation success status ids (List[str]): IDs of the created Layers """ tool_name = "createLayers" # Define tool name for logging params = {"items": items} # Create params dict for logging print(f"Executing {tool_name} in Blender with params: {params}") try: # No parameters to validate # TODO: Implement actual blender API calls # This is a placeholder implementation return { "success": True, # TODO: Implement "ids": None } except Exception as e: print(f"Error in {tool_name}: {str(e)}") return {"success": False, "error": str(e)} def deleteLayers(ids: List[str]) -> Dict[str, Any]: """ Delete multiple Layers Args: ids (List[str]): Layer identifiers to delete Returns: success (bool): Operation success status """ tool_name = "deleteLayers" # Define tool name for logging params = {"ids": ids} # Create params dict for logging print(f"Executing {tool_name} in Blender with params: {params}") try: # No parameters to validate # TODO: Implement actual blender API calls # This is a placeholder implementation return { "success": True } except Exception as e: print(f"Error in {tool_name}: {str(e)}") return {"success": False, "error": str(e)} def createDrivers(items: List[Dict[str, Any]]) -> Dict[str, Any]: """ Create multiple Drivers Args: items (List[Dict[str, Any] with keys {"name": str, "metadata": Dict[str, Any], "targetNodeId": str, "targetPath": str, "expression": str, "variables": List[Dict[str, Any] with keys {"name": str, "sourceNodeId": str, "sourcePath": str, "transform": str}]}]): Array of Drivers to create Returns: success (bool): Operation success status ids (List[str]): IDs of the created Drivers """ tool_name = "createDrivers" # Define tool name for logging params = {"items": items} # Create params dict for logging print(f"Executing {tool_name} in Blender with params: {params}") try: # No parameters to validate # TODO: Implement actual blender API calls # This is a placeholder implementation return { "success": True, # TODO: Implement "ids": None } except Exception as e: print(f"Error in {tool_name}: {str(e)}") return {"success": False, "error": str(e)} # === NEWLY GENERATED ===

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/team-plask/3d-mcp'

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