Aseprite MCP logo

Aseprite MCP

by diivi

Controls Aseprite through MCP to create, edit, inspect, and animate pixel-art sprites.

Install Aseprite MCP

Run the project’s own setup commands, in order.

Setup steps from the project

diivi/aseprite-mcp installs with its own commands rather than a config we can generate, so these are copied as-is. Run them in order in a terminal. Source: github.com

  1. 1. Install
    docker build -t aseprite-mcp:latest .
    
  2. 2. Start the server
    docker run -it --rm aseprite-mcp:latest
    
  3. 3. Start the server
    docker-compose up aseprite-mcp
    
  4. 4. Start the server
    docker-compose --profile dev up aseprite-mcp-dev
    
  5. 5. Start the server
    docker run --rm -i --env-file .env aseprite-mcp:latest
    

Overview

diivi/aseprite-mcp connects AI assistants to Aseprite through a Python MCP server for pixel-art and animated-sprite workflows. Its toolset covers canvas structure, raster drawing, text, layers, animation, palettes, effects, tilemaps, imports, exports, inspection, and visual feedback. Reach for it when an agent needs to build or revise sprites inside Aseprite rather than only generate standalone images. It also includes a raw Lua escape hatch for operations outside the higher-level tools.

Use cases

  • Create pixel-art sprites and props
  • Build and edit animated sprite sheets
  • Compose layered Aseprite scenes
  • Render labels and interface text
  • Inspect and validate animation frames

Key features

  • Aseprite control through MCP
  • Pixel, shape, gradient, and flood-fill drawing
  • Layer, group, frame, and animation management
  • Palette, effect, transform, tilemap, and export tools
  • Text measurement and rasterized text rendering
  • Sprite inspection and visual feedback

Tools80

What Aseprite MCP lets your agent do. Expand a tool for its parameters.

Self-reported~1.2k tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked

Recent health check succeeded.

27/27 checks healthy over the last 97d

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars1kStargazers on the source repository.
Last commit11d agoMost recent push to the default branch.
Tools exposed80Callable tools this server registers over MCP.
Directory activity12 viewsConfig copies, upvotes, and views on AllMCPs.

How Aseprite MCP works

What diivi/aseprite-mcp does

Aseprite becomes controllable through MCP with diivi/aseprite-mcp, a Python server intended for creating and editing pixel art and animated sprites. The repository describes 123 tools organized into 18 categories. These cover the sprite canvas, raster drawing, text, layers, regions, effects, animation, palettes, transforms, slices, tilemaps, import and export, inspection, analysis, quality checks, scene operations, previews, and scripting.

The server supports both construction and revision workflows. An agent can create a sprite, establish layers and frames, place pixels or geometric shapes, add text, adjust layer structure, and prepare an animation. Inspection and feedback tools let a workflow examine pixels, metadata, previews, frame differences, bounds, colors, and animation consistency.

How it works

The MCP client sends tool calls to the Python server, which uses Aseprite’s API to operate on sprites. Canvas tools establish dimensions and active state; drawing tools then target the current or an explicitly selected layer and frame. Variants ending in _at can address a particular layer and frame directly, and can create the required cel when needed. Coordinates are expressed in sprite-global space.

For compact, hand-authored details, draw_rows accepts character rows plus a color legend. It can leave unmatched characters untouched and optionally add a one-pixel outline. draw_iso_box creates a solid 2:1 isometric box with separate colors for its faces, which is useful for props and furniture.

Animation work can append frames, select frames, assign durations, and use the broader animation and quality categories for frame-oriented workflows. Export tools cover formats and views such as PNG, GIF, sprite sheets, per-layer output, per-tag output, and previews on a background.

Tools and capabilities

  • Create sprites and manage layers, groups, active frames, and frame durations.
  • Draw pixels, lines, rectangles, circles, ellipses, polygons, paths, gradients, and flood fills.
  • Render compact pixel designs with character rows and construct isometric boxes.
  • List fonts, measure text, and draw text with anchors, faux bold, outlines, shadows, and letter spacing.
  • Duplicate, rename, reorder, merge, flatten, delete, and change the blend mode of layers.
  • Work with palettes, effects, transforms, slices, tilemaps, animation data, and sprite regions.
  • Inspect pixels and metadata, generate previews and onion-skin renders, compare frames, check bounds, and run lint or quality validation.
  • Use a raw Lua tool for Aseprite operations not covered by the higher-level interface.

Text rendering is handled on the server because Aseprite’s Lua API does not provide text drawing. Bitmap sprite-sheet fonts and TrueType fonts are supported. Fonts can come from the server’s ~/.aseprite-mcp/fonts directory, installed system fonts, or a direct font path.

Limitations and notes

Text layout should generally begin with measure_text; it returns the dimensions and baseline information used by draw_text, allowing labels and panels to be positioned before rendering. Bitmap fonts are suited to pixel-art output because their glyphs are already rasterized and their size scales by whole numbers. TrueType files can be rendered without antialiasing unless antialiasing is requested.

The repository’s examples include still sprites, multi-frame animations, isometric scenes, and exported GIF or PNG results. The listed tool categories extend beyond the individual canvas and drawing operations, so the short tool list commonly shown in integrations represents only part of the complete interface.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Aseprite MCP

diivi/aseprite-mcp is an MCP server that connects AI assistants to Aseprite through its API and exposes tools for creating canvases, drawing pixels and shapes, managing layers and frames, rendering text, inspecting sprites, and building animated pixel art. It is implemented in Python and also provides a raw Lua escape hatch.

Installation steps are not included in the available project details. The server is described as a Python MCP server that operates Aseprite through its API.

Yes, it supports animated sprites through frame creation, frame selection, frame durations, animation tools, previews, frame diffs, onion-skin renders, and animation quality checks.

Yes, it provides `list_text_fonts`, `measure_text`, and `draw_text`. Text is rasterized by the server because Aseprite’s Lua API does not provide text drawing; bitmap sprite-sheet and TrueType fonts are supported.

Yes, it can create, delete, rename, duplicate, reorder, merge, and flatten layers, add nested groups, set blend modes, and move layers within the stack.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewAseprite MCP AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/diivi-aseprite-mcp?style=directory)](https://allmcps.com/mcp/diivi-aseprite-mcp)
HTML Embed
<a href="https://allmcps.com/mcp/diivi-aseprite-mcp"><img src="https://allmcps.com/api/badge/diivi-aseprite-mcp?style=directory" alt="Aseprite MCP on AllMCPs" /></a>