tool · mcp server

pixelart mcp

a local mcp server that hands claude a pixel-art studio — plain png canvases, edited pixel by pixel, no paid software required.

aseprite wants money to script; the free web editors have no api. so the studio became a server — plain png files, pillow underneath, mcp on top. claude holds the pen: build a ramp, block the silhouette, shade it, light it, then rig it and let the server stamp the frames.

  • 40tools
  • 10motion presets
  • 1024²max canvas
  • 256frames / gif

drawn by claude

the night market

a 128×96 canvas, back to front: dithered sky, silhouette skyline, shopfronts, wet street. nothing here is painted bright — the lanterns and the signs are the only light sources, and every warm pixel on the road is something they cast.

pixel-art night market street: neon signs, lit stalls, hanging lanterns, and a lone figure silhouetted against the light pooling on a wet road
  • bayer-dithered gradients for the sky and the reflections
  • two glow passes — lantern warm, sign pink — cast onto what was already drawn
  • a seeded jitter pass to keep the brickwork from reading as plastic

one drawing, three cycles

the courier

the character is drawn exactly once, side-on, with the limbs parked in a bin off to the right. a rig boxes those parts and names them; after that the server composites the frames itself — so a walk, a run and an idle all come out of the same pixels.

the courier sprite beside its parts bin: two arms and two legs drawn separately from the body

the whole source: body on the left, limbs binned on the right so two of them can overlap once placed.

the courier's walk cycle, generated from the single drawing above

walk

arms swinging against the legs, the body dipping twice per stride.

the 8 frames of the walk cycle, side by side at true size8f
the courier's run cycle, generated from the single drawing above

run

the same parts, reaching further, with a real lift between contacts.

the 8 frames of the run cycle, side by side at true size8f
the courier's idle cycle, generated from the single drawing above

idle

one pixel of breath in the torso, the arms trailing a beat behind.

the 4 frames of the idle cycle, side by side at true size4f

v0.2 → v0.8

the golem, redrawn

the first thing the server ever drew, drawn again on the same 32-pixel canvas. nothing about the subject changed — the toolkit under it did.

before
the original golem: flat grey blocks with no shading

flat fills, hand-placed. one value per surface, so nothing has a form.

after
the redrawn golem: bevel-shaded stone with cracks, a glowing rune and lit eyes

a seven-step stone ramp, bevel shading per limb, cracks, grain, and a rune that lights the chest around it.

the redrawn golem walking, six generated frames

and it walks now

rigged front-on and handed to the walk_front preset — the six frames are generated, not drawn.

the six frames of the golem's walk, side by side at true size6f

run it yourself

setup

requires uv — register once, every claude code session gets the studio.

claude mcp add pixelart -s user -- uv --directory /path/to/pixelart-mcp run -m pixelart_mcp