lpc-character-mcp (Cloudflare Worker)
A hosted MCP server that randomly generates Universal LPC SpritesheetCharacter Generatorcharacters and renders each as a full animation spritesheet PNG — no localinstall, no AI image model, just real sprite layers composited on a canvas.
Runs entirely on Cloudflare Workers + Browser Rendering (headlessChromium via @cloudflare/puppeteer), with the ~141k sprite assets and everygenerated character stored in R2.
Endpoints
| Route | Purpose |
|---|---|
GET /mcp |
MCP Streamable HTTP endpoint (tool: generate_random_character) |
GET /api/generate |
Generate one character on demand → JSON { files: [...] } |
GET /api/files |
List every generated spritesheet stored in R2 |
GET /files |
Backend page: browse + download generated characters |
GET /generated/* |
Serve a generated PNG from R2 |
GET /spritesheets/* |
Serve a source sprite layer from R2 |
GET /mcp-docs.html |
Landing/docs page with a live "Randomize" button |
MCP tool parameters
| Name | Type | Default | Notes |
|---|---|---|---|
count |
integer 1–8 | 1 |
Characters per call |
bodyType |
enum | random |
male female teen child muscular pregnant |
seed |
integer | — | Reproducible results across a batch |
includeRareExtras |
boolean | false |
Wounds, tails, wings, prostheses, etc. |
humanOnly |
boolean | false |
Human faces + normal skin bodies only |
Connect
claude mcp add --transport http lpc-character-remote https://lpc-character-mcp.gamezxz.workers.dev/mcp
Storage
Generated characters live under the generated/ prefix in R2 and areauto-deleted after 30 days by a bucket lifecycle rule(expire-generated-30d).
Develop / deploy
See DEPLOY.md. In short:
npm install
npx wrangler deploy
PUBLIC_URL in wrangler.jsonc must point at the Worker's own public URL —Browser Rendering navigates over the real network.