generate_2d_assetLABSCO SUMMARY
Bring your own Hugging Face space; it handles the rest.
The design decision that matters is that generation runs on a space you duplicated, so the GPU quota and the queue are yours and the server's job is prompt routing, retries and file naming. Two things to weigh before you build a pipeline on it: the documented release is 0.3.0, and the README opens with the owner saying to expect an update in June 2026.
What it is
An MCP server that routes text prompts to image and 3D models hosted on Hugging Face Spaces and saves the results to disk. 2D goes through gokaygokay/Flux-2D-Game-Assets-LoRA at 50 steps. 3D first generates an image with gokaygokay/Flux-Game-Assets-LoRA-v2 at 30 steps, then converts it on whichever space you duplicated: InstantMesh runs a multi-step chain (/check_input_image, /preprocess, /generate_mvs, /make3d), while Hunyuan3D-2 and Hunyuan3D-2mini-Turbo do it in a single /generation_all call. Files land in an assets directory and come back as asset:// URIs. Version 0.3.0, on the MCP TypeScript SDK 1.7.0.
What you get
generate_2d_asset— a prompt such as "pixel art sword" returns a PNG saved underassetsand a URI likeasset://2d_asset/filename.pnggenerate_3d_asset— a prompt returns OBJ and GLB files plus the intermediate image, with an operation ID for the long-running conversion- Two registered prompts alongside the tools:
generate_2d_spriteandgenerate_3d_model - A choice of three 3D backends, picked by which space you duplicated;
MODEL_SPACE_TYPEoverrides detection withinstantmesh,hunyuan3dorhunyuan3d_mini_turbo - Generation controls per space —
MODEL_3D_STEPS,MODEL_3D_GUIDANCE_SCALE,MODEL_3D_OCTREE_RESOLUTION,MODEL_3D_SEED,MODEL_3D_REMOVE_BACKGROUND, andMODEL_3D_TURBO_MODE(Turbo,Fast,Standard) on Hunyuan3D-2mini-Turbo - Stdio for local use and SSE for remote (
node src/index.js --sse), optionally over HTTPS withssl/key.pemandssl/cert.pem - Assets named with a prefix, tool name, timestamp and unique ID, and readable back through
asset://resource URIs - Every prompt extended with "high detailed, complete object, not cut off, white solid background" before it reaches the model
Requirements
Node.js 16 or newer and a Hugging Face account. HF_TOKEN and MODEL_SPACE are the two required entries in .env, and MODEL_SPACE has to point at a space you duplicated into your own account — <YOUR_USERNAME>/InstantMesh — because generation runs through the Gradio client against your copy rather than a shared endpoint. Duplicate one of tencentARC/InstantMesh, tencent/Hunyuan3D-2 or tencent/Hunyuan3D-2mini-Turbo. Install is from a clone: npm install, then npm start. Assets are written to ./assets inside the working directory, which you move by passing a path — node src/index.js <YOUR_PATH_TO_DIRECTORY>. SSE listens on PORT, default 3000.
Setup effort
Build from source — git clone https://github.com/sato942/game-asset-mcp.git
USE CASES
Getting a placeholder sprite while the real art is queued
Describe the item and a PNG lands in your assets folder with a URI you can reference, so the scene stops blocking on the art pass.
Going from a description to something you can drop into a scene
One prompt returns OBJ and GLB plus the source image; the operation ID lets the client keep working while the conversion runs.
Trading detail for turnaround on 3D
On Hunyuan3D-2mini-Turbo, set MODEL_3D_TURBO_MODE to Turbo, Fast or Standard and the same prompt costs 5, 10 or 20 steps by default.
Sharing one generator across a team
Start it with --sse so several clients connect at once, and add --https with your own key and certificate when it leaves the machine.
2 tools
Listed in project docs. Your client may show a different list.
generate_3d_assetBEFORE YOU INSTALL
What to know first
Tools you get
2 tools named in the project's documentation.
Requires
- Node.js Version 16+
- HF_TOKEN in your environment
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
You clone this one yourself.
Server setup
git clone https://github.com/sato942/game-asset-mcp.git
cd game-asset-mcp
npm installDuplicate one 3D space into your Hugging Face account — InstantMesh (https://huggingface.co/spaces/tencentARC/InstantMesh), Hunyuan3D-2 (https://huggingface.co/spaces/tencent/Hunyuan3D-2) or Hunyuan3D-2mini-Turbo (https://huggingface.co/spaces/tencent/Hunyuan3D-2mini-Turbo) — and create a token at https://huggingface.co/settings/tokens
MCP Clients
Claude Desktop
{
"mcpServers": {
"game-asset-generator": {
"command": "node",
"args": [
"<YOUR_PATH_TO_GAME_ASSET_MCP>/src/index.js",
"<YOUR_PATH_TO_GAME_ASSET_MCP>"
],
"env": {
"HF_TOKEN": "<YOUR_HF_TOKEN>",
"MODEL_SPACE": "<YOUR_USERNAME>/InstantMesh"
}
}
}
}Claude Desktop does not start the server inside your clone, and the server reads .env only from the folder it starts in — so this block hands it HF_TOKEN and MODEL_SPACE directly. The second path is the folder where generated files are saved, under assets; your clone works.