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.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
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 Tools
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.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
Turn images into pixel art, extract and remap palettes, and upscale sprites without blur.
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.
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
- 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
- AlicenseBqualityBmaintenanceEnables 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.17136 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to create layered pixel-art sprites and animations, inspect pixels, and export images, spritesheets, GIFs, APNGs, and TrueType pixel fonts. Documents and edits stay local, accessible over stdio MCP or callable directly from a shell.26MIT