Skip to main content
Glama

PixelHand

Pixel art, placed with intent. Built for AI agents.

Tests License: MIT Node.js: 20.3+

An open-source engine for creating sprites, animation, and game art through MCP, CLI, or JavaScript. Local and API-driven models work with palette-indexed pixels, editable text grids, and visual feedback. Every change can be inspected, revised, and saved as source.

Get started · Connect an agent · Documentation · Contribute

Made with PixelHand

The Starfall Archive · animated environment

A lantern-bearing traveler crosses an old stone bridge to an observatory above a sea of clouds. An original 384 × 224 scene, with a 48-color palette and eight ambient animation frames: falling water, drifting fireflies, and starlight.

The Starfall Archive: a copper-domed observatory, teal-roofed library, lantern-bearing traveler, and waterfalls above a moonlit sea of clouds

Still image · Native pixels · Editable project and build notes · Authoring script

Rowan · eight-direction walk

An original 32 × 40 character with eight authored facings, four walk poses, layered limbs, and frame-by-frame review.

Rowan walking in eight directions, rendered by PixelHand

Contact sheet · Individual GIFs and audit results · Authoring script

Farmhouse · architectural study

A building study with material ramps, warm lighting, and editable pixel source.

Original farmhouse study rendered by PixelHand

Editable project · Authoring script

Art direction target - top-down 2.5D dungeon scene

Original dungeon-scene art-direction target: a hooded delver raises a lantern before an ancient sealed doorway

This is an aspirational visual reference, not PixelHand output. The goal is to build this kind of scene from separate, editable, palette-indexed game assets: top-down 2.5D floor and wall tiles, depth-sorted props, a character with authored directional poses and walk/attack animation, and layered lantern light, particles, and impact effects. The final scene should be assembled from those reusable sprites and reviewed both in motion and at native game scale, never delivered as one flattened image.

These examples were authored and iterated with the engine. They demonstrate the drawing workflow; they are not autonomous model benchmark results.

Related MCP server: aseprite-mcp

What you can build

Capability

Tools and feedback

Sprites and props

Named pixel maps, shapes, fills, outlines, masks, protected regions, and atomic edit batches

Consistent art direction

Style bibles, material ramps, palette rules, and saved visual preferences

Directional animation

Authored rigs, joint chains, planted contacts, eight-facing projection, and clip validation

Tiles and environments

Tile rules, reusable parts, materials, and scene composition

Visual review

Native-scale renders, silhouettes, value maps, differences, contact sheets, and GIF playback

Agent workflows

Typed tool contracts, compact discovery, saved briefs, recovery, and bounded local/API execution

The core has zero runtime dependencies. Projects store their art in ordinary files you can version, diff, and carry into another tool.

Get started

Requires Node.js 20.3 or newer and Git.

git clone https://github.com/SirLichDevCraft/PixelHand.git
cd PixelHand
node examples/lantern.js

This creates an original lantern project in out/lantern-example/, including saved pixel source, a PNG export, and review images. Open out/lantern-example/out/lantern.png to see the result. Supply a new destination for another run:

node examples/lantern.js /path/to/new-art-project
node src/cli.js help draw_named_map

No package installation or API key is needed for the authored example. To install CLI commands from this checkout, see the installation guide.

Connect an agent

PixelHand exposes a stdio MCP server. In Zed, add this to settings.json, replacing the path with your checkout. Windows paths can use forward slashes, for example C:/repos/PixelHand/src/mcp.js.

{
  "context_servers": {
    "pixelhand": {
      "command": "node",
      "args": ["/absolute/path/to/PixelHand/src/mcp.js"],
      "env": { "PIXELHAND_TOOLSET": "core" }
    }
  }
}

The compact core profile provides discovery and everyday editing. An agent can find specialist tools with tool_search, inspect their contracts with tool_help, and execute them through tool_call.

Start a new art project with project_init; resume one with project_open. Build from silhouette to detail, inspect the renders, and review every animation frame and facing before export.

For standalone model execution, configuration examples support Ollama, LM Studio, and compatible API endpoints. See local and API inference for setup, budgets, and recovery.

Development status

0.2.0-rc.1 · release candidate. Automated checks cover the engine, persistence, public interfaces, and provider adapters. Live local/API art-quality qualification remains open. Mechanical checks and recorded visual review are reported separately.

Release gates · Roadmap · Changelog · Architecture

npm test
npm run check
npm pack --dry-run

Free to use

The code, documentation, and original artwork in this repository are released under the MIT license. Use, modify, share, and sell them in personal or commercial projects, with no royalties, subscription, or expiry. Keep the license and copyright notice with copies or substantial portions you distribute.

PixelHand imposes no license or attribution requirement on new art you create with it. Reusing the included artwork follows its MIT terms. See asset provenance for how imported assets are tracked.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      B
      quality
      C
      maintenance
      Enables users to automate the creation, editing, animation, and export of pixel-art game assets through a multi-agent pipeline that derives style specs and blueprints, generates Lua build scripts, and drives the canvas editor to produce .aseprite files, spritesheets, atlases, GIFs, and previews.
      12
      136 npm
      3
      MIT
    • A
      license
      B
      quality
      C
      maintenance
      Enables an AI agent to create and edit pixel art directly in Aseprite — building sprites, layers, frames, animation tags and palettes, painting pixels and primitives, inspecting the rendered result, and exporting GIFs or sprite sheets. All work lands on real .aseprite files that can be opened and edited by hand.
      43
      136 npm
      1
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables AI agents to create layered pixel-art sprites and animations, inspect pixels, and export images, spritesheets, GIFs, APNGs, and TrueType pixel fonts. Documents and edits stay local, accessible over stdio MCP or callable directly from a shell.
      26
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables coding agents to create, edit, inspect, render, diff, preview, watch, and export indexed pixel-art sprites and animations as text grids through twelve MCP tools, including .tt and .aseprite import/export.
      55 npm
      1
      MIT