MCP server for interacting with the Aseprite API
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"aseprite": {
"args": [
"--directory",
"/path/to/repo",
"run",
"-m",
"aseprite_mcp"
],
"command": "/opt/homebrew/bin/uv"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
A Python module that serves as an MCP server for interacting with the Aseprite API
No automated test available for this server. Check the GitHub README for setup instructions.
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
No package registry to scan.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in design / entertainment
MCP server for accessing Figma plugin console logs and screenshots via Cloudflare Workers or local mode
The official MCP Server for the Mux API
GoPeak — The most comprehensive MCP server for Godot Engine. 95+ tools, LSP, DAP, screenshots.
Swirl Design System AI package with artifacts for AI agents
MCP Security Weekly
Get CVE alerts and security updates for Aseprite Mcp and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
A Python MCP server that gives AI assistants full control over Aseprite for creating pixel art and animated sprites.
104 tools across 17 categories — canvas, drawing, layers, animation, palettes, effects, slices, tilemaps, exports, visual-feedback/analysis tools, and a raw Lua escape hatch. The tool set is designed so an LLM has everything it needs to produce good pixel art, not just primitives: shading ramps with hue shifting, ordered dithering, outlines, retro palette presets with quantization, onion-skin renders, and frame diffing for animation work.
![]() | ![]() |
| Task 1 — "Draw me a pixel art of a swordsman." 32×32 still, exported at 10×. | Task 2 — "…a sword slash attack sequence, from windup to follow-through." 4-frame animation, exported with export_tag. |
![]() | |
The same slash as a spritesheet (export_spritesheet): windup → extension → swing → follow-through. | |
Both were created end-to-end by Claude Fable 5 through this server's MCP tools — drawing, checking its own work with scaled export_frame previews and render_onion_skin, then exporting. The tasks recreate the benchmark from Draw Me a Swordsman by Lj Miranda, whose findings inspired this server's expanded toolset.
| Category | Tools | Description |
|---|---|---|
| Canvas | 6 | Create sprites, manage layers/frames, set the active state |
| Drawing | 14 | Pixels, lines, rectangles, circles, ellipses, polygons, paths, fills, gradients |
| Layers | 7 | Delete, rename, duplicate, reorder, blend modes, merge, flatten |
| Selection & Regions | 4 | Move, copy, and erase rectangular regions or colors |
| Effects | 5 | Outlines, color replacement, HSL adjustment, ordered dithering |
| Animation | 24 | Frames, cels, tags, tweening with easing, propagation |
| Palette | 8 | Get/set palettes, retro presets, color ramps, quantization, color modes |
| Transform | 4 | Flip, rotate, resize, crop |
| Slices | 5 | Named regions, 9-patch centers, pivot points |
| Tilemap | 5 | Tilemap layers, tileset editing, tile placement |
| Export & Import | 7 | PNG, GIF, sprite sheets, per-layer/per-tag export, image import |
| Inspection | 3 | Read pixels and sprite metadata |
| Analysis & Visual Feedback | 3 | Onion-skin renders, frame diffing, color statistics |
| Quality | 4 | Validate and sanitize animation consistency |
| Scene | 1 | Copy layers between sprite files |
| Preview & Guide | 3 | Local HTTP preview server, workflow guide |
| Scripting | 1 | Raw Lua escape hatch for anything not covered above |
| Tool | Description |
|---|---|
create_canvas | Create a new sprite with the given dimensions |
add_layer | Add a new layer, optionally inside a named group |
add_group | Add a new (optionally nested) group layer |
add_frame | Append a new frame |
set_frame | Set the act |