LPC Character MCP

model context protocol · cloudflare workers · browser rendering

Randomly generates Universal LPC Spritesheet game characters — full animated spritesheets, one MCP tool call away. No install, hosted and ready.

🖼️  Generated files

mcp streamable http · works with claude code & claude desktop · free to connect

Latest output

recent calls to generate_random_character · see all →

Try it live

Hit Randomize to generate a character right here — rendered live, then download the full spritesheet.

Connect

This server is hosted — no cloning, no npm install. Add it with:

claude mcp add --transport http lpc-character-remote https://lpc-character-mcp.gamezxz.workers.dev/mcp

Any MCP client that speaks Streamable HTTP can connect the same way — just point it at that URL.

Why this MCP

🎲

Real variety

Every category — hair, clothes, weapons, colors — gets tiered odds, so batches look varied instead of maxed out.

🏷️

Tag-safe combos

Enforces body-type and tag compatibility the app itself doesn't check, so you don't get broken sprite paths.

🌱

Seedable

Pass a seed for reproducible characters — useful for regenerating or sharing a specific result.

🖼️

Full spritesheet

Returns the complete animation sheet — walk, run, slash, cast, and more — not just a preview frame.

No local setup

Runs entirely on Cloudflare. No Node, no Playwright, no browser binaries on your machine.

🎛️

Batch generation

Generate up to 8 characters in a single call — handy for populating a roster fast.

How it works

1

Cloudflare Browser Rendering launches a real headless Chromium via @cloudflare/puppeteer

2

It navigates to a hosted copy of the actual generator app — same code a human would click through

3

A script picks a random valid combination and calls the app's own selectItem / renderCharacter functions

4

The composited result is read straight off the <canvas> as a PNG and returned — no AI image model involved

The ~141,000 sprite assets (~587MB) that power every combination live in R2, served by the same Worker at /spritesheets/* — far past what static asset hosting alone allows.

Parameters

NameTypeDefaultNotes
count integer 1–8 1 Characters to generate in one call.
bodyType enum random male · female · teen · child · muscular · pregnant
seed integer none For reproducible results across a batch.
includeRareExtras boolean false Raise odds of wounds, tails, wings, prostheses, and other fantasy extras.