Skip to main content
Glama
diivi
by diivi

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
STEAM_PASSWORDNoSteam password for installing Aseprite via SteamCMD (optional)
STEAM_USERNAMENoSteam username for installing Aseprite via SteamCMD (optional)
STEAM_GUARD_CODENoSteam guard code for two-factor authentication (optional)

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
create_canvasB

Create a new Aseprite canvas with specified dimensions.

Args: width: Width of the canvas in pixels height: Height of the canvas in pixels filename: Name of the output file (default: canvas.aseprite)

add_layerC

Add a new layer to the Aseprite file.

Args: filename: Name of the Aseprite file to modify layer_name: Name of the new layer

add_frameC

Add a new frame to the Aseprite file.

Args: filename: Name of the Aseprite file to modify

set_frameB

Set the active frame by index (1-based).

Args: filename: Name of the Aseprite file to modify frame_index: Frame index starting at 1

set_frame_durationB

Set the duration of a frame in milliseconds.

Args: filename: Name of the Aseprite file to modify frame_index: Frame index starting at 1 duration_ms: Duration in milliseconds

set_layerB

Set the active layer by name.

Args: filename: Name of the Aseprite file to modify layer_name: Layer name to activate create_if_missing: Create layer if it does not exist

draw_pixelsB

Draw pixels on the canvas with specified colors.

Args: filename: Name of the Aseprite file to modify pixels: List of pixel data, each containing: {"x": int, "y": int, "color": str} where color is a hex code like "#FF0000"

draw_lineB

Draw a line on the canvas.

Args: filename: Name of the Aseprite file to modify x1: Starting x coordinate y1: Starting y coordinate x2: Ending x coordinate y2: Ending y coordinate color: Hex color code (default: "#000000") thickness: Line thickness in pixels (default: 1)

draw_rectangleB

Draw a rectangle on the canvas.

Args: filename: Name of the Aseprite file to modify x: Top-left x coordinate y: Top-left y coordinate width: Width of the rectangle in pixels (must be > 0) height: Height of the rectangle in pixels (must be > 0) color: Hex color code (default: "#000000") fill: Whether to fill the rectangle (default: False)

fill_areaB

Fill an area with color using the paint bucket tool.

Args: filename: Name of the Aseprite file to modify x: X coordinate to fill from y: Y coordinate to fill from color: Hex color code (default: "#000000")

draw_circleB

Draw a circle on the canvas.

Args: filename: Name of the Aseprite file to modify center_x: X coordinate of circle center center_y: Y coordinate of circle center radius: Radius of the circle in pixels color: Hex color code (default: "#000000") fill: Whether to fill the circle (default: False)

draw_pixels_atC

Draw pixels on a specific layer/frame.

Args: filename: Name of the Aseprite file to modify layer_name: Layer name to target frame_index: Frame index starting at 1 pixels: List of pixel data with x/y/color create_if_missing: Create cel if it does not exist

draw_line_atC

Draw a line on a specific layer/frame.

draw_rectangle_atC

Draw a rectangle on a specific layer/frame.

draw_circle_atC

Draw a circle on a specific layer/frame.

fill_area_atC

Fill an area on a specific layer/frame.

draw_polygonC

Draw a polygon on a specific layer/frame.

draw_pathC

Draw a path using a polyline on a specific layer/frame.

apply_gradient_rectC

Apply a linear gradient fill to a rectangle.

export_spriteB

Export the Aseprite file to another format.

Args: filename: Name of the Aseprite file to export output_filename: Name of the output file format: Output format (default: "png", can be "png", "gif", "jpg", etc.)

copy_spriteA

Copy a sprite to a new Aseprite file.

Args: filename: Name of the Aseprite file to copy output_filename: Name of the output .aseprite file overwrite: Whether to overwrite if output exists

add_framesB

Add multiple frames to a sprite and optionally set their duration.

Args: filename: Name of the Aseprite file to modify count: Number of frames to add duration_ms: Optional duration for each new frame in milliseconds

set_frame_duration_allB

Set the duration of all frames in milliseconds.

Args: filename: Name of the Aseprite file to modify duration_ms: Duration in milliseconds

set_layer_visibilityB

Set layer visibility by name.

Args: filename: Name of the Aseprite file to modify layer_name: Layer name to target visible: Whether the layer should be visible

set_layer_opacityB

Set layer opacity by name (0-255).

Args: filename: Name of the Aseprite file to modify layer_name: Layer name to target opacity: Opacity value 0-255

get_sprite_infoB

Return sprite info as JSON string (size, frame count, layers).

Args: filename: Name of the Aseprite file to inspect

duplicate_frame_rangeA

Duplicate a frame range and append copies to the end.

Args: filename: Name of the Aseprite file to modify start_frame: Starting frame index (1-based) end_frame: Ending frame index (1-based, inclusive) times: Number of times to append the range (default: 1)

set_cel_positionA

Set a cel's position in a specific layer and frame.

Args: filename: Name of the Aseprite file to modify layer_name: Layer name to target frame_index: Frame index starting at 1 x: X position in pixels y: Y position in pixels create_if_missing: Create the cel if it does not exist source_frame_index: Optional frame to copy the cel image from

tween_cel_positionsA

Tween cel positions linearly across a frame range.

Args: filename: Name of the Aseprite file to modify layer_name: Layer name to target start_frame: Starting frame index (1-based) end_frame: Ending frame index (1-based, inclusive) start_x: Starting X position in pixels start_y: Starting Y position in pixels end_x: Ending X position in pixels end_y: Ending Y position in pixels create_missing_cels: Create missing cels during tween source_frame_index: Optional frame to copy the cel image from

offset_cel_positionsA

Offset cel positions by a delta across a frame range.

Args: filename: Name of the Aseprite file to modify layer_name: Layer name to target start_frame: Starting frame index (1-based) end_frame: Ending frame index (1-based, inclusive) dx: X delta in pixels dy: Y delta in pixels

create_celB

Create an empty cel on a layer/frame.

Args: filename: Name of the Aseprite file to modify layer_name: Layer name to target frame_index: Frame index starting at 1 x: X position in pixels y: Y position in pixels

clear_celC

Delete a cel on a layer/frame.

copy_celC

Copy a cel from one frame to another.

copy_frameB

Copy all cels from a source frame to a target frame (or append).

propagate_frame_to_rangeB

Copy all layers from a source frame to a range of frames.

Args: filename: Name of the Aseprite file to modify source_frame: Frame index to copy from (1-based) start_frame: Start frame index (1-based) end_frame: End frame index (1-based, inclusive) overwrite: Whether to overwrite existing cels (default: True)

set_tagC

Create or update an animation tag on the sprite.

set_onion_skinC

Configure onion skin settings for Aseprite.

propagate_celsA

Copy cels from a source frame to a range of frames for specific layers.

Args: filename: Name of the Aseprite file to modify layer_names: List of layer names to copy source_frame: Frame index to copy from (1-based) start_frame: Start frame index (1-based) end_frame: End frame index (1-based, inclusive) replace: Whether to overwrite existing cels (default: True)

tween_cel_positions_easedC

Tween cel positions with easing across a frame range.

oscillate_cel_positionsC

Oscillate cel positions across a frame range using a sine wave.

tween_cel_opacity_easedC

Tween cel opacity with easing across a frame range.

tween_cel_scale_easedC

Tween cel scale with easing across a frame range.

start_preview_serverC

Start a simple HTTP server to preview exported sprites.

Args: directory: Directory to serve port: Port to bind (default 8000)

stop_preview_serverA

Stop the preview HTTP server for a given port.

Args: port: Port to stop (default 8000)

get_paletteC

Get the active sprite palette as a JSON array of hex colors.

set_paletteC

Set the active sprite palette using a list of hex colors.

remap_colors_in_cel_rangeC

Remap colors in a layer across a frame range using explicit mappings.

copy_layers_between_spritesA

Copy layers by name from a source sprite to a target sprite.

Args: source_filename: Source .aseprite file target_filename: Target .aseprite file layer_names: List of layer names to copy replace: Overwrite existing cels in target layers create_missing_frames: Add frames to target if needed

animation_workflow_guideC

Return a concise English guide for optimized animation workflows.

ensure_layers_presentC

Ensure cels exist for layers across a frame range.

validate_sceneC

Validate presence of layers and cels across a frame range.

Returns JSON with missing layers and missing cels.

audit_animationB

Audit animation frames for overlaps and out-of-range layer activity.

overlap_pairs format: ["layerA,layerB", "layerC:layerD"] layer_frame_ranges format: ["layer:1-8,17-24", "clouds:1-12"] Returns JSON for AI consumption (summary, overlaps, out_of_range, optional cels).

animation_sanitizeC

Normalize animation consistency and optionally apply fixes.

layer_frame_ranges format: ["layer:1-8,17-24", "clouds:1-12"] out_of_range_action: "set_opacity_zero", "delete_cels", "none" ignore_full_canvas_overlaps: skip overlap checks when a cel is full canvas Returns JSON for AI consumption (summary, layer_stats, alerts, overlaps).

get_pixel_colorB

Read the RGBA color of a single pixel.

Args: filename: Aseprite file to read x: X coordinate y: Y coordinate layer_name: Layer to read from (uses active layer when empty) frame_index: Frame index starting at 1

get_pixels_rectA

Read all pixel colors in a rectangular region.

Args: filename: Aseprite file to read x: Top-left x coordinate y: Top-left y coordinate width: Width of the region height: Height of the region layer_name: Layer to read from (uses active layer when empty) frame_index: Frame index starting at 1

Returns: JSON array of {x, y, hex, r, g, b, a} objects

flip_layerB

Flip a layer's image horizontally or vertically.

Args: filename: Aseprite file to modify layer_name: Layer name to flip frame_index: Frame index starting at 1 direction: "horizontal" or "vertical"

rotate_layerA

Rotate a layer's image 90, 180, or 270 degrees clockwise.

Args: filename: Aseprite file to modify layer_name: Layer name to rotate frame_index: Frame index starting at 1 angle: Rotation angle: 90, 180, or 270 (clockwise)

resize_canvasB

Scale the canvas and all its content to new dimensions.

Args: filename: Aseprite file to modify width: New canvas width in pixels height: New canvas height in pixels

crop_canvasA

Crop the canvas to the given rectangle, discarding content outside it.

Args: filename: Aseprite file to modify x: Left edge of the crop area y: Top edge of the crop area width: Width of the crop area height: Height of the crop area

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

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/diivi/aseprite-mcp'

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