使用说明
MCP资产生成服务器
一种模型上下文协议(MCP)服务器,用于生成各种类型的资产,包括用于游戏开发的图像、视频、音频和3D模型。
Three.js示例场景 演示视频 位于 磁通159/三发电机.
特性
- 图像生成:支持多个提供商(OpenAI DALL-E、Google Gemini、Fal.ai)
- 视频生成:即将推出
- 音频生成:即将推出
- 3D模型生成:使用FAL.ai Trellis和Hunyuan3D 2.0生成3D模型
- 游戏开发重点:针对创建游戏资产进行了优化
安装
# Clone the repository
git clone <repository-url>
cd mcp-game-asset-gen
# Install dependencies
npm install
# Build the project
npm run build
发展
# Run in development mode with hot reload
npm run dev
# Run tests
npm test
# Run tests with UI
npm run test:ui
# Type checking
npm run typecheck
# Linting
npm run lint
用法
服务器通过MCP协议为资产生成提供工具和提示。
可用工具
图像生成
-
openai_generate_image:使用OpenAI的图像生成API生成图像- 参数:
prompt(必填):要生成的图像的详细描述outputPath(必填):应保存生成图像的路径inputImagePath(可选):编辑/更改输入图像的路径size(可选):图像尺寸(“1024x1024”、“1792x1024”、“1024x1792”)quality(可选):图像质量级别(“标准”、“高清”)style(可选):图像风格偏好(“生动”、“自然”)n(可选):要生成的图像数量(1-10)
- 参数:
-
gemini_generate_image:使用谷歌的Gemini原生图像生成功能生成图像(支持2.5 Flash和3 Pro型号)- 参数:
prompt(必填):要生成的图像的描述outputPath(必填):应保存生成图像的路径inputImagePaths(可选):输入图像的路径数组,用于变化/组合model(可选):要使用的Gemini模型('Gemini-2.5-flash-image','Gemini-3-pro-image-review',默认值:Gemini-3-pro-image-review)
- 参数:
-
falai_generate_image:使用FAL.ai的Qwen图像生成模型生成高质量图像- 参数:
prompt(必填):图像生成的详细提示outputPath(必填):应保存生成图像的路径image_size(可选):图像大小预设(“方形”、“正方形”、“肖像_4_3'、“肖像_16_9'、“景观_4_3”、“景观_16_9”)num_inference_steps(可选):推理步骤数(1-50)guidance_scale(可选):如何密切关注提示(1-20)
- 参数:
-
falai_edit_image:使用FAL.ai的Qwen图像编辑模型编辑图像- 参数:
prompt(必填):描述所需编辑的详细提示inputImagePath(必填):要编辑的输入图像的路径outputPath(必填):编辑图像应保存的路径image_size(可选):图像大小预设num_inference_steps(可选):推理步骤数(1-50)guidance_scale(可选):如何密切关注提示(1-20)
- 参数:
游戏资产生成
-
generate_character_sheet:根据文本描述或参考图像生成字符表- 参数:
characterDescription(必填):角色的详细描述outputPath(必填):字符表应保存的路径referenceImagePaths(可选):参考图像路径数组(角色、服装等)model(可选):用于生成的模型(“penai”、“gemini”、“falai”,默认:gemini-使用gemini-3-pro-image-preview)style(可选):角色表的艺术风格(例如,动漫、写实、卡通)includeExpressions(可选):包含多种面部表情includePoses(可选):包括多个姿势/角度
- 参数:
-
generate_character_variation:通过组合参考图像生成字符变体- 参数:
prompt(必填):要创建的变体的描述outputPath(必填):应保存变量的路径referenceImagePaths(必填):要组合的参考图像路径数组model(可选):用于生成的模型(“penai”、“gemini”、“falai”,默认:gemini-使用gemini-3-pro-image-preview)
- 参数:
-
generate_pixel_art_character:为复古游戏生成具有特定尺寸的像素艺术角色- 参数:
characterDescription(必填):像素艺术字符的描述outputPath(必填):像素艺术应保存的路径pixelDimensions(必填):目标像素尺寸(“8x8”、“16x16”、“32x32”、“48x48”、“64x64”、“96x96”)spriteSheet(可选):生成带有动画的精灵表model(可选):要使用的模型(默认值:falai)colors(可选):调色板大小(4-256色)transparentBackground(可选):为游戏精灵生成具有透明背景的像素艺术backgroundColor(可选):使背景颜色透明(“白色”、“黑色”、“自动”,默认:白色)
- 参数:
-
generate_texture:为3D环境和材质生成无缝纹理- 参数:
textureDescription(必填):纹理描述(例如草地、砖墙、木板、精灵对象)outputPath(必填):纹理应保存的路径textureSize(可选):纹理分辨率('512x512'、'1024x1024'、'2048x2048',默认值:1024x1024)seamless(可选):生成无缝/可平铺纹理model(可选):要使用的模型(默认值:falai)materialType(可选):纹理贴图的类型(“差异”、“法线”、“粗糙度”、“位移”)transparentBackground(可选):为精灵/贴花生成具有透明背景的纹理backgroundColor(可选):使背景颜色透明(“白色”、“黑色”、“自动”,默认:白色)transparencyTolerance(可选):透明度的颜色变化容差(0-255,默认值:30)
- 参数:
-
generate_object_sheet:为3D建模生成多视点参考表- 参数:
objectDescription(必填):3D对象的描述outputBasePath(必填):输出文件的基本路径(将附加_front.png、_side.png等)viewpoints(可选):要生成的视点(“前”、“后”、“左”、“右”、“上”、“下”、“透视”)model(可选):要使用的模型(默认:gemini-使用gemini-3-pro-image-preview)style(可选):艺术风格(如技术图纸、概念艺术)
- 参数:
3D模型生成
image_to_3d:使用具有自动参考图像生成功能的高级AI模型从图像生成3D模型- 参数:
outputPath(必填):应保存生成的3D模型的路径(.glb或.gltf)prompt(可选):要生成的3D模型的描述(用于自动生成参考图像)inputImagePaths(可选):输入图像或base64 URI的路径数组。如果没有提供,将自动生成参考图像model(可选):3D生成模型('hunyuan3d'、'grist'、'hunyuanworld',默认:hunyuan3d)variant(可选):型号变体(“单”、“多”、“单涡轮”、“多级涡轮”,默认:自动选择)format(可选):输出格式('glb','gltf',默认:glb用于网络/游戏兼容性)textured_mesh(可选):生成纹理网格(仅限Hunyuan3D,成本为3倍,默认值为true)autoGenerateReferences(可选):如果没有提供输入图像,则从提示中自动生成参考图像(默认值:true)referenceModel(可选):用于自动生成参考图像的模型(“penai”、“gemini”、“falai”,默认:gemini-使用gemini-3-pro-image-preview)referenceViews(可选):为参考图像生成的视图(默认值:[“正面”、“背面”、“顶部”])cleanupReferences(可选):在3D生成后清理自动生成的参考图像(默认值:true)
- 参数:
可用提示
asset_generation:为游戏开发生成各种类型的资产- 参数:
asset_type(必填):资产类型(“图像”、“视频”、“音频”、“3d”)style(可选):艺术风格或主题
- 参数:
配置
您需要为各种提供程序配置API密钥:
# Environment variables
export OPENAI_API_KEY="your-openai-key"
export GEMINI_API_KEY="your-gemini-key"
export FAL_AI_API_KEY="your-fal-key"
工具筛选(可选)
为了减少上下文使用,您可以限制可用的工具:
# Only expose specific tools
export ALLOWED_TOOLS="openai_generate_image,gemini_generate_image,generate_texture"
# Available tools:
# - openai_generate_image
# - gemini_generate_image
# - falai_generate_image
# - falai_edit_image
# - generate_character_sheet
# - generate_character_variation
# - generate_pixel_art_character (with transparent background support)
# - generate_texture (with transparent background support for sprites/decals)
# - generate_object_sheet
# - image_to_3d (unified 3D generation with automatic reference images)
## Transparent Background Generation
The server supports generating images with transparent backgrounds, perfect for game sprites and decals. This uses a two-step process with native JavaScript:
1. Generate the image with a solid white/black background
2. Convert the solid background to transparent alpha using native JavaScript processing
### Features
- **Native JavaScript**: No external dependencies required
- **Auto-detection**: Automatically detects white or black backgrounds
- **Adjustable tolerance**: Control how much color variation to allow
- **PNG support**: Works with PNG images for transparency
### Examples
```bash
# Generate transparent sprite texture
generate_texture \
--textureDescription "magic fireball effect" \
--outputPath "fireball_sprite.png" \
--transparentBackground true \
--backgroundColor "black" \
--materialType "diffuse"
# Generate pixel art character with transparent background
generate_pixel_art_character \
--characterDescription "knight with sword" \
--outputPath "knight_sprite.png" \
--pixelDimensions "32x32" \
--transparentBackground true \
--colors 16
# Generate 3D model with automatic reference images
image_to_3d \
--prompt "fantasy sword with ornate handle" \
--outputPath "sword_model.glb" \
--model "hunyuan3d" \
--autoGenerateReferences true
# Generate character sheet with multiple poses
generate_character_sheet \
--characterDescription "female warrior with armor" \
--outputPath "warrior_sheet.png" \
--model "gemini" \
--style "realistic fantasy" \
--includeExpressions true \
--includePoses true
## Project Structure
mcp游戏资产生成/ ├── src/ │ ├── index.ts#主服务器文件 │ └── server.test.ts#测试 ├── package.json 姓名: ├── vitest.config.ts └── README.md
## Contributing
1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Add tests for new functionality
5. Run the test suite
6. Submit a pull request
## License
MIT