MCP.Market

Aseprite Agent MCP server

by SarutobiSasuke8·io.github.SarutobiSasuke8/aseprite-agent-mcp·v0.3.0

Create and verify pixel-art assets with atomic Aseprite edits and Phaser export.

A92/100grade A
What users say
No reviews yet
Be the first
Safety scan
A92/100

full report

Adoption
New

0 stars

Reviews

Write one

Nobody 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 posts

Read from the package source without running it. The installed server may list more.

  • add_drop_shadowwrite action

    Add a hard drop shadow for a layer's artwork on a new layer placed beneath it.

  • add_frame

    Append a new frame to the animation.

  • add_group_layer

    Add a new (empty) group layer on top of the stack. Nest layers into it with add_layer(group=...) or move_layer(group=...).

  • add_layer

    Add a new (empty) normal layer on top of the stack.

  • add_outline

    Add a pixel outline around the artwork on a layer.

  • add_palette_color

    Append a colour to the end of the palette.

  • add_reference_layer

    Add a dimmed, locked layer holding a reference image to trace over.

  • add_slicewrite action

    Create a slice (named region) at (x, y, width, height).

  • adjust_brightness_contrast

    Adjust brightness (-255..255, additive) and contrast (-255..255) of a layer.

  • adjust_hue_saturation

    Shift hue (degrees) and scale saturation/lightness (percent, -100..100).

  • apply_operations

    Apply edit operations atomically. See APPLY_DESCRIPTION for the op vocabulary.

  • ase_apply_and_preview
  • ase_export_cast_atlas

    Validate several character masters and export them as ONE Phaser atlas.

  • ase_export_phaser

    Validate a native master and export a Phaser bundle directory.

  • ase_preview_animation

    Return a labelled contact sheet of every frame, scaled with nearest-neighbour.

  • ase_validate_asset_contract

    Reopen a native master and check every frame against a contract.

  • assemble_animation

    Clean 1..128 ordered PNG poses with one palette; save master, sheet and JSON.

  • build_asset_from_spec

    Build the asset described by an ``aseprite_mcp.asset_spec.v1`` document.

  • clear_layer

    Erase the target layer/frame cel to full transparency.

  • copy_cel

    Copy a cel's image (and position) from one frame to another on the same layer.

  • copy_frames_from

    Append frames from another sprite file, flattened onto one layer of this sprite.

  • create_spritewrite action

    Create a new sprite file and save it.

  • crop_sprite

    Crop the canvas to the rectangle (x, y, width, height).

  • delete_celwrite action

    Delete a cel (the layer becomes empty at that frame).

  • derive_mirrored_tagwrite action

    Create a new animation tag by mirroring an existing one (e.g. walk_left from walk_right).

  • desaturate

    Desaturate toward grayscale by `amount` percent (0-100).

  • draw_brush

    Stamp a custom brush shape at a list of points.

  • draw_curve

    Draw a quadratic Bézier curve from (x0,y0) to (x1,y1) bending toward the control point (control_x, control_y). `steps` controls smoothness.

  • draw_ellipse

    Draw an ellipse centred at (center_x, center_y) with the given radii.

  • draw_image_base64

    Composite an inline base64-encoded PNG (or other image) onto a layer at (x, y).

  • draw_line

    Draw a straight line from (x1,y1) to (x2,y2).

  • draw_pixel_rows

    Draw a block of pixel art in one call, like a text-art bitmap.

  • draw_pixels

    Plot individual pixels.

  • draw_polyline

    Draw connected line segments through a list of points.

  • draw_rectangle

    Draw a rectangle. filled=False draws a 1px outline, True fills it.

  • draw_symmetric_pixels

    Plot pixels together with their mirror image(s).

  • duplicate_frame

    Duplicate an existing frame (1-based); the copy is inserted after it.

  • duplicate_layer

    Duplicate a layer (including its cels) as a new layer on top.

  • export_frames

    Export each frame to its own image file.

  • export_gif

    Export the full animation as an animated GIF (honours frame durations & tags).

  • export_godot_spriteframes

    Export a sprite as a Godot 4 ``SpriteFrames`` resource (.tres) + a packed sheet.

  • export_layer

    Export a single layer of one frame as a PNG (others excluded).

  • export_layers

    Export each layer to its own image file.

  • export_onion_skin

    Export a frame with neighbouring frames ghosted behind it (onion skin).

  • export_png

    Export one frame as a flattened PNG.

  • export_slice_metadata

    Export every slice as engine-agnostic JSON (``aseprite_mcp.slice_metadata.v1``).

  • export_spritesheet

    Export frames into a single sprite-sheet image.

  • export_tag_gif

    Export only the frames of a named animation tag as an animated GIF.

  • export_tags

    Export each animation tag's frames to their own files.

  • extract_palette

    Extract the unique colours used in a sprite (or another image).

  • fill_area

    Flood fill (paint bucket): replace the contiguous region of matching colour starting at (x,y) on the target layer with `color`.

  • fill_checkerboard

    Fill a region with a 2-colour checkerboard of `size`-pixel squares.

  • fill_gradient

    Fill a region with a gradient.

  • fill_layer

    Fill the entire target layer/frame cel with a solid colour.

  • flatten_sprite

    Flatten all layers into a single layer (in place).

  • generate_ramp

    Generate a shading ramp from a base colour (dark -> light).

  • get_cel

    Inspect a cel: whether it exists, its position, bounds, and opacity.

  • get_palette

    Return the sprite's palette as a list of "#RRGGBBAA" colours.

  • get_pixels

    Read the composited (all visible layers) pixel colours of a region.

  • get_sprite_info

    Return 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_available

    Check whether the Aseprite GUI can be launched (executable resolvable).

  • health_checkwrite action

    Run a self-test of the server and its Aseprite integration.

  • import_generated_image

    Clean one PNG into a binary-alpha pixel grid, palette and editable master.

  • import_imagewrite action

    Create an editable .aseprite sprite from a flat image (.png/.bmp/.jpg/...).

  • import_reference_sequence

    Import a sequence of images as per-frame references for rotoscoping.

  • invert_colors

    Invert the RGB colours of a layer's pixels (alpha preserved).

  • list_slices

    List all slices in the sprite with their bounds, center, and pivot.

  • list_sprites

    List sprite/image files in the workspace directory.

  • load_palette

    Load a palette from a file (.gpl, .pal, .aseprite, .png, ...) and apply it.

  • mainwrite action

    Run the curated agent server; never the unfiltered registry.

  • merge_layer_down

    Merge a layer down into the layer directly beneath it.

  • mirror_layer

    Mirror one half of a layer onto the other (build symmetric artwork).

  • move_layer

    Reorder a layer to a new 1-based stack index (1 = bottom-most).

  • open_in_editor

    Open a sprite in the Aseprite GUI window (non-blocking) for live viewing.

  • plan_asset_spec

    Return the ordered build steps for an asset spec **without launching Aseprite**.

  • recolor_sprite

    Replace colours across every layer, frame and palette entry of a sprite.

  • remove_framewrite action

    Delete a frame (1-based). The sprite must have more than one frame.

  • remove_layerwrite action

    Delete a layer (or group, including its children) by name or 1-based index.

  • remove_slicewrite action

    Delete a slice by name.

  • rename_layer

    Rename a layer.

  • render_preview

    Render a single frame to a PNG and return it as an image you can view.

  • replace_color

    Replace every pixel matching `from_color` (within `tolerance` per channel) with `to_color`, on the chosen layer + frame.

  • resize_canvas

    Resize the canvas WITHOUT scaling the artwork (adds or trims space).

  • resize_palette

    Resize the palette to `size` entries (new entries are black).

  • save_sprite_as

    Save a copy of a sprite under a new path (optionally flattened).

  • scale_sprite

    Scale the whole sprite (artwork included).

  • set_all_frame_durations

    Set every frame's duration in milliseconds (uniform animation speed).

  • set_cel_opacity

    Set a cel's opacity (0-255).

  • set_cel_position

    Move a cel's image to position (x, y) within the canvas.

  • set_color_mode

    Convert a sprite between colour modes ("rgb", "indexed", "gray").

  • set_frame_duration

    Set a single frame's duration in milliseconds (1-based frame).

  • set_layer_propertieswrite action

    Update one or more layer properties. Only the arguments you pass are changed.

  • set_palette

    Replace the entire palette with the given list of colours.

  • set_palette_color

    Set a single palette entry by index (0-based). Grows the palette if needed.

  • set_slicewrite action

    Update an existing slice's bounds, name, colour, or data.

  • set_transparent_color

    Set which palette index is treated as transparent (indexed sprites only).

  • sort_palette

    Sort the palette by "hue", "luminance" (default), "saturation", or "value".

  • stamp_file

    Composite another image/sprite file onto a layer at (x, y).

  • stamp_pattern

    Tile an image/sprite across a region to fill it with a repeating pattern.

  • validate_asset_spec

    Validate 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

no findings
  • 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
Overall 92/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

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
Add to Cursor

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-mcp

Set 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-mcp

For 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-mcp

The 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 Slides
    Agent-Native Google Slides - generate and edit React presentations
    A
  • Watch Skill
    Watch video and live sessions, keep timestamped evidence, and verify an agent's own work.
    B
  • Emilia Protocol
    Exact-action approval for consequential agent actions: request, track, and verify signed receipts.
    B
  • Mockserver
    Mock, record/replay, verify and chaos-test any HTTP, REST, gRPC or LLM dependency over MCP.
    A
  • CHAP Coordinator
    Auditable records of human decisions over AI agent work. Approvals, edits, overrides, escalations.
    A