Labsco
MCP SERVER

Aseprite MCP

by ext-sakamoro

Drive Aseprite from a conversation: create sprites, draw shapes, manage layers and frames, apply retro palettes, and batch-process a whole folder.

Image Analysis, OCR & Vision
Summary
Batch operations are where this stops being a novelty.

Drawing a rectangle by conversation is a demo. Resizing every sprite in a directory to half scale, or applying one palette across a folder with backups, is the work that would otherwise be an afternoon of clicking. The security settings deserve a look before you point it at anything: allowed_directories and a maximum file size are configurable, and they bound what generated Lua can touch.

What it is

A Python MCP server that generates Lua for Aseprite and runs it against your local installation. It covers drawing, palettes, export and bulk operations, with input validation and path-traversal protection between the model and your filesystem.

What you get
  • create_canvas makes a sprite; add_layer and add_frame build up layers and animation frames
  • draw_pixels, draw_line, draw_rectangle, draw_circle and fill_area cover drawing, with hex colours, fill and thickness options and a tolerance on the fill
  • apply_preset_palette applies gameboy, gameboy-pocket, nes, pico-8, cga, monochrome or sepia; create_palette takes your own hex list
  • extract_palette_from_image pulls colours out of a reference image, get_palette_info reports what a sprite uses, and remap_colors swaps one colour for another throughout
  • export_sprite writes out with a scale and an optional frame range; export_layers writes each layer separately
  • batch_resize, batch_export and batch_apply_palette process a directory with a file pattern, and batch_process_custom runs your own Lua across a file set
  • Configuration through JSON or YAML sets canvas limits, parallel batch jobs, allowed directories and a maximum file size
Requirements

Python 3.13 or newer and a separately installed copy of Aseprite. ASEPRITE_PATH must point at the executable — for example /Applications/Aseprite.app/Contents/MacOS/aseprite on macOS. Run with uv or as `python -m aseprite_mcp` from a checkout; ASEPRITE_MCP_LOG_LEVEL controls logging.

Setup effort

Build from source — clone the repository and build it, then point your client at the binary