pixel-art-factory
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@pixel-art-factorygenerate a 64x64 pixel art icon of a golden key"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Features
Capability | Description |
Local generation | SDXL base + |
Pixel post-process | Downscale, palette quantization, transparency trim |
Game presets |
|
Batch manifests | JSON-driven asset packs in |
MCP tools | Six tools for Cursor agents and other MCP clients |
Engine export | Spritesheet packing + Phaser atlas JSON |
Related MCP server: mcp-image-tools
Requirements
GPU: NVIDIA with CUDA (8 GB+ VRAM recommended)
Python: 3.12+
Node.js: 20+
OS: Windows or Linux (setup scripts provided for both)
Quick start
1. Clone and install
Windows (PowerShell)
git clone https://github.com/RosemyneH/pixel-art-factory.git
cd pixel-art-factory
.\scripts\setup.ps1Linux / macOS
git clone https://github.com/RosemyneH/pixel-art-factory.git
cd pixel-art-factory
./scripts/setup.shFirst run downloads PyTorch + SDXL models (~10–15 GB). Use
-SkipModelDownloadon Windows orSKIP_MODEL_DOWNLOAD=1on Linux to defer until first generate.
2. Verify the engine
# Windows
.\.venv\Scripts\python.exe -m engine.cli status
# Linux / macOS
./.venv/bin/python -m engine.cli status3. Generate a test asset
python -m engine.cli generate "green slime enemy" --type sprite --name slimeOutput lands in assets/output/ with metadata in assets/output/.meta/.
Agent / MCP setup
Pixel Art Factory exposes a stdio MCP server that keeps the Python engine warm for fast repeated generations.
Step 1 — Build the MCP server
cd mcp-server
npm install
npm run buildStep 2 — Add to Cursor
Copy mcp.json.example into your Cursor MCP config:
Location | Scope |
| Global (all projects) |
| Single project |
Replace <REPO_ROOT> with the absolute path to your clone.
Windows
{
"mcpServers": {
"pixel-art-factory": {
"command": "node",
"args": ["C:/path/to/pixel-art-factory/mcp-server/dist/index.js"],
"env": {
"PIXEL_FACTORY_PYTHON": "C:/path/to/pixel-art-factory/.venv/Scripts/python.exe"
}
}
}
}Linux / macOS
{
"mcpServers": {
"pixel-art-factory": {
"command": "node",
"args": ["/path/to/pixel-art-factory/mcp-server/dist/index.js"],
"env": {
"PIXEL_FACTORY_PYTHON": "/path/to/pixel-art-factory/.venv/bin/python"
}
}
}
}Step 3 — Restart Cursor
Open Settings → MCP and confirm pixel-art-factory shows as connected.
Step 4 — Smoke test (agent prompt)
Paste into any Cursor agent:
Call engine_status on pixel-art-factory, then generate_pixel_art with prompt "gold coin pickup" asset_type icon name coin_iconMCP tools reference
Tool | Purpose |
| GPU, CUDA, model, and output paths |
| Single asset from a text prompt |
| Run a manifest (e.g. |
| Browse recent outputs + metadata |
| Pack animation frames into one sheet |
| Export Phaser atlas JSON for an asset |
generate_pixel_art parameters
Param | Type | Default | Notes |
| string | required | What to generate |
| enum |
|
|
| number |
| Final pixel width |
| number |
| Final pixel height |
| number |
| Color count after quantization |
| number | — | Reproducible output |
| string | — | Output filename slug |
| string[] | — | Stored in metadata |
Batch manifests
Save to assets/manifests/<name>.json:
{
"name": "starter-pack",
"assets": [
{
"prompt": "wooden treasure chest closed",
"asset_type": "item",
"name": "chest_closed",
"tags": ["loot"]
},
{
"prompt": "grass ground tile top-down",
"asset_type": "tile",
"name": "grass_tile",
"tags": ["terrain"]
}
]
}Run via CLI or MCP:
python -m engine.cli batch starter-pack.jsonbatch_generate_assets(manifest: "starter-pack.json")Agent workflow tips
Always call
engine_statusfirst — confirms GPU + model before a long batch.Use manifests for packs — one MCP call generates many assets with consistent presets.
Name your assets —
namebecomes the filename; agents can reference it inexport_game_asset.Tune presets — edit
pipeline/presets.jsonfor per-type sizes, steps, and prompt prefixes.Keep the engine warm — the MCP server holds the model loaded; avoid spawning separate CLI processes during agent sessions.
Project layout
pixel-art-factory/
├── engine/ # Python SDXL + pixel pipeline + CLI
├── mcp-server/ # TypeScript MCP bridge (stdio)
├── pipeline/ # Asset-type presets
├── assets/
│ ├── manifests/ # Batch job definitions
│ └── output/ # Generated PNGs (gitignored)
├── scripts/ # setup.ps1, setup.sh
├── tests/ # Pipeline unit tests
└── mcp.json.example # Cursor MCP config templateModels
Role | Model |
Base |
|
LoRA |
|
VAE |
|
Fallback |
|
Models download automatically on first run via engine.cli prefetch.
Development
# Run tests
python -m unittest discover -s tests -v
# Rebuild MCP server after TS changes
cd mcp-server && npm run buildLicense
MIT © 2026 RosemyneH
This server cannot be deployed
Maintenance
Related MCP Connectors
Generate authentic pixel art - sprites, animations, and tilesets - from any MCP client
OCR, transcription, file extraction, and image generation for AI agents via MCP.
Generate pixel art sprites, animations, 8-direction rotations and palettes for games.
Generate game-ready 3D models, textures, and audio from natural language, over MCP.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceMCP server for programmatically creating and editing Aseprite sprites, enabling AI agents to draw, manage layers and frames, and iterate until the desired result is achieved.MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to perform image processing tasks such as sprite sheet splitting, resizing, cropping, and batch operations on local images.MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI to generate and compile Aseprite game art, producing sprite files, sheets, and engine JSON with tools for initialization, briefs, pixel painting, building, validation, and opening in Aseprite.MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to create, inspect, edit, and export pixel art, sprites, animations, and spritesheets using headless Aseprite, and to convert arbitrary images into indexed pixel art.MIT