mcp-aseprite
Provides tools for controlling the Aseprite pixel-art editor: inspecting sprite metadata, exporting frames and spritesheets with metadata, creating new sprites, editing pixels/layers/frames/tags/palettes via Lua scripting, and running arbitrary Aseprite CLI commands.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-asepritecreate a 32x32 sprite and export a packed spritesheet with JSON metadata"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-aseprite
An MCP server that gives AI assistants (Claude Code, Claude Desktop, Cursor and any other MCP client) full control of Aseprite, the pixel-art editor.
It wraps both the Aseprite command line and its Lua scripting API, so an assistant can inspect sprites, export frames and spritesheets, create new files, and edit pixels, layers, frames, tags and palettes. All of it runs headless in batch mode, with no window.
You: Create a 32x32 sprite with a 4-frame "idle" tag, then export it as a
packed spritesheet with JSON metadata for my game.
Claude: → aseprite_create_sprite → aseprite_run_script → aseprite_export_spritesheet
Done: hero.png + hero.json (4 frames, tag "idle" 0–3).Tools
Tool | What it does |
| Sprite metadata as JSON: size, color mode, frames, palette size, layers, tags, slices, frame durations |
| Export to PNG/GIF/JPG… with frame range, layer filter, scale, color-mode conversion and split by layer/tag |
| Pack into a spritesheet with JSON metadata (hash or array), trim, merge duplicates, 5 layouts |
| Create a new |
| Run arbitrary Lua against the Aseprite API. Optionally opens a sprite first and saves it afterwards |
| Same as above, for a |
| List layer names (optionally including hidden ones) |
| List animation tags |
| List slices |
| Escape hatch: run the Aseprite binary with any arguments |
aseprite_run_script is where the power is: anything the Aseprite scripting API can do (drawing pixels, adding frames, applying palettes, resizing, building animations) is available to the assistant. Output from Lua print() comes back as the tool result.
Related MCP server: mnehmos.aseprite.mcp
Requirements
Aseprite v1.2.10 or newer (Steam or standalone). The trial version has no CLI and will not work.
Node.js 18+
Installation
git clone https://github.com/brunosr3003/mcp-aseprite.git
cd mcp-aseprite
npm installClaude Code
claude mcp add aseprite --scope user -- node /absolute/path/to/mcp-aseprite/index.jsClaude Desktop, Cursor and other clients
Add this to the client's MCP config (for example claude_desktop_config.json):
{
"mcpServers": {
"aseprite": {
"command": "node",
"args": ["/absolute/path/to/mcp-aseprite/index.js"]
}
}
}Finding Aseprite
The server looks for the Aseprite binary in the usual Steam and standalone install locations:
OS | Checked paths |
macOS |
|
Windows |
|
Linux |
|
If none of these exist it falls back to aseprite on your PATH. To point to a custom location, set ASEPRITE_BIN:
{
"mcpServers": {
"aseprite": {
"command": "node",
"args": ["/absolute/path/to/mcp-aseprite/index.js"],
"env": { "ASEPRITE_BIN": "/path/to/aseprite" }
}
}
}Notes
Use absolute paths for every file argument. Relative paths resolve against the server's working directory, not yours.
Frame numbers in tool arguments and in
aseprite_infooutput are 0-indexed. Inside Lua scripts the Aseprite API is 1-indexed as usual.Each call runs a fresh Aseprite process, so state does not carry over between calls. To keep changes, save within the same call (
save: true,saveAs, orsprite:saveAs()in your script).aseprite_run_scriptexecutes arbitrary Lua with Aseprite's permissions, including file access. Only connect this server to assistants you trust.
License
MIT © Bruno Soares Reis
Aseprite is a trademark of Igara Studio S.A. This project is not affiliated with or endorsed by Igara Studio.
This server cannot be deployed
Maintenance
Related MCP Connectors
Generate, edit, style-match, turn, and animate game-ready pixel art at exact sizes.
Generate pixel art sprites, animations, 8-direction rotations and palettes for games.
Create AI animations and export transparent sprite sheets, alpha video, frames, and game assets.
Generate authentic pixel art - sprites, animations, and tilesets - from any MCP client
Related MCP Servers
- AlicenseCqualityDmaintenanceEnables AI assistants to automate Aseprite tasks such as sprite sheet export, frame extraction, and Lua scripting for sprite manipulation.2135 npm1MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to create, inspect, edit, and export pixel art, sprites, animations, and spritesheets using headless Aseprite, and to convert arbitrary images into indexed pixel art.MIT
- AlicenseBqualityCmaintenanceEnables AI assistants to create and edit pixel art and animated sprites in Aseprite through 104 tools covering drawing, layers, animation, palettes, tilemaps, exports, visual analysis, and raw Lua scripting.116MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to draw, animate, and export game-ready pixel art and sprite sheets through a local Aseprite installation, including palette work, layer rigging, and cleanup of AI-generated frames. It also offers a CLI for running the same animation recipes in a game asset pipeline.MIT