add_layer
Create a new layer in an Aseprite file to organize pixel art elements, enabling structured editing and composition.
Instructions
Add a new layer to the Aseprite file.
Args: filename: Name of the Aseprite file to modify layer_name: Name of the new layer
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| filename | Yes | ||
| layer_name | Yes |
Implementation Reference
- aseprite_mcp/tools/canvas.py:51-89 (handler)The 'add_layer' function is defined as an MCP tool, handling the logic of adding a layer to an Aseprite file using LuaBuilder.
async def add_layer(filename: str, layer_name: str) -> str: """Add a new layer to the Aseprite file. Args: filename: Name of the Aseprite file to modify layer_name: Name of the new layer """ try: log_operation("add_layer", filename, layer_name=layer_name) # Validate inputs file_path = validate_file_path(filename, must_exist=True) layer_name = validate_layer_name(layer_name) # Build Lua script builder = LuaBuilder() builder.add_line('local spr = app.activeSprite') builder.if_condition('not spr') builder.add_line('error("No active sprite")') builder.end_if() builder.add_line() builder.begin_transaction() builder.create_layer(layer_name) builder.end_transaction() builder.save_sprite() # Execute script cmd = get_command() success, output = cmd.execute_lua_script(builder.build(), str(file_path)) logger.info(f"Layer added successfully", file=str(file_path), layer=layer_name) return f"Layer '{layer_name}' added successfully to {file_path}" except (ValidationError, AsepriteError) as e: log_error(f"Failed to add layer", e, "add_layer", filename=filename, layer_name=layer_name) return f"Failed to add layer: {e}" except Exception as e: log_error(f"Unexpected error in add_layer", e, "add_layer", filename=filename) return f"Unexpected error: {e}" - aseprite_mcp/tools/canvas.py:50-51 (registration)The 'add_layer' function is registered as an MCP tool using the @mcp.tool() decorator.
@mcp.tool() async def add_layer(filename: str, layer_name: str) -> str: