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: 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 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
Control Unreal Engine to browse assets, import content, and manage levels and sequences. Automate…
Related MCP Servers
- AlicenseCqualityDmaintenanceEnables AI assistants to automate Aseprite tasks such as sprite sheet export, frame extraction, and Lua scripting for sprite manipulation.2115 npm1MIT
- AlicenseCqualityBmaintenanceEnables AI assistants to control Aseprite for drawing and editing images through its API.59605MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to drive Aseprite for pixel-art creation, including sprite setup, grid-based drawing, layer/frame/tag management, reference image import, and export, with rendered previews after every mutation.MIT
- 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