Aseprite Agent MCP server
io.github.SarutobiSasuke8/aseprite-agent-mcp·v0.3.0Create and verify pixel-art assets with atomic Aseprite edits and Phaser export.
0 stars
Reviews
Write oneNobody has reviewed Aseprite Agent MCP yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Aseprite Agent MCP tools (100, 13 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
add_drop_shadowwrite actionAdd a hard drop shadow for a layer's artwork on a new layer placed beneath it.
add_frameAppend a new frame to the animation.
add_group_layerAdd a new (empty) group layer on top of the stack. Nest layers into it with add_layer(group=...) or move_layer(group=...).
add_layerAdd a new (empty) normal layer on top of the stack.
add_outlineAdd a pixel outline around the artwork on a layer.
add_palette_colorAppend a colour to the end of the palette.
add_reference_layerAdd a dimmed, locked layer holding a reference image to trace over.
add_slicewrite actionCreate a slice (named region) at (x, y, width, height).
adjust_brightness_contrastAdjust brightness (-255..255, additive) and contrast (-255..255) of a layer.
adjust_hue_saturationShift hue (degrees) and scale saturation/lightness (percent, -100..100).
apply_operationsApply edit operations atomically. See APPLY_DESCRIPTION for the op vocabulary.
ase_apply_and_previewase_export_cast_atlasValidate several character masters and export them as ONE Phaser atlas.
ase_export_phaserValidate a native master and export a Phaser bundle directory.
ase_preview_animationReturn a labelled contact sheet of every frame, scaled with nearest-neighbour.
ase_validate_asset_contractReopen a native master and check every frame against a contract.
assemble_animationClean 1..128 ordered PNG poses with one palette; save master, sheet and JSON.
build_asset_from_specBuild the asset described by an ``aseprite_mcp.asset_spec.v1`` document.
clear_layerErase the target layer/frame cel to full transparency.
copy_celCopy a cel's image (and position) from one frame to another on the same layer.
copy_frames_fromAppend frames from another sprite file, flattened onto one layer of this sprite.
create_spritewrite actionCreate a new sprite file and save it.
crop_spriteCrop the canvas to the rectangle (x, y, width, height).
delete_celwrite actionDelete a cel (the layer becomes empty at that frame).
derive_mirrored_tagwrite actionCreate a new animation tag by mirroring an existing one (e.g. walk_left from walk_right).
desaturateDesaturate toward grayscale by `amount` percent (0-100).
draw_brushStamp a custom brush shape at a list of points.
draw_curveDraw a quadratic Bézier curve from (x0,y0) to (x1,y1) bending toward the control point (control_x, control_y). `steps` controls smoothness.
draw_ellipseDraw an ellipse centred at (center_x, center_y) with the given radii.
draw_image_base64Composite an inline base64-encoded PNG (or other image) onto a layer at (x, y).
draw_lineDraw a straight line from (x1,y1) to (x2,y2).
draw_pixel_rowsDraw a block of pixel art in one call, like a text-art bitmap.
draw_pixelsPlot individual pixels.
draw_polylineDraw connected line segments through a list of points.
draw_rectangleDraw a rectangle. filled=False draws a 1px outline, True fills it.
draw_symmetric_pixelsPlot pixels together with their mirror image(s).
duplicate_frameDuplicate an existing frame (1-based); the copy is inserted after it.
duplicate_layerDuplicate a layer (including its cels) as a new layer on top.
export_framesExport each frame to its own image file.
export_gifExport the full animation as an animated GIF (honours frame durations & tags).
export_godot_spriteframesExport a sprite as a Godot 4 ``SpriteFrames`` resource (.tres) + a packed sheet.
export_layerExport a single layer of one frame as a PNG (others excluded).
export_layersExport each layer to its own image file.
export_onion_skinExport a frame with neighbouring frames ghosted behind it (onion skin).
export_pngExport one frame as a flattened PNG.
export_slice_metadataExport every slice as engine-agnostic JSON (``aseprite_mcp.slice_metadata.v1``).
export_spritesheetExport frames into a single sprite-sheet image.
export_tag_gifExport only the frames of a named animation tag as an animated GIF.
export_tagsExport each animation tag's frames to their own files.
extract_paletteExtract the unique colours used in a sprite (or another image).
fill_areaFlood fill (paint bucket): replace the contiguous region of matching colour starting at (x,y) on the target layer with `color`.
fill_checkerboardFill a region with a 2-colour checkerboard of `size`-pixel squares.
fill_gradientFill a region with a gradient.
fill_layerFill the entire target layer/frame cel with a solid colour.
flatten_spriteFlatten all layers into a single layer (in place).
generate_rampGenerate a shading ramp from a base colour (dark -> light).
get_celInspect a cel: whether it exists, its position, bounds, and opacity.
get_paletteReturn the sprite's palette as a list of "#RRGGBBAA" colours.
get_pixelsRead the composited (all visible layers) pixel colours of a region.
get_sprite_infoReturn structured info about a sprite: size, colour mode, frames (with durations), the full layer tree (names, opacity, blend mode, visibility), animation tags, and palette size.
gui_availableCheck whether the Aseprite GUI can be launched (executable resolvable).
health_checkwrite actionRun a self-test of the server and its Aseprite integration.
import_generated_imageClean one PNG into a binary-alpha pixel grid, palette and editable master.
import_imagewrite actionCreate an editable .aseprite sprite from a flat image (.png/.bmp/.jpg/...).
import_reference_sequenceImport a sequence of images as per-frame references for rotoscoping.
invert_colorsInvert the RGB colours of a layer's pixels (alpha preserved).
list_slicesList all slices in the sprite with their bounds, center, and pivot.
list_spritesList sprite/image files in the workspace directory.
load_paletteLoad a palette from a file (.gpl, .pal, .aseprite, .png, ...) and apply it.
mainwrite actionRun the curated agent server; never the unfiltered registry.
merge_layer_downMerge a layer down into the layer directly beneath it.
mirror_layerMirror one half of a layer onto the other (build symmetric artwork).
move_layerReorder a layer to a new 1-based stack index (1 = bottom-most).
open_in_editorOpen a sprite in the Aseprite GUI window (non-blocking) for live viewing.
plan_asset_specReturn the ordered build steps for an asset spec **without launching Aseprite**.
recolor_spriteReplace colours across every layer, frame and palette entry of a sprite.
remove_framewrite actionDelete a frame (1-based). The sprite must have more than one frame.
remove_layerwrite actionDelete a layer (or group, including its children) by name or 1-based index.
remove_slicewrite actionDelete a slice by name.
rename_layerRename a layer.
render_previewRender a single frame to a PNG and return it as an image you can view.
replace_colorReplace every pixel matching `from_color` (within `tolerance` per channel) with `to_color`, on the chosen layer + frame.
resize_canvasResize the canvas WITHOUT scaling the artwork (adds or trims space).
resize_paletteResize the palette to `size` entries (new entries are black).
save_sprite_asSave a copy of a sprite under a new path (optionally flattened).
scale_spriteScale the whole sprite (artwork included).
set_all_frame_durationsSet every frame's duration in milliseconds (uniform animation speed).
set_cel_opacitySet a cel's opacity (0-255).
set_cel_positionMove a cel's image to position (x, y) within the canvas.
set_color_modeConvert a sprite between colour modes ("rgb", "indexed", "gray").
set_frame_durationSet a single frame's duration in milliseconds (1-based frame).
set_layer_propertieswrite actionUpdate one or more layer properties. Only the arguments you pass are changed.
set_paletteReplace the entire palette with the given list of colours.
set_palette_colorSet a single palette entry by index (0-based). Grows the palette if needed.
set_slicewrite actionUpdate an existing slice's bounds, name, colour, or data.
set_transparent_colorSet which palette index is treated as transparent (indexed sprites only).
sort_paletteSort the palette by "hue", "luminance" (default), "saturation", or "value".
stamp_fileComposite another image/sprite file onto a layer at (x, y).
stamp_patternTile an image/sprite across a region to fill it with a repeating pattern.
validate_asset_specValidate an ``aseprite_mcp.asset_spec.v1`` document (does the *spec* make sense?).
Public scan report
scanner v0.1.10 · 2026-10-16 · same rubric, same numbers if you re-run it
- Code scan57 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 0 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
How Aseprite Agent MCP compares
Against every graded AI and agents MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 92/100
- higher than 90% of 4,460 AI and agents servers
- Tools
- 100
- the typical AI and agents server has 6
- Tools that change things
- 13%
- typical: 0%. Fewer write tools means less an agent can break
What its tools let an agent do: 63 read · 15 create · 17 change · 4 delete · 1 run or deploy
Install Aseprite Agent MCP in Claude Code, Cursor or VS Code
claude mcp add aseprite-agent-mcp -- uvx aseprite-agent-mcp
What the publisher says
From the Aseprite Agent MCP repository's README, as published. We do not edit it. Read it on GitHub
Aseprite Agent MCP
<!-- mcp-name: io.github.SarutobiSasuke8/aseprite-agent-mcp -->
Local-first pixel-art authoring and verified game-asset export over MCP stdio.
Status: 0.2.0 alpha. Built on aseprite-mcp by Brendan Malloy (MIT), pinned to 8caabf9ce240a040ca2c94d3d7366c9d8dd63653. The added production layer provides atomic edits with previews, strict asset contracts, verified Phaser export, tool profiles, cast tools, workspace locking and crash-safe saves. See NOTICE, LICENSE and UPSTREAMINVENTORY.json. The inherited Python namespace remains asepritemcp; the package and command are aseprite-agent-mcp.
114 tools cover native documents, pixel drawing, layers, cels, frames, palettes, tags, slices, transforms, tilemaps, inspection and exports. The production path adds atomic edits with image feedback, strict typed asset contracts, labelled all-frame previews, character-cast tools and Phaser bundles verified against reopened native masters. By default the server exposes a 42-tool core profile (see Tool profiles). See the generated tool reference for exact schemas.
Install and run
Install Python 3.10+, uv or pipx, and your own licensed Aseprite with Lua scripting support. You may also build Aseprite yourself under its EULA. This package only invokes your installed executable via ASEPRITE_PATH; it does not bundle Aseprite, its installer, Lua runtime or art assets.
For the published package:
uvx aseprite-agent-mcp
# or: pipx install aseprite-agent-mcp
# then: aseprite-agent-mcpSet ASEPRITE_PATH before running. Example MCP client commands (replace the paths):
# Windows (PowerShell)
claude mcp add aseprite --env ASEPRITE_PATH=C:\\path\\to\\Aseprite.exe -- uvx aseprite-agent-mcp
# macOS
claude mcp add aseprite --env ASEPRITE_PATH=/Applications/Aseprite.app/Contents/MacOS/aseprite -- uvx aseprite-agent-mcp
# Linux
claude mcp add aseprite --env ASEPRITE_PATH=/path/to/aseprite -- uvx aseprite-agent-mcpFor clients that take JSON (including Codex MCP configuration), use this shape:
{
"mcpServers": {
"aseprite": {
"command": "uvx",
"args": ["aseprite-agent-mcp"],
"env": {
"ASEPRITE_PATH": "/path/to/aseprite",
"ASEPRITE_MCP_WORKSPACE": "/path/to/assets"
}
}
}
}Grok clients that support local stdio MCP servers can use the same executable, arguments and environment fields. Client-specific configuration keys may vary.
For a source checkout and development:
uv sync --locked --group dev
$env:ASEPRITE_PATH = 'C:\path\to\aseprite.exe'
$env:ASEPRITE_MCP_WORKSPACE = 'C:\path\to\assets'
uv run --no-sync aseprite-agent-mcpThe command speaks MCP on stdin/stdout and waits for a client. Diagnostic logs go to stderr. Use mcp-config.example.json in a client after replacing its placeholder paths. This project does not modify client settings.
The small GIF is procedural example art, generated by uv run python scripts/generate_demo.py. It demonstrates the intended pixel-art output; it is not a screenshot of a live Aseprite session. A full Aseprite MCP round-trip proof is described under Verification.
Tool profiles
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Aseprite Agent MCP: common questions
- Is Aseprite Agent MCP server safe?
- Yes, by our scan: it is graded A (92/100). Read the Aseprite Agent MCP safety report
- How do I install Aseprite Agent MCP?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Aseprite Agent MCP need an API key?
- No secret keys are declared. It reads 4 settings from the environment.
- Is Aseprite Agent MCP maintained?
- The last commit was 19 days ago (2026-10-16). The latest release is v0.3.0.
- What can I use instead of Aseprite Agent MCP?
- Servers from other publishers that do the same job: Agent-Native Slides MCP server, Watch Skill MCP server and Emilia Protocol MCP server.
- How does Aseprite Agent MCP compare with other AI and agents MCP servers?
- safety score 92/100 (higher than 90% of 4,460 AI and agents servers); tools 100 (the typical AI and agents server has 6); tools that change things 13% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.
Alternatives to Aseprite Agent MCP
Same job from other publishers: the closest match first, then the best rated.
- Agent-Native SlidesAgent-Native Google Slides - generate and edit React presentationsnot reviewedEstablishedA
- Watch SkillWatch video and live sessions, keep timestamped evidence, and verify an agent's own work.not reviewedEstablishedB
- Emilia ProtocolExact-action approval for consequential agent actions: request, track, and verify signed receipts.not reviewedEstablishedB
- MockserverMock, record/replay, verify and chaos-test any HTTP, REST, gRPC or LLM dependency over MCP.not reviewedEstablishedA
- CHAP CoordinatorAuditable records of human decisions over AI agent work. Approvals, edits, overrides, escalations.not reviewedEstablishedA