
LPC Character Generator
io.github.kyuza1由 GitHub 账号 kyuza1 发布v0.5.0更新于 Oct 24, 2026
Generate LPC pixel-art character spritesheets and export them to Godot, Unity and the web.
概览
根据自然语言描述生成 LPC 像素风角色精灵表,并导出为 Godot、Unity 或网页可用格式。
- 可以做什么
- 按部件、体型和动画生成角色精灵表,附带素材署名与动画检查报告
- 在对话中以动图预览角色四个方向的动画
- 搜索并查看部件、分类、颜色、变体及各体型可用的动画
- 用随机种子生成单个随机角色或批量生成 NPC
- 读取和生成角色生成器网站链接,包括旧链接与剪贴板 JSON
- 导出 Godot SpriteFrames、Unity 精灵与动画控制器、网页图集与演示页或网站 JSON,并可按动画、帧或部件拆分
- 适用场景
- 适合为 Godot 4、Unity 6、Phaser 或 PixiJS 项目快速获得占位或 NPC 像素角色,用描述代替手绘并直接得到引擎文件。
- 运行要求
- 以 stdio 本地运行,需要 uv(或 pip)和 Git,并执行一次下载部件定义的初始化步骤。可选环境变量 LPC_LANG(en 或 pt)与 LPC_OUTPUT_DIR 分别设置提示语言和输出目录,默认保存到 ~/lpc-characters。不支持只接受远程服务器的客户端。
安装
在 SourceWeft 中
- 打开 控制台中的 LPC Character Generator,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
LPC Character Generator — MCP
English · Português
An MCP server that builds LPC pixel-art character spritesheets — the same parts as the Universal LPC Spritesheet Character Generator — and exports them ready for Godot, Unity and the web (Phaser/PixiJS).
Ask in plain language ("make a tanned blacksmith with a leather apron and a hammer") and your assistant assembles the character, shows an animated preview in the chat and saves the files.
[Asking the AI for a blacksmith: animated preview and files in the chat]
[48 characters generated by the MCP]
Every character above was generated by this MCP — themed ones (knight, viking, wizard, skeleton, orc, legionary, pirate, king...) and random ones.
The in-chat preview (preview_character) is an animated GIF — here a blacksmith hammering:
[Blacksmith hammering, 4 directions]
Installation
[Installing in a terminal: setup, register in Claude Code, connected]
You need uv and Git. uv fetches the right Python and the package by itself — nothing to clone, no dependencies to install.
- Install uv (once):
- Windows:
powershell -c "irm https://astral.sh/uv/install.ps1 | iex" - macOS/Linux:
curl -LsSf https://astral.sh/uv/install.sh | sh
- Windows:
- Prepare the server (downloads the item definitions, ~10 s, only once):
- Register it in your assistant (below). The command is always
uvx lpc-character-mcp.
To run the latest code straight from GitHub, replace uvx lpc-character-mcp with
uvx --from git+https://github.com/kyuza1/lpc-character-mcp lpc-character-mcp in any example.
Characters are saved to ~/lpc-characters (on Windows, C:\Users\<you>\lpc-characters).
Set LPC_OUTPUT_DIR to change it — for example, to your Godot/Unity sprites folder.
lpc-character-mcp --where prints every folder in use. Messages are in English; set
LPC_LANG=pt for Portuguese.
Claude Code
Claude Desktop
One click: download lpc-character-mcp.mcpb from the
latest release and open it
(or drag it into Settings → Extensions). You can pick the output folder and language
during install.
Or add it by hand in Settings → Developer → Edit config (claude_desktop_config.json):
Codex (OpenAI)
Or edit ~/.codex/config.toml (on Windows, %USERPROFILE%\.codex\config.toml):
Check with codex mcp list. The same file is used by the Codex VS Code extension.
Antigravity (Google)
In the agent panel click … → MCP Servers → Manage MCP Servers →
View raw config and add to mcp_config.json (~/.gemini/config/mcp_config.json;
on Windows, %USERPROFILE%\.gemini\config\mcp_config.json):
Save and click Refresh on the MCP Servers page. In the Antigravity CLI, use /mcp.
Directories
Listed on Smithery,
Glama and the official MCP Registry
as io.github.kyuza1/lpc-character-mcp, which clients and directories that read the
registry pick up automatically.
Other MCP clients
Any client that runs stdio servers works with the same uvx lpc-character-mcp command.
Without uv (pip)
Then register the lpc-character-mcp command (no arguments) in your assistant.
Tips
- Free disk space:
lpc-character-mcp --clear-cachedeletes cached images (--clear-cache 30only those unused for 30 days). - Update:
uvx lpc-character-mcp@latest --version - App can't find
uvx: use the full path (where uvxon Windows,which uvxelsewhere).
Example requests
- "Make a tanned blacksmith with a leather apron and a hammer, export for Godot"
- "Show me an animated preview of him hammering"
- "Generate 10 random villagers with seed 1, with Unity files"
- "Open this link and generate the character: https://liberatedpixelcup.github.io/...#sex=male&body=..."
- "Which aprons have an idle animation for the male body?"
Tools
Example items:
Colors
"color": "blonde"— one color (seecolorsinget_item)."color": ["steel", "walnut"]— multi-part items (head and handle, armor and belt...). Parts are listed incolor_partsfromget_item;nullkeeps a part's default.- Head, ears, nose and other skin items without a color inherit the body color.
- One item per type, like the site: asking for two hairstyles keeps the last one (and
says so in
warnings).
Where to save
output_dir saves straight into a folder — e.g. your game's sprites folder:
"generate the blacksmith in C:/my-game/art/npcs and export for Godot". Otherwise files go
to LPC_OUTPUT_DIR or ~/lpc-characters.
Layout and parts
layout: "standard"(default) — same as the site: 832px wide, every animation always on the same row (walk at y=512, slash at y=768...). Oversized animations go below y=3456.layout: "compact"— only the requested animations, stacked.split— also saves pieces:"animation"(one PNG per animation),"frame"(one PNG per frame in<name>_frames/<animation>/<direction>_NN.png) and/or"item"(one sheet per item, for swapping outfits in-game). Accepts a list:["animation", "frame"].
Oversized animations
Big weapons and tools (swords, spears, hammer, axe, bow...) use 128 or 192px frames. They
are added automatically when their base animation is requested (asking for slash with
the hammer also produces tool_hammer).
Complete animations
Not every LPC item has art for all 15 animations (e.g. the apron has no idle, run,
jump...). In those animations the item simply disappears. To avoid surprises:
- Every result warns you.
generate_characteralways returnsanimation_check: The preview, batches and the web demo warn too. prefer_complete: truereplaces each incomplete item with the closest item that has every animation, keeping the color (e.g. apron → overalls). Replacements are listed inreplaced. The assistant is told to ask you first.- Search puts complete items first.
search_itemslists them first, showsmissing_animationsfor the others and acceptscomplete_only: true.get_itemshows what is missing and suggestscomplete_alternatives. - Random characters only use complete items.
Not counted as missing: face, nose, beard, glasses and necklaces in climb (the character
faces away), expressions in hurt, weapons/tools/shields — which by nature only appear in
their own animations (listed in equipment_only_in) — and animations the body itself
lacks (listed in body_missing).
Licenses (Steam, App Store)
LPC art comes under several licenses. For stores with DRM (Steam, App Store...) only
CC0 and OGA-BY art is safe. Pass licenses: ["CC0", "OGA-BY"] to search_items,
random_character, generate_batch or generate_character to stick to them — every art
part of the chosen body must offer one of those licenses (stricter than the site, which
accepts an item if any part does). Every result also has license_check:
Exporting to engines
Pass export to generate_character (you can combine them). Animations play in the same
frame order as the official generator (walk skips the standing frame, idle/sit/emote hold
frames...), and the site's extra animations are included: 1h_slash (one-handed slash) and
watering (with the watering can). zip: true packs everything into <name>.zip.
Art credits
Every generation writes <name>_credits.txt and <name>_credits.csv with authors,
licenses and links for only the art that was used, plus a ready-to-paste text for your
game's credits screen (credits.statement). The sprites are LPC art
(CC-BY-SA 3.0, OGA-BY 3.0, GPL 3.0 and others) — if you ship a game, include these credits.
Limitations
- Some types have no complete version at all (capes, backpacks, dresses, skirts). With
prefer_completethey stay as they are andanimation_checksays so. - The LPC muscular, child and pregnant bodies lack some animations (e.g. muscular has no
shootorclimb);animation_checkreports them inbody_missing. - Godot 3 is not supported (Godot 4 only). Unity was tested on Unity 6.
- Runs locally (stdio); it does not work with clients that only accept remote servers.
Development
From a clone, definitions, cache and output live inside the clone (lpc/, cache/,
output/). Tests run on GitHub Actions on Linux, Windows and macOS on every push and
every Monday (to catch changes in the official LPC repository). Releases are published to
PyPI automatically when a GitHub release is created. See CHANGELOG.md.
License
Code under MIT. The downloaded art belongs to the LPC artists and follows their licenses (see the generated credits files).
来源:README.md,提交 34d3788
工具
0版本历史
1- v0.5.0最新Sep 29, 2026
评分
已满足适用检查项的 40%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分
请在仓库或注册中心条目中声明许可证。