Pixel art and sprite MCP servers for AI agents: 7 compared
Seven pixel art and sprite MCP servers for AI agents, checked on 17 October 2026 by the makers of Pixelbolt: aseprite-mcp and pixel-mcp drive the paid Aseprite editor, SpriteCook and pixelforge-mcp generate images with hosted AI models, pixscii and pixelart-mcp draw on canvases on your machine, and Pixelbolt renders editable JSON recipes on your machine with no paid app, account, API key or image model. We read the other six from their code and docs without running them, and measured Pixelbolt on one Windows machine: all 19 of its plain example recipes rendered twice to byte-identical files, and a one-pixel fix over MCP changed exactly 1 pixel in 1 of 6 frames when we decoded the frames before and after. Method, sources and data are below.
We make Pixelbolt. Read this as a vendor's page: our own numbers come from runs you can
repeat, and everything about the other tools links to where we read it. Pixelbolt was called PixelForge before version
0.8.0; it still answers to the old pixelforge command, and its file formats keep pixelforge-*
names. None of that is related to the npm package pixelforge-mcp
(freema/pixelforge-mcp, compared below) or to the other GitHub
repositories called pixelforge-mcp. If we got something wrong,
open an issue and we will correct it.
The short answer
- You want game sprites your agent can draw, check and revise as text, from Claude Code, Codex, Cursor or Claude Desktop, with the same files on every run: Pixelbolt. Sprite sheets, atlas JSON, APNG and GIF come from one recipe, and the agent can fix one pixel or one frame without redrawing the rest. You or the agent still design the art; it doesn't generate art from a prompt.
- You already use Aseprite and want the agent to work in
.asepritefiles: aseprite-mcp (707 GitHub stars, 116 tools in its source) or pixel-mcp (a Go binary with 50 tools; no commits since October 2025). Both need Aseprite, which costs US$19.99 on Steam or can be compiled from its source for personal use. - You want finished art from a text prompt: SpriteCook (hosted, with credits and a free plan of 40 credits every 30 days) or pixelforge-mcp (runs on your machine and generates through Google's Gemini API with your own key). Both use generative models, pixelforge-mcp has no seed option, and neither has tools to edit single pixels.
- You want 16-colour sprites and one-call animated scenes from a bundled library and procedural characters,
ready in one
npx: pixscii. - You want a Python server that edits PNG files in place, with rig-based walk cycles: pixelart-mcp. It has no licence file, so ask its author before you use it in a product.
Side by side
Pixelbolt's column is measured or taken from its own docs. The other columns are from each project's README, docs and source at the commit named under Sources, or from its own web pages, read on 17 October 2026, not run by us. Tool counts for the others are counted in their source.
| Pixelbolt | aseprite-mcp | pixel-mcp | pixscii | pixelart-mcp | pixelforge-mcp | SpriteCook | |
|---|---|---|---|---|---|---|---|
| How the art is made | Rendered on your CPU from a JSON recipe: palettes, text grids, reusable symbols and drawing operations | Drives Aseprite in batch mode, one Lua script per call | Drives Aseprite in batch mode, one Lua script per call | Drawing on in-memory 16-colour canvases, plus a bundled sprite library and procedural characters | Drawing on PNG files on disk with Pillow | Generated by Google Gemini image models, then cropped and split locally | Generated by third-party AI models (its terms name OpenAI, Google Gemini and xAI) through SpriteCook's hosted service |
| What you need | Node.js 20+; a clone, or the MCPB bundle for Claude Desktop | Aseprite, Python 3.13+ and uv | Aseprite 1.3+, and Go to build it or a prebuilt release | Node.js 18.17+ (npx -y pixscii) |
Python 3.11+, uv and a clone (not on PyPI) | Node.js 20+ and a Gemini API key | A SpriteCook account, and an API key or OAuth sign-in |
| Cost | Free | Free, plus Aseprite (US$19.99 on Steam) | Free, plus Aseprite | Free | Free to download; no licence file | Free, plus your Gemini API usage (price not checked) | Free plan: 40 credits every 30 days, and free generations appear in its public gallery. Paid: from US$8 a month (excl. VAT) for 800 credits. A standard 1K image costs 8 credits (costs vary by model and settings) |
| MCP tools | 8 (counted from tools/list) |
116 (README says 104) | 50 (README tables list 48) | 19 | 39 | 8 (README documents 6) | 29 (its server card) |
| Animation | Frames with durations, named animations, tweened poses, particle effects | Frames, cels, tags, per-frame durations, tweening with easing | Frames, durations, tags with a playback direction | Six preset motions, and one-call scenes with up to 8 moving characters over a background (a colour, a sprite or a tilemap); up to 32 frames | Rig-based motions (walk, run, idle and others), looping GIFs with per-frame durations | A number of generated frames, split into PNGs; no timing | Turns an image into a short looping cycle |
| Exports | PNG sprite sheet, atlas JSON, single PNGs, APNG, GIF, CSS, a Canvas player, numbered frames for a video editor | PNG, GIF, JPG; sprite sheets with JSON data; .aseprite |
PNG, GIF, JPG, BMP; sprite sheets with JSON metadata; .aseprite |
PNG only, returned to the agent; its MCP tools write no files | PNG, GIF, sprite sheet grids | PNG files | PNG and ZIP downloads; Unity, Godot, Phaser and sprite sheet exports on paid plans |
| What the agent sees | A PNG contact sheet of every frame, and palette-key text grids on request | Upscaled PNGs written to disk for the client to open; pixel rectangles as JSON | No image; pixels as a paginated colour list | PNG images; pixels as a hex grid | Canvas images; pixels as a labelled character grid | A JSON list of the files written; no image | Not checked (closed server) |
| Fix one pixel of an existing asset | Yes, pixel_patch. In our run, the decoded frames showed 1 changed pixel in 1 of 6 frames, as its reply said |
Yes, in an .aseprite file |
Yes, in a sprite file | Only on canvases it holds in memory; no tool loads a PNG from disk as it is | Yes, in a PNG on disk | No pixel tools | No pixel tools in its server card |
| Same input, same output | Measured: 19 of 19 example recipes rendered twice to identical files, on one machine | No claim found | No claim found | Claimed in its README; not run by us | Claimed in its README and code; not run by us | Not expected: a generative model with no seed option (not run by us) | No claim found |
| Size limits | A frame up to 256×256; a project up to 256 frames and 4,194,304 pixels | None in its code (Aseprite's own limits apply) | Up to 65,535 pixels a side | 256×256, 16 colours, 32 frames | Up to 1,024 pixels a side, 256 frames | Sprites, frames, tiles and items downscaled to a standard size from 16 to 128 pixels (48 by default, tiles 32; 0 keeps full size); backgrounds and thumbnails stay at the model's size | Not checked |
| Network and files | The MCP server makes no network calls; it reads asset files only under its root folder (--root, the
working directory by default) and writes only under --out. The studio listens on your own machine only |
No outbound calls found; run_lua_script runs any Lua on your machine, and its preview web server listens on all network interfaces |
No network code found | Its convert tool downloads any public web address the agent gives it |
No network code found; reads and writes any path your account can reach | Sends prompts and reference images to Google's Gemini API | Runs on SpriteCook's servers and its model providers' |
| Licence · stars · latest release | MIT · 7 · 0.8.0, 13 Oct 2026 | MIT · 707 · no releases; last commit 29 Jul 2026 | MIT · 152 · 0.5.0, 18 Oct 2025 | MIT · 3 · npm 0.3.1, 12 Apr 2026 | No licence file · 5 · no releases; last commit 10 Oct 2026 | MIT · 5 · npm 0.2.0, 21 Mar 2026 | Closed hosted server · not applicable (its setup tool's repository has 5) · setup tool 0.2.17 |
What we measured on Pixelbolt
On 17 October 2026, on one machine: Windows 11 Pro (build 26200), Node.js 24.19.0, an AMD Ryzen 9 7950X3D, no GPU
work. We ran main at a2420d5, and repeated the MCP round trip on the 0.8.0 release
(9ec9a90). The JSON data files record the commit, Node, OS build and CPU.
- Tests:
node --testpassed 237 of 237 tests in 11.3 s (output). - MCP tools: the server answered
tools/listwith 8 tools on bothmainand 0.8.0:pixel_help,pixel_validate,pixel_inspect,pixel_patch,pixel_render,pixel_compile,pixel_sceneandpixel_import. - A round trip over MCP on the 24×24, 6-frame coin example: validate took 7 ms, inspect 9 ms (it
returned a PNG contact sheet), patch 8 ms and render 37 ms, the same on
mainand 0.8.0. The patch painted one pixel, and its reply listed exactly that pixel (frameturn-0, x 12, y 12, from theshadecolour tolight) with the other five frames unchanged. To check the reply, the script rendered the revisions before and after the patch and decoded every frame PNG with its own PNG reader: frameturn-0differed in exactly that pixel (#c78a43to#ffe4a0), and the other five frames in none. The render wrote 14 files: the sprite sheet, atlas JSON, the recipe, CSS, six frame PNGs, an animated PNG, a Canvas player, a preview page and a README (main, 0.8.0). - Same recipe, same bytes: every plain recipe in
examples/(8) andexamples/quality/(11), meaning recipes with frames rather than the particle, pose, fluid, scene and overlay sources that compile into them, was rendered twice through the command line into fresh folders, and every output file matched its twin by SHA-256 (9 to 69 files per recipe; 75 to 142 ms per render, with Node's start-up and the file writes). The 10 fluid-effect presets, new onmainand not yet released, also compiled twice to identical recipes, in 115 to 456 ms each (results). We checked one machine only; Pixelbolt's own CI runs its tests on other systems, which we didn't repeat. - Footprint: no runtime dependencies. The Claude Desktop bundle (
pixelbolt.mcpb, release 0.8.0) is 225 KB.
To repeat it, with Node.js 20 or newer:
git clone https://github.com/skulitom/Pixelbolt cd Pixelbolt git checkout a2420d5 node --test node bin/pixelbolt.js render examples/coin.json --out out-a node bin/pixelbolt.js render examples/coin.json --out out-b
Then compare the two folders. Our scripts do the same for every plain recipe and fluid preset, and drive
the MCP round trip:
pixelbolt-determinism.mjs and
pixelbolt-probe.mjs, each run as node <script> <clone>
<fresh folder> <result.json>.
Each tool, and when to choose it over Pixelbolt
aseprite-mcp
diivi/aseprite-mcp is a Python server that runs Aseprite in batch
mode with a Lua script for each call. Its source registers 116 tools (its README says 104) across drawing, layers,
frames and tags, tweening, palettes, tilemaps, slices, text and effects, and it reads and writes native
.aseprite files. The agent checks its work the way its README describes: draw, export an upscaled PNG for
the client to open, look and iterate; it can also read a rectangle of pixels as JSON. It has no releases, and its
latest commit is from 29 July 2026. Two tools need care: run_lua_script runs any Lua code on your machine
(its README says so), and start_preview_server starts Python's web server without binding it to your own
machine only.
Choose it when you own Aseprite and want the agent to work in the same .aseprite files
you open by hand, or when you want Aseprite's own tools, from layers and tilemaps to text. Choose
Pixelbolt when you don't want a paid editor in the loop, want byte-for-byte repeatability you can check (we
measured ours), or want the image returned inside the MCP reply rather than as a file to open.
pixel-mcp
willibrandon/pixel-mcp is a Go server, also built on Aseprite in batch mode, with 50 tools in its source (its README tables list 48): canvas, layers, frames and tags, drawing, selection, palettes, and its own dithering patterns, palette quantization, auto-shading and antialiasing, plus export to PNG, GIF, JPG, BMP and sprite sheets with JSON metadata. It reads pixels back as a colour list and returns no image to the agent. Its latest release, 0.5.0, came out on 18 October 2025, and it has had no commits since.
Choose it for a single Go binary in front of Aseprite, with its own dithering, quantization, auto-shading and antialiasing tools. Choose Pixelbolt for active development, no paid editor, and a picture the agent can look at after each step.
pixscii
rxolve/pixscii (npm pixscii) keeps canvases of up to
256×256 in memory as 16-colour hex grids, with PICO-8, greyscale and Game Boy palettes, a library of bundled sprites and
procedural characters. Its 19 tools draw, mirror, compose tilemaps and sprite sheets, animate with six preset motions,
and build an animated scene with up to 8 moving characters over a background (a colour, a sprite or a tilemap) in one
call. Results come back as
PNG images in the agent's reply, and its MCP tools write no files. Its README calls it offline and deterministic. Its
convert tool downloads any public web address the agent gives it. The npm package (0.3.1, 12 April 2026)
is four commits behind the repository (three changes and a merge), which still says 0.3.1.
Choose it for a one-command start (npx -y pixscii), 16-colour sprites, one-call
animated scenes, or when a bundled sprite library is enough. Choose Pixelbolt for your own palettes
beyond 16 colours, animations longer than 32 frames (up to 256), files on disk (sheets, atlases, APNG, GIF) and recipes
you can edit later.
pixelart-mcp
light-vp/pixelart-mcp is a Python server that edits ordinary PNG files on disk with Pillow. It has 39 tools, among them rig-based motions (walk, run, idle and others), onion and filmstrip views, an image of the canvas for the agent and a labelled character grid of its pixels, and export to GIF and sprite sheet grids. Its code says the same inputs give the same pixels. It has no licence file and isn't on PyPI, and it reads and writes any path your account can reach.
Choose it for a Python stack, editing existing PNGs in place, or rig-based walk cycles, once its author has granted a licence that suits you. Choose Pixelbolt for an MIT licence, atlases and APNG, and a recipe you can edit later rather than only pixels.
pixelforge-mcp (freema)
freema/pixelforge-mcp (npm pixelforge-mcp, 0.2.0)
asks Google Gemini image models for sprites, animation frames, backgrounds, thumbnails, tilesets and item kits. It then
crops and splits the results locally and downscales sprites, frames, tiles and items to 16 to 128 pixels (or keeps them
full size); backgrounds and thumbnails are saved as generated. It needs a Gemini API key, which its code sends to
Google with each request, and reference images you give it are uploaded to Google. It has no single-pixel tools and
returns a list of files rather than an image. It is a different project from Pixelbolt, which was called PixelForge
before 0.8.0.
Choose it when you want art from a prompt, in your own Gemini account, and can accept a different result each time. Choose Pixelbolt when the art must be exact, repeatable and editable, or must not leave your machine.
SpriteCook
SpriteCook is a hosted service whose MCP server runs on its own servers, reached with an API key or an OAuth sign-in; its public repository holds only a setup tool. Its terms say it uses third-party model providers, naming OpenAI, Google Gemini and xAI. Its server card lists 29 tools for game art, characters and their animations, tilesets (with a Godot export tool), UI kits, projects and credits. Pricing, read on 17 October 2026: a free plan with 40 credits every 30 days and no card, whose generations appear in a public gallery; then from US$8 a month (excl. VAT) for 800 credits, with a standard 1K image at 8 credits. Its pricing page lists engine exports (Unity, Godot, Phaser) and private assets as paid-plan features.
Choose it when you want finished, consistent art from prompts, characters with animation sets and UI kits, and are happy to pay per image. Choose Pixelbolt when you want no account or credits, art that stays on your machine, and the same files on every run.
Pixelbolt's limits
- It doesn't generate art from a prompt. The agent (or you) designs every sprite in the recipe, so the result is only as good as the drawing; the inspection images and quality diagnostics help the agent judge it.
- Small art only: a frame is at most 256×256 pixels, and a project at most 256 frames and 4,194,304 pixels in all.
- It imports only 8-bit RGB or RGBA PNGs, not GIFs or
.asepritefiles, and it doesn't write.aseprite. - Its
tools/listresult is large: 135,519 bytes of JSON onmainand 134,532 on 0.8.0, mostly because four tools carry the full recipe JSON Schema. - It isn't on npm: install it with
git clone, or open the MCPB bundle in Claude Desktop. It is in the official MCP Registry asio.github.skulitom/pixelbolt. - It is young, with 7 GitHub stars. The fluid effects (fire, smoke, steam, water) are on
mainbut not yet in a release.
Also in the same searches
- adrianoamaral/pixel-mcp (npm
pxcli-mcp0.1.0, TypeScript, 7 stars): a different project from willibrandon's pixel-mcp, with 10 tools (canvases, pixels, lines, rectangles, clear, undo and redo, and PNG export) on in-memory canvases of up to 256×256; it has no licence file. From its README, not run by us. - Sprite AI: a hosted MCP server with 13 tools priced in tokens (1 for a sprite, 14 to 20 for an animation) and an API key; 15 free generations, then from US$8 a month. From its docs, not run by us.
- PixelLab: a hosted MCP server for its pixel art generation API (characters with 4 or 8 directions, animations, tilesets, map objects), with an API token; its MCP repository holds a README only.
- uncagedspirit/pixel-art-mcp: 2 tools; its "no API key" image backend is Pollinations, an online AI image service.
- ssyubix-pixelart-mcp: a Python server (Apache-2.0, on PyPI) with 24 tools for drawing and building 2D tilesets for Unity.
- pixelsmith, listed on Glama as
liamlz11/pixelsmith: its GitHub repository returned 404 on 17 October 2026, its README (as Glama cached it) says it isn't on npm yet, andpixelsmith-mcpdoesn't exist there, so we couldn't read its code. Glama's npm link for it points at an unrelated package with the same name. - Several other servers are also called aseprite-mcp. On this page the name means diivi/aseprite-mcp, the most starred Aseprite MCP server we found.
Method
- The searches this page answers, run on 17 October 2026: "pixel art sprite generator tool for AI agents MCP", "pixel art MCP server" and "best MCP server for pixel art and sprite animation Claude Code". Glama's directory pages filled most results, with Enterprise DNA, Sprite AI's own MCP page and a few mirrors. None of the results was a head-to-head comparison, and Pixelbolt appeared in none.
- Which tools: we started from the servers in the results of the first search when we ran it on 16 October: pixel-mcp, pixscii, pixelsmith, pixelforge-mcp and SpriteCook, a hosted generator whose own blog post ranked that day (our note of that run names no URL, and SpriteCook didn't rank on 17 October). We dropped pixelsmith, whose source is gone, and added aseprite-mcp, the most starred Aseprite server we found, and pixelart-mcp, a local server named in two of the three 17 October summaries. adrianoamaral/pixel-mcp and ssyubix-pixelart-mcp, which also draw locally, are summarised under "Also in the same searches" rather than in the table.
- Pixelbolt was tested as described above, from a fresh clone.
- The other tools were not installed or run. We run another tool only when it is open source from its official source, works offline with no account or key, and can't reach the network or your desktop. None of these met all three. The Aseprite servers depend on Aseprite, which is source-available under its own licence rather than open source, and we didn't buy or build it for this check; aseprite-mcp can also run any Lua code. pixelforge-mcp and SpriteCook need a key or an account and the network, pixscii can download from the web, pixelart-mcp has no licence, and pixelsmith's source is gone. We read each README, the files named below and the hosted services' own pages. Stars, releases and npm versions come from GitHub and npm on 17 October 2026.
Sources
All read on 17 October 2026, at the commit shown.
- aseprite-mcp at
90d1696: README, pyproject.toml, tools/ (116@mcp.tool()registrations), core/commands.py (batch Lua), tools/export.py, tools/pixel_read.py, tools/script.py, tools/preview.py. - pixel-mcp at
96e59ec: README, pkg/tools/ (50mcp.AddToolcalls), pkg/aseprite/client.go, pkg/tools/export.go, pkg/tools/inspection.go, pkg/tools/dithering.go, pkg/tools/canvas.go; release 0.5.0. - pixscii at
9d06f46: README, package.json, src/tools/ (19 tools), src/resolve.ts (downloads forconvert), src/constants.ts (limits); npm pixscii; the commits after npm 0.3.1. - pixelart-mcp at
391c5d5: README, pyproject.toml, pixelart_mcp/server.py (39 tools, limits, file paths), pixelart_mcp/craft.py; file list (no licence file). - pixelforge-mcp at
5ca08f9: README, package.json, src/index.ts (8 tools), src/engine/gemini.ts, src/engine/models.ts, src/tools/forge-sprite.ts, src/tools/forge-background.ts; npm pixelforge-mcp. - SpriteCook: pricing,
terms (sections 1 and 7 to 9),
llms.txt,
MCP server card, and
SpriteCook/spritecook-mcp
at
5118336. - Aseprite: Steam store page (price) and its source licence.
- Also: adrianoamaral/pixel-mcp
at
08839ba; Sprite AI MCP docs and pricing; PixelLab MCP; uncagedspirit/pixel-art-mcp at83485dc; ssyubix-pixelart-mcp atc92482f; Glama's pixelsmith listing. - Pixelbolt at
a2420d5: README, llms.txt, src/mcp.js, CHANGELOG, and this page's data: tests, MCP round trip, determinism and timing.