Skip to main content
Glama
jdsalasca

Aseprite Asset MCP

by jdsalasca

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ASEPRITE_PATHNoPath to the Aseprite executable. Required if Aseprite is not in the PATH.

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
}

Tools

Functions exposed to the LLM to take actions

NameDescription
server_capabilitiesA

List the typed TypeScript MCP capabilities available to the current server.

get_tools_listB

List tool folders and counts. Use this before loading a tool folder.

get_tools_by_folderC

List concise tools in one folder. Use a parent folder to inspect its subfolders.

get_tools_searchA

Search a compact subset of tools by name, description, or folder to reduce context usage.

convert_image_to_pixel_artB

Convert one image to pixel art with a deterministic shared palette.

convert_animation_to_pixel_artB

Convert all image frames to pixel art and preserve animation delays.

upscale_pixel_artB

Upscale one image or animation with deterministic nearest-neighbor pixels and preserved transparency.

harmonize_asset_paletteA

Apply a deterministic accent palette to a PNG or GIF, preserve transparency and timing, and cap output colors without overwriting the source.

build_contact_sheetC

Fit heterogeneous sprite previews into a deterministic nearest-neighbor contact sheet and write a navigable JSON manifest.

export_animation_gifB

Convert a PNG, GIF, or animated image into a GIF while preserving frames.

inspect_asset_bundleC

Inspect one asset and return compact quality violations and deterministic recommendations in one call.

inspect_asset_batchB

Inspect up to 32 sprites in one deterministic quality pass and return a compact collection summary.

inspect_animation_qualityB

Audit an animation for duplicate frames, timing, palette drift, movement bounds, and loop seam issues.

normalize_spriteA

Crop one or more raster frames to shared alpha bounds, add deterministic padding and write pivot metadata without overwriting the source.

build_animation_sheetA

Assemble all frames of a PNG or GIF into a deterministic PNG spritesheet and write coordinates, bottom-center pivots, and delays to a manifest.

inspect_sprite_geometryA

Inspect per-frame alpha bounds, connected components, baseline, and bottom-center pivots for scene placement.

generate_sprite_hitboxesB

Generate a deterministic collision manifest from sprite geometry using component or union hitboxes with bounded padding.

build_sprite_runtime_bundleC

Build one deterministic runtime bundle with an animation sheet, timing manifest, and sprite hitbox manifest.

generate_sprite_anchorsC

Generate deterministic placement anchors from sprite geometry for scene composition and game-engine transforms.

export_asset_packC

Export an atlas PNG and a compact JSON manifest in one call.

run_asset_recipeC

Run one compact asset recipe or return its dry-run plan.

batch_asset_jobC

Run several compact asset recipes in order or return one batch plan.

create_style_bibleC

Create a deterministic visual style contract for sprites and maps.

inspect_referenceB

Analyze reference dimensions, dominant colors, contrast, edges, and transparency.

run_asset_quality_gateC

Run compact pixel-art quality checks before export.

build_terrain_tilesetC

Build a deterministic terrain tileset with adjacency variants and metadata.

generate_world_mapB

Generate a seeded multi-biome map manifest and optional preview.

generate_beach_sceneC

Generate a seeded beach map, preview, and animated wave GIF.

extend_sceneB

Extend an existing deterministic scene around its borders while preserving the original layers and landmarks.

generate_biome_transitionA

Generate deterministic transition metadata and a preview overlay between adjacent map biomes without mutating the source map.

apply_material_textureC

Apply deterministic water, earth, grass, stone, or snow granularity while preserving transparency and source data.

apply_depth_lightingA

Apply deterministic depth-aware directional lighting to a sprite while preserving transparency and source data.

generate_environment_packC

Generate a complete beach, forest, village, or cave asset pack.

apply_pixel_outlineC

Add a deterministic pixel outline around opaque sprite edges.

apply_color_gradeC

Apply deterministic brightness, contrast, and saturation grading to a sprite.

generate_sprite_shadowC

Generate a deterministic clipped sprite shadow from alpha data.

generate_particle_burstB

Generate a deterministic animated particle burst GIF for impact, healing, magic, or dust.

generate_normal_mapC

Generate a deterministic tangent-space normal map from sprite alpha depth.

generate_rain_overlayC

Generate a deterministic rain overlay while preserving the source dimensions and frame timing.

generate_motion_packB

Generate a deterministic idle, walk, run, jump, or attack cycle from a static or animated sprite.

generate_seamless_textureC

Make opposite texture borders match deterministically for repeatable water, earth, stone, or grass backgrounds.

generate_water_reflectionC

Generate a deterministic animated reflection below a waterline for oceans, beaches, and wave scenes.

generate_water_causticsB

Generate deterministic animated light caustics over opaque water pixels for oceans, pools, beaches, and flooded interiors.

generate_day_night_cycleC

Generate a deterministic animated day, sunset, night, and sunrise cycle while preserving transparency and source dimensions.

generate_source_variant_packB

Generate a deterministic multi-output environmental variant pack for one source asset: rain, fire, earthquake, birds, night, movement, and water effects.

generate_asset_presetC

Generate one executable world preset with terrain, map, preview, and deterministic time-of-day artifacts.

generate_scene_effect_stackC

Generate a deterministic compact package of selected scene effects while preserving the source: rain, particles, water motion, day/night, material grain, and directional lighting.

create_asset_recipeA

Compose a deterministic, reviewable multi-effect asset recipe without executing it.

execute_asset_recipeC

Execute a deterministic composed asset recipe through the shared visual services.

get_asset_libraryC

Search the deterministic asset/preset library with compact results for humans and agents.

get_asset_library_itemA

Resolve one library item and its README, preview, sprite sheet, and variants.

get_asset_presetC

Resolve a ready-to-compose scene preset and its recommended MCP tools.

compose_asset_presetB

Compose one scene preset into compact assets and ordered layers for a single low-token request.

audit_asset_libraryA

Audit library ids, preset references, categories, folders, and navigable asset paths before composing a scene.

summarize_asset_libraryA

Return compact category and preset navigation metadata for the asset library with minimal tokens.

plan_asset_sceneA

Plan ordered scene layers from selected asset library ids without generating files or loading full asset details.

compose_asset_sceneC

Compose selected library previews into a deterministic PNG and navigable manifest.

compose_asset_scene_animationC

Compose selected animated library previews into a deterministic GIF and frame manifest.

generate_library_variant_packB

Generate deterministic environmental variants for multiple asset library ids with one compact request.

audit_asset_manifestA

Audit files referenced by a generated manifest, including missing, empty, format, and SHA-256 metadata.

recommend_asset_sceneC

Recommend a compact, deterministic set of compatible library assets for a scene, with explainable reasons and covered tags/effects.

build_scene_bundleC

Build a static PNG scene, animated GIF scene, and both navigation manifests through one deterministic operation.

suggest_enhancement_planA

Inspect one image and return a deterministic, non-destructive enhancement plan for an agent or human review.

apply_enhancement_planB

Apply a deterministic enhancement plan to a new output file while preserving the source asset.

apply_enhancement_batchA

Enhance up to 24 assets in one deterministic batch, isolating per-file failures and preserving every source.

start_asset_jobB

Start a compact asynchronous batch asset job and return its job id.

get_asset_job_statusC

Read one asynchronous asset job without returning raw pixels.

cancel_asset_jobA

Request cancellation of a queued or running asset job.

create_canvasC

Create a new Aseprite canvas.

add_groupC

Add a named layer group to an Aseprite document.

add_layerC

Add a named layer, optionally inside a group.

delete_layerC

Delete a named layer from an Aseprite document.

rename_layerC

Rename a named layer.

duplicate_layerC

Duplicate a layer and its cels across all frames.

reorder_layerC

Move a layer to a one-based stack position.

set_layer_blend_modeC

Set a layer blend mode supported by Aseprite.

merge_layer_downC

Merge a layer into the layer below it.

flatten_spriteB

Flatten all layers into one layer.

add_frameC

Add one animation frame.

add_framesC

Add a deterministic number of animation frames.

set_frameB

Set the active animation frame by one-based index.

set_frame_durationB

Set one animation frame duration in milliseconds.

set_frame_duration_allC

Set all animation frame durations in milliseconds.

set_layer_visibilityC

Set a named layer visibility.

set_layer_opacityB

Set a named layer opacity from 0 to 255.

draw_pixelsC

Draw explicit pixels on the active cel.

draw_lineC

Draw a Bresenham line with optional pixel thickness.

draw_rectangleC

Draw a filled or outlined pixel-art rectangle on the active Aseprite layer.

fill_areaC

Fill a contiguous area from a seed pixel.

draw_circleC

Draw an ellipse-bounded circle.

draw_pixels_atC

Draw explicit pixels on a named layer and animation frame, creating the cel when requested.

draw_line_atB

Draw a Bresenham line on a named layer and animation frame.

draw_rectangle_atB

Draw a filled or outlined rectangle on a named layer and animation frame.

fill_area_atC

Fill a contiguous area on a named layer and animation frame.

draw_circle_atC

Draw an ellipse-bounded circle on a named layer and animation frame.

draw_polygonC

Draw a filled or outlined polygon on a named layer and animation frame.

draw_pathD

Draw a polyline on a named layer and animation frame.

apply_gradient_rectA

Apply a horizontal or vertical linear gradient to a rectangle on a named layer and animation frame.

draw_ellipse_atC

Draw a filled or outlined ellipse on a named layer and animation frame.

export_spriteC

Export a sprite to a selected image format and confirm that Aseprite wrote an output file.

copy_spriteA

Copy a sprite to another Aseprite document, refusing to overwrite by default.

export_frameC

Export one animation frame as a PNG with nearest-neighbor integer scaling.

export_layersC

Export each layer as a PNG and confirm that at least one new layer file was written.

export_tagC

Export an animation tag as an image or animation file after validating that the tag exists.

import_image_as_layerC

Import an image into a named layer and frame, creating the layer when it does not exist.

create_celA

Create an empty cel at a layer and frame when one does not already exist.

clear_celC

Delete a cel from a named layer and frame.

copy_celB

Copy one layer cel to another frame, replacing the destination by default.

copy_frameC

Copy all cels from one frame to another frame or append a new frame.

set_cel_positionC

Set one cel position, optionally creating it from a source cel.

tween_cel_positionsB

Tween cel positions linearly across a frame range.

offset_cel_positionsC

Offset cel positions across a frame range.

propagate_frame_to_rangeC

Propagate all source-frame cels to a frame range.

delete_frameB

Delete one animation frame while keeping at least one frame in the sprite.

delete_tagC

Delete an existing animation tag.

set_onion_skinC

Validate onion-skin settings for batch workflows; Aseprite UI-only settings are reported explicitly.

render_onion_skinC

Render neighboring animation frames as translucent onion-skin ghosts into a PNG.

compare_framesA

Compare two flattened animation frames and return changed-pixel metrics as JSON.

set_cel_opacityB

Set one cel opacity from 0 to 255.

get_color_statsC

Return JSON color usage statistics for one flattened frame.

get_paletteB

Return the active sprite palette as a JSON color array.

set_paletteC

Apply a controlled hexadecimal palette to a document.

extract_paletteC

Extract and persist an optimized palette with a bounded color count.

remap_colors_in_cel_rangeB

Remap explicit RGB colors across a layer frame range while preserving alpha.

list_palette_presetsA

List built-in retro palette presets.

apply_palette_presetC

Apply a built-in retro palette preset to the sprite.

generate_color_rampC

Generate a hue-shifted dark-to-light pixel-art color ramp.

quantize_to_paletteC

Snap opaque pixels to the nearest color in the active palette.

set_color_modeC

Convert a sprite to RGB, grayscale, or indexed color mode.

get_pixel_colorC

Read one RGBA pixel from a cel.

get_pixels_rectB

Read a rectangular RGBA region from a cel as JSON.

get_composite_pixelC

Read one RGBA pixel from the visible flattened composite.

get_composite_rectC

Read a visible flattened composite region as JSON.

move_regionC

Move a rectangular region within a cel, clearing its source.

copy_regionC

Copy a rectangular region to a layer and frame destination.

erase_regionC

Erase a rectangular region to transparency.

erase_colorB

Erase opaque pixels matching a color within channel tolerance.

flip_layerC

Flip a layer cel horizontally or vertically.

rotate_layerB

Rotate a layer cel 90, 180, or 270 degrees clockwise.

resize_canvasC

Resize the sprite canvas and its content.

crop_canvasC

Crop the sprite canvas to a rectangle.

list_text_fontsA

List discoverable TrueType and OpenType fonts.

measure_textA

Measure a text run without changing a sprite.

draw_textB

Rasterize and draw text into a sprite layer and frame.

draw_on_tileC

Draw pixels onto a tilemap tileset tile.

set_tilesC

Place tile indices on a tilemap frame by grid coordinates.

get_tile_atB

Read the tile index at a tilemap grid coordinate.

get_tilemap_infoB

Read tile size, tileset count, and map dimensions.

create_sliceC

Create a named rectangular slice.

set_slice_centerC

Set a slice 9-patch center rectangle.

set_slice_pivotC

Set a slice pivot point.

list_slicesB

List slice bounds, centers, and pivots as JSON.

delete_sliceC

Delete a named slice.

ensure_layers_presentC

Ensure cels exist for named layers across a frame range.

audit_animationC

Audit animation cels, overlaps, and declared frame ranges.

animation_sanitizeD

Normalize animation cels and optionally repair out-of-range activity.

start_preview_serverC

Serve a validated local directory over HTTP for visual asset preview.

stop_preview_serverA

Stop a preview server started by this MCP process.

copy_layers_between_spritesC

Copy selected animation layers and cels from one Aseprite document into another.

get_sprite_infoA

Read sprite dimensions, color mode, frame durations, layers, and tags as JSON.

duplicate_frame_rangeC

Append one or more copies of an inclusive animation frame range.

propagate_celsC

Copy selected layer cels from one source frame across a frame range.

tween_cel_positions_easedC

Tween cel positions across frames with deterministic easing.

oscillate_cel_positionsC

Apply sine-wave position offsets to cels across frames.

tween_cel_opacity_easedC

Tween cel opacity from 0 to 255 across frames with easing.

tween_cel_scale_easedA

Scale a source cel across frames with easing and a stable anchor.

set_layerC

Set the active layer by name, optionally creating it.

animation_workflow_guideA

Return a concise deterministic guide for character, environment, or general animation workflows.

run_lua_scriptB

Run a bounded, trusted Aseprite Lua script as an escape hatch; dedicated tools are preferred.

create_character_planC

Create a deterministic, auditable TypeScript plan for a layered character and its Godot exports.

create_scene_planC

Create a deterministic, auditable TypeScript plan for a tilemap scene and its Godot exports.

outline_nativeC

Apply Aseprite native outline to a selected layer and frame.

adjust_hsl_nativeC

Apply Aseprite native hue, saturation, and lightness adjustment.

adjust_brightness_contrastC

Apply Aseprite native brightness and contrast adjustment.

invert_colorsC

Apply Aseprite native color inversion.

replace_colorB

Replace a cel color while preserving alpha and allowing channel tolerance.

adjust_hslA

Shift hue, saturation, and lightness on an opaque cel while preserving alpha.

apply_convolutionC

Apply a built-in Aseprite convolution matrix to a layer and frame.

list_convolution_matricesA

List the built-in convolution matrices supported by Aseprite.

apply_dither_gradientC

Fill a rectangle with a two-color Bayer-dithered gradient.

apply_dither_patternC

Fill a rectangle with a uniform Bayer-dithered mix of two colors.

set_tagC

Create or update an animation tag.

create_tilemap_layerC

Create a tilemap layer and set the Aseprite grid.

validate_sceneA

Validate required layers and the requested frame range before export.

export_spritesheetC

Export a spritesheet and optional frame metadata for Godot.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

C2.6/5.0

Scored across 185 tools

Disambiguation2/5

Many tools perform nearly the same operation with small variations, such as draw_pixels/draw_pixels_at, adjust_hsl/adjust_hsl_native, apply_dither_gradient/apply_dither_pattern, and numerous generate_*_pack/compose_*_scene generators. The descriptions help, but the boundaries are not obvious from names alone, so an agent can easily pick the wrong variant.

Naming Consistency4/5

The overwhelming majority of tools use a readable snake_case verb_noun pattern (create_canvas, export_sprite, get_palette, set_frame_duration), and _at suffixes consistently mark layer/frame-targeted variants. Minor exceptions like server_capabilities, animation_workflow_guide, and outline_native break the pattern but do not obscure the overall scheme.

Tool Count1/5

185 tools is far beyond a well-scoped MCP surface; even a comprehensive Aseprite workflow does not need this many first-class entry points. This is an extreme count that will force agents to spend excessive tokens and effort on tool selection.

Completeness4/5

The surface is unusually broad: document/layer/frame/cel editing, palettes, tilemaps, text, slices, animation, exports, batch jobs, and procedural asset generation are all covered. Minor lifecycle gaps such as no explicit document save/close/delete and only validated onion-skin settings remain, but run_lua_script and export tools provide workarounds.

Maintenance

ActivityMaintained
ResponsivenessNo issues