Aseprite-MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| aseprite_check_environmentB | Check the environment of Aseprite |
| aseprite_export_sheetC | Export Aseprite file to sprite sheet image |
| aseprite_export_framesC | Export each frame of Aseprite file |
| aseprite_export_metadataC | Export metadata json from Aseprite file |
| aseprite_list_lua_templatesA | List available Aseprite Lua templates. |
| auto_crop_transparentC | Automatically crops empty transparent borders of the sprite |
| merge_visible_layersC | Merges all currently visible layers into a single layer |
| normalize_animation_speedC | Normalizes all frame durations to a single target duration (in seconds) |
| recolor_paletteC | Recolors the palette based on a mapping of from->to colors |
| remove_layer_by_nameC | Removes a layer with a given name and saves to a new file (or overwrites) |
| export_layer_onlyB | Exports only the specified layer to a flattened PNG |
| export_tag_framesC | Exports frames inside a specific animation tag to PNG files |
| get_is_layer_existsC | Checks if a layer exists in the active sprite |
| get_is_tag_existsC | Checks if a tag exists in the active sprite |
| get_palette_infoC | Gets information about the palette of the active sprite |
| get_selection_boundsC | Gets the bounds of the selection in the active sprite |
| get_tag_listC | Gets a list of all tags in the active sprite |
| get_layer_listC | Gets a list of all layers in the active sprite |
| get_frame_infoC | Gets information about the current frame |
| get_active_sprite_infoC | Gets information about the active sprite |
| aseprite_run_lua_scriptC | Run a raw Lua script (advanced / unsafe). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 21 tools
All tools have clearly distinct purposes. Export tools target different output types (frames, sheet, metadata, layer, tag frames), get tools retrieve different information, and actions like recolor or merge are unique. No two tools appear to do the same thing.
Naming is inconsistent: some tools use 'aseprite_' prefix while others (e.g., auto_crop_transparent, export_layer_only) omit it. Verb patterns also vary (verb_noun vs. noun_verb). This could confuse an agent expecting a uniform naming scheme.
21 tools cover a broad range of sprite editing operations. The count is on the higher side but justifiable given the complexity of Aseprite. It's well-scoped without being excessive.
The tool set covers querying, exporting, and some editing (layer operations, palette recolor, animation speed). However, it lacks creation tools (new sprite, new layer) and more fundamental editing (drawing, saving). This leaves notable gaps for a complete workflow.