create_object
Add 3D objects like cubes, spheres, or lights to a Blender scene with precise control over location, rotation, and scale through Tripo MCP Server.
Instructions
Create a new object in the Blender scene.
Parameters:
- type: Object type (CUBE, SPHERE, CYLINDER, PLANE, CONE, TORUS, EMPTY, CAMERA, LIGHT)
- name: Optional name for the object
- location: Optional [x, y, z] location coordinates
- rotation: Optional [x, y, z] rotation in radians
- scale: Optional [x, y, z] scale factors
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| location | No | ||
| name | No | ||
| rotation | No | ||
| scale | No | ||
| type | No | CUBE |
Implementation Reference
- src/server.py:318-355 (handler)The core handler function for the 'create_object' MCP tool. Decorated with @mcp.tool() for automatic registration and schema generation from type hints. Sends creation parameters to Blender addon via send_command and returns success/error message.@mcp.tool() def create_object( ctx: Context, type: str = "CUBE", name: str = None, location: List[float] = None, rotation: List[float] = None, scale: List[float] = None, ) -> str: """ Create a new object in the Blender scene. Parameters: - type: Object type (CUBE, SPHERE, CYLINDER, PLANE, CONE, TORUS, EMPTY, CAMERA, LIGHT) - name: Optional name for the object - location: Optional [x, y, z] location coordinates - rotation: Optional [x, y, z] rotation in radians - scale: Optional [x, y, z] scale factors """ try: # Get the global connection blender = get_blender_connection() # Set default values for missing parameters loc = location or [0, 0, 0] rot = rotation or [0, 0, 0] sc = scale or [1, 1, 1] params = {"type": type, "location": loc, "rotation": rot, "scale": sc} if name: params["name"] = name result = blender.send_command("create_object", params) return f"Created {type} object: {result['name']}" except Exception as e: logger.error(f"Error creating object: {str(e)}") return f"Error creating object: {str(e)}"
- src/server.py:318-318 (registration)The @mcp.tool() decorator registers the create_object function as an MCP tool, inferring input schema from parameters and output from return type annotation.@mcp.tool()
- src/server.py:319-326 (schema)Function signature defines the input schema: object type, optional name/location/rotation/scale, with type hints for MCP validation.def create_object( ctx: Context, type: str = "CUBE", name: str = None, location: List[float] = None, rotation: List[float] = None, scale: List[float] = None, ) -> str:
- src/server.py:707-707 (helper)Documentation in asset_creation_strategy prompt referencing the create_object tool for primitive creation fallback.- create_object() for basic primitives (CUBE, SPHERE, CYLINDER, etc.)