ase-mcp
About
MCP bridge between an AI agent and a live Aseprite session, same machine or agent-in-a-VM
Details
- Author
- logiksecurity
- Categories
- Design
Jump to
Setup
Install ase-mcp in your MCP client (Claude Desktop, Cursor, Windsurf, and others).
Repository: https://github.com/logiksecurity/ase-mcp
Follow the installation instructions in the repository README, then restart your MCP client.
Let an AI agent drive a live Aseprite sessionover the Model Context Protocol. Draw, animate, tag, and export inside a real, editable.asepritefile, from an agent running in a VM or on the same machine.
https://github.com/user-attachments/assets/1ed1c882-1fee-4d09-974f-673eb77eb70a
One prompt builds a full scene, house, garden, and a 12-frame baby walk-cycle, live in Aseprite, in a single Lua transaction. Not a flattened PNG: a real layered, tagged, animated.asepritefile you can keep editing.
Unlike a batch or headless bridge, ase-mcp acts on the session you already have open, so what the agent does appears on your canvas as it happens.
One file to install:ase-mcp-bridge.aseprite-extension(it bundles the plugin AND the server).
- Aseprite:Edit > Preferences > Extensions > Add Extension-> pickase-mcp-bridge.aseprite-extension-> OK.
- The first time, Aseprite asks permission to run a command / use the network -> Allow (or grant full trust inEdit > Preferences > Scripts).
That's it. On load, the plugin launches the bundled server and connects; every later Aseprite start is automatic.
Agent side (any MCP client; the auth token is required even on the same machine):
- VM: runscripts/ase-mcp-setup.ps1as admin on the HOST. It does the whole wiring (portproxy, scoped firewall, token generation) and writes a ready-to-use.mcp.jsonat the repo root. Details inINSTALL.md. <<<<<<< HEAD
- Same machine: copy.mcp.json.example, set the URL host to127.0.0.1and paste the token from%APPDATA%/ase-mcp/token(generated at first server start). =======
- Same machine: runscripts/ase-mcp-setup.ps1 -Local(no admin). It skips the portproxy and firewall, generates the token, and writes.mcp.jsonat127.0.0.1.
MCP agent (VM) --HTTP:8001--> ase-mcp server (HOST) --WS :8767--> Aseprite plugin (HOST) (portproxy) launched by the plugin dials OUT (WS client)
The server binds127.0.0.1(8001 HTTP for the MCP, 8767 WebSocket for the plugin). For a VM, a portproxy and scoped firewall (scripts/ase-mcp-setup.ps1) expose 8001. Aseprite's Lua is a WebSocket CLIENT only, so the plugin dials OUT; the server cannot live inside Aseprite, so the extension bundles it and auto-launches it (os.execute).
ase-mcp/ ase-mcp-bridge.aseprite-extension the deliverable (plugin + bundled exe) ase-mcp-server.exe standalone server (PyInstaller onefile) server.py server source (FastMCP HTTP + WebSocket + tools) build_exe.bat rebuild the exe (needs Python + pyinstaller) aseprite-plugin/ extension source (package.json + ase_bridge.lua + exe) scripts/ ase-mcp-setup / remove / status / test build_package.py requirements.txt INSTALL.md SECURITY.md
33 tools. Every tool that modifies the sprite ends its Lua withapp.refresh(), so the canvas repaints immediately (no need to move the mouse over Aseprite).
- aseprite_status()- bridge connected? active sprite info.
- run_lua(code)- run arbitrary Aseprite Lua in the live session (power tool).
- new_sprite(w, h, mode),save_png(path),save_aseprite(path).
- Drawing:draw_pixel,draw_pixels(batch: [x, y] pairs, one color, one undo step, max 4096),draw_rect,draw_line,draw_ellipse,bucket_fill,get_pixel(x, y, frame, layer)(reads back hex/gray/index).
- Layers and cels:add_layer,duplicate_layer,get_cels(layer),copy_cel(from_frame, to_frame, layer, to_layer),move_cel(...)(same signature),delete_cel(frame, layer).
- Frames:add_frame,insert_frame(frame),duplicate_frame(frame),delete_frame(frame),set_active_frame(frame),set_frame_duration(frame, duration_ms),set_frame_durations(durations_ms)(batch, frame 1..N).
- Tags:create_tag(name, from_frame, to_frame, direction)(forward, reverse, ping_pong, ping_pong_reverse),update_tag(name, new_name, direction),delete_tag(name).
- Palette and info:set_palette(colors),sprite_info()(size, frame durations in ms, layers, tags).
- Export:export_spritesheet(path, data_path, sheet_type, border_padding, shape_padding)(sheet_type: horizontal, vertical, rows, columns, packed; data_path writes a JSON hash data file).
- Debug:enable_debug_log()/disable_debug_log().
Save and export paths are gated byASE_OUTPUT_ROOT(see SECURITY.md B-2): the extension must match the tool, and when the variable is set, the resolved path must stay inside that root.
Two independent toggles, one per side of the bridge:
- Host side (Aseprite):File > Scripts > ase-mcp: Enable debug logprints every incoming command and its reply in the Aseprite console.ase-mcp: Disable debug logturns it off.
- Agent side (MCP tools):enable_debug_log()/disable_debug_log()print each dispatched action, its params, and the Aseprite reply on the ase-mcp server console.
run_luais arbitrary code execution inside Aseprite, and installing the extension launches a bundled executable on the host (Aseprite prompts once). The bridge is built around that: a shared token is required on both transports (constant-time compare), save and export paths are confined byASE_OUTPUT_ROOT, the server binds127.0.0.1, and a VM reaches it only through the scoped portproxy and firewall. The full threat model and a per-finding audit are inSECURITY.md. Read it before exposing the port beyond a single machine.
Working, tested end to end in a VM and on the same machine (-Local): an agent drives a live Aseprite session on the Windows host, generating and animating a full scene (see the video above). Targets Aseprite 1.3+; some Lua calls may need minor tweaks on other Aseprite versions; open an issue if you hit one.
A lightweight MCP (Model Context Protocol) server for Blender. It offers a natural language interface with Blender’s Python API, improving access to documentation, and allowing users to explore and understand complex setups.
The Lottie Creator MCP brings your AI assistant directly into your animation workflow — giving it full access to LottieFiles Creator so it can build and edit Lottie animations on your behalf through natural language.
AI Video, Image & Audio Generation with over 150 models
Rive MCP let AI handle repetitive tasks, like creating complex View Models, State Machines with hundreds of states/layers, Layouts, Shapes, and more.
Create, edit, and export SVGator animations (SVG, Lottie, GIF, video) from your AI assistant, and keep an editable project you can open in the editor anytime.
You're agent can Chain 60+ AI image and video models on one workflow canvas
Real interaction references and motion recipes for AI coding agents.
Search 1,145 real website designs by style, font, colour, section and measured design tokens.
Render, verify, describe, and safely edit Mermaid diagrams through MCP.
Production-grade MCP server that lets AI assistants control AutoCAD on Windows via natural language — draw lines, circles, rectangles, manage layers, calculate areas, and export PDFs through the AutoCAD COM API.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.
