Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ASEPRITE_MCP_PORTNoThe port for the local WebSocket server used to communicate with the Aseprite bridge (default is 32123).

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
aseprite_statusB

Returns connection status with Aseprite, open document details, dimensions, color mode, layers, frames, active layer/frame, and revision.

get_sprite_infoA

Returns complete structural information about the active sprite, including dimensions, color mode, layers hierarchy, animation frames, active layer/frame, and revision.

get_canvasB

Renders the active sprite canvas/frame as a crisp PNG image using nearest-neighbor scaling. Returns official MCP image content.

get_pixel_gridA

Returns exact pixel values from the canvas or cel in absolute canvas coordinates (0,0 is top-left). Supports hex, rgba, indexed, or token-saving compact format.

inspect_spriteA

PRIMARY VISION TOOL: Inspects the active sprite. In a single call returns: crisp PNG image content, sprite dimensions, active layer and frame, revision, and compact pixel matrix.

get_pixel_grid_previewB

Generates an enlarged visual inspection PNG with nearest-neighbor scaling, 1px pixel grid separators, X/Y coordinate rulers, and optional highlights.

set_pixelsA

PRIMARY DRAWING TOOL: Paints tens to thousands of pixels in a single batch operation and single atomic undo step. Returns modified count, affected bounding box, and optional updated preview.

set_pixelA

Paints a single pixel at (x, y) with the specified color within an atomic undo transaction.

erase_pixelsB

Erases a list of pixel coordinates by turning them transparent (#00000000) within a single undo transaction.

undoA

Undoes the most recent editing tool call or transaction on the active sprite.

redoA

Redoes the most recently undone editing operation on the active sprite.

new_spriteC

Creates a new blank sprite document in Aseprite with specified dimensions and color mode.

open_spriteB

Opens an existing sprite file (.ase, .aseprite, .png) from disk.

save_spriteA

Explicitly saves the active sprite to disk. (Saves only when explicitly requested).

save_sprite_asC

Saves the active sprite to a specific target file path on disk.

export_pngC

Exports the active sprite or frame to a PNG image file on disk.

resize_canvasC

Resizes the active sprite canvas dimensions without interpolation or blurring.

draw_lineB

Draws a pixel art line from (x1, y1) to (x2, y2) using Bresenham's algorithm in a single undo transaction.

draw_rectangleA

Draws a rectangle (outline or filled) on the canvas in a single undo transaction.

draw_ellipseB

Draws an ellipse (outline or filled) within a bounding box in a single undo transaction.

flood_fillB

Fills a contiguous area of matching pixels starting from (x, y) with color in a single undo transaction.

replace_colorC

Replaces all occurrences of fromColor with toColor across the cel or sprite in a single undo transaction.

get_changes_sinceA

Differential inspection: returns modified regions and pixel deltas since a specified revision number, avoiding re-reading the entire canvas.

list_layersA

Lists all layers in the active sprite with visibility, opacity, blend mode, and hierarchy position.

create_layerB

Creates a new image layer in the active sprite.

rename_layerC

Renames an existing layer.

delete_layerB

Deletes a layer from the active sprite. Requires confirm: true for safety.

select_layerC

Sets the active working layer in Aseprite.

set_layer_visibilityC

Shows or hides a layer.

set_layer_opacityC

Adjusts opacity for a layer (0 to 255).

move_layerC

Reorders a layer position in the layer stack.

create_groupC

Creates a folder layer group for organizing layers.

list_framesA

Lists all animation frames with their frame numbers and durations in milliseconds.

select_frameC

Changes active frame number in the editor.

create_frameA

Creates a new blank animation frame after the specified frame or at the end.

duplicate_frameC

Duplicates an existing frame and its cels.

delete_frameB

Deletes an animation frame. Requires confirm: true.

set_frame_durationC

Sets duration for a frame in milliseconds.

create_tagC

Creates an animation tag for a range of frames (e.g. 'walk', 'idle').

list_tagsB

Lists all animation tags defined in the sprite.

get_paletteA

Retrieves all colors in the active sprite's color palette with index, RGBA, and HEX values.

set_palette_colorC

Updates the color at a specific palette index.

find_palette_colorB

Finds exact or nearest color match in the active palette using Euclidean distance.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
active-sprite-info
active-sprite-palette
active-sprite-preview

TDQS

B3.1/5.0

Scored across 43 tools

Disambiguation3/5

Several inspection tools overlap significantly: aseprite_status and get_sprite_info return nearly identical structural details, and get_canvas, inspect_sprite, and get_pixel_grid_preview all provide visual/pixel inspection with different granularity. Descriptions clarify 'primary' tools, but an agent still faces multiple plausible choices for common tasks like checking sprite state or viewing the canvas.

Naming Consistency4/5

Names are consistently snake_case and mostly follow a verb_noun pattern (create_frame, list_layers, set_pixel). Minor deviations exist: new_sprite uses 'new' instead of the dominant 'create', aseprite_status is noun-first, and undo/redo are bare verbs.

Tool Count2/5

43 tools is well above the typical 3-15 range and exceeds the 25+ threshold for 'too many' in this rubric. Although Aseprite is feature-rich, several tools are redundant (e.g., get_canvas vs inspect_sprite vs get_pixel_grid; aseprite_status vs get_sprite_info), making the set heavy for an agent to navigate.

Completeness3/5

Core painting, layer, frame, and file workflows are covered, but several resources lack full lifecycle operations. Tags only support create/list (no delete/rename/update range), palette lacks add/remove/resize operations, and frames have no reorder/move tool, creating notable dead ends for common animation tasks.

Maintenance

ActivityMaintained
ResponsivenessNo issues