Skip to main content

pixellab-mcp

Generate pixel art game assets (characters, animations, tilesets) directly from code using PixelLab MCP Server. Use when creating game assets, character sprites, animations, or tilesets for game development.

ソース情報

リポジトリ
pmarashian/cursor-agent-skills
ソースの最終更新活動
2026年2月13日 19:51
検出された SKILL.md の言語
英語
スター
2
フォーク
1

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
name
pixellab-mcp
description
Generate pixel art game assets (characters, animations, tilesets) directly from code using PixelLab MCP Server. Use when creating game assets, character sprites, animations, or tilesets for game development.
tags
["game-development","pixel-art","assets","sprites","tilesets","animations","godot","unity"]
# PixelLab MCP Server Generate pixel art game assets (characters, animations, tilesets) directly from code using the PixelLab MCP Server. ## Overview The PixelLab MCP Server provides tools for generating pixel art game assets programmatically. All creation operations are **non-blocking** - they return immediately with job IDs and process in the background (typically 2-5 minutes). **Server URL:** https://api.pixellab.ai/mcp ## Setup The MCP server is already configured and enabled. You can call these tools directly - they will be available in your tool list. ## Non-Blocking Operations **CRITICAL CONCEPT:** All creation tools return immediately with job IDs - they process in the background (2-5 minutes): - Submit request → Get job ID instantly - Process runs in background - Check status with corresponding `get_*` tool - Download when ready (UUID serves as access key) - No authentication needed for downloads - share download links freely This means you should: 1. Submit creation requests 2. Continue with other work or check status periodically 3. Download assets when status indicates completion ## Available Tools ### Character Tools - `create_character` - Create a new character sprite - `animate_character` - Add animations to an existing character - `get_character` - Get character status and download URLs - `list_characters` - List all your characters - `delete_character` - Delete a character ### Top-Down Tileset Tools - `create_topdown_tileset` - Create a top-down tileset (16 Wang tiles) - `get_topdown_tileset` - Get tileset status and download URLs - `list_topdown_tilesets` - List all your top-down tilesets - `delete_topdown_tileset` - Delete a tileset ### Sidescroller Tileset Tools - `create_sidescroller_tileset` - Create a sidescroller tileset - `get_sidescroller_tileset` - Get tileset status and download URLs - `list_sidescroller_tilesets` - List all your sidescroller tilesets - `delete_sidescroller_tileset` - Delete a tileset ### Isometric Tile Tools - `create_isometric_tile` - Create an isometric tile - `get_isometric_tile` - Get tile status and download URLs - `list_isometric_tiles` - List all your isometric tiles - `delete_isometric_tile` - Delete a tile ## Character Creation Workflow ### Basic Character Creation ```python # Create a character with 4 directions character = create_character( description="A brave knight with red armor and a sword", n_directions=4, # or 8 for more directions size=48, # Canvas size in pixels proportions='{"type": "preset", "name": "heroic"}' ) # Returns: { "character_id": "uuid", "status": "processing" } ``` ### Direction Options - **4 directions:** south, west, east, north - **8 directions:** adds south-east, north-east, north-west, south-west ### Character Sizing - Canvas size: Character will be ~60% of canvas height - Example: 48px canvas = ~29px tall character - Common sizes: 32px, 48px, 64px ### Proportions Use preset proportions or custom: - `'{"type": "preset", "name": "heroic"}'` - Heroic proportions - `'{"type": "preset", "name": "chibi"}'` - Chibi/cute proportions - Custom proportions can be specified as JSON ### Adding Animations Queue animations immediately after creation: ```python # Create character first character_id = create_character(...)["character_id"] # Queue walk animation animate_character(character_id, 'walk') # Other animation templates: # - 'walk' # - 'running-8-frames' # - 'jumping-1' # - And more... ``` ### Checking Status ```python # Check if character is ready status = get_character(character_id) # Returns: { "status": "completed", "download_url": "...", ... } ``` ### Character Storage - Characters are stored permanently and can be reused - Characters created via MCP appear in web interfaces (Character Creator) if using same account - Use `list_characters()` to see all your characters ## Tileset Creation ### Top-Down Tilesets Creates 16 Wang tiles for seamless terrain: ```python tileset = create_topdown_tileset( lower_description="Grassy terrain with small rocks", upper_description="Dirt path with stones" ) # Returns: { "tileset_id": "uuid", "status": "processing" } ``` **Use Cases:** - Overworld maps - Strategy games - RPGs with top-down view - Seamless terrain generation **Chain tilesets for consistency:** ```python # Create base tileset base = create_topdown_tileset(...) # Create related tileset using base for consistency related = create_topdown_tileset( lower_description="Sandy beach", upper_description="Ocean water", base_tile_id=base["tileset_id"] # Links to base for visual consistency ) ``` ### Sidescroller Tilesets For 2D platformers: ```python tileset = create_sidescroller_tileset( lower_description="Stone platform with cracks", transition_description="Grass-to-stone transition" ) # Returns: { "tileset_id": "uuid", "status": "processing" } ``` **Use Cases:** - 2D platformers - Side-scrolling games - Metroidvania-style games ### Isometric Tiles For 3D-looking game assets: ```python tile = create_isometric_tile( description="Medieval stone block with moss", size=32, # Recommended: 32px or larger (24px minimum) tile_shape='block' # Options: 'block', 'floor', etc. ) # Returns: { "tile_id": "uuid", "status": "processing" } ``` **Use Cases:** - Isometric games - 3D-looking 2D games - Strategy games with isometric view **Size Recommendations:** - Minimum: 24px - Recommended: 32px or larger - Larger sizes produce better quality ## Key Tips and Best Practices ### Canvas and Sizing - **Character canvas size:** Character will be ~60% of canvas height (e.g., 48px canvas = ~29px tall character) - **Tile sizes:** Typically 16x16 or 32x32 pixels for tilesets - **Isometric tiles:** Sizes above 24px produce better quality (32px recommended) ### Animation Templates Use `template_animation_id` parameter with values like: - `'walk'` - Standard walk cycle - `'running-8-frames'` - Running animation with 8 frames - `'jumping-1'` - Jump animation - Check available templates in documentation ### Download URLs - UUID acts as access key - no authentication required for downloads - Share download links freely - Download URLs are permanent ### Integration with Web Interfaces - Characters/tilesets created via MCP appear in web interfaces (Character Creator, Map Workshop) if using same account - You can continue editing in web interfaces after creation ### Chaining Tilesets - Use `base_tile_id` parameters to chain tilesets for visual consistency across terrain types - Useful for creating related terrain sets (e.g., grass → dirt → stone transitions) ### Status Checking - All creation operations are asynchronous - Poll `get_*` tools periodically to check status - Typical processing time: 2-5 minutes - Status values: `"processing"`, `"completed"`, `"failed"` ## Available Resources ### Documentation Resources Access these via `pixellab://docs/` URLs: - `pixellab://docs/overview` - Complete platform overview - `pixellab://docs/godot/wang-tilesets` - Godot 4.x Wang tileset implementation - `pixellab://docs/godot/sidescroller-tilesets` - Godot 4.x sidescroller implementation - `pixellab://docs/godot/isometric-tiles` - Godot 4.x isometric tiles guide - `pixellab://docs/unity/isometric-tilemaps-2d` - Unity 2D isometric tilemap guide - `pixellab://docs/python/wang-tilesets` - Python Wang tileset implementation - `pixellab://docs/python/sidescroller-tilesets` - Python sidescroller implementation ## Example Workflows ### Complete Character Creation ```python # 1. Create character character = create_character( description="A brave knight with red armor", n_directions=8, size=48, proportions='{"type": "preset", "name": "heroic"}' ) character_id = character["character_id"] # 2. Queue animations animate_character(character_id, 'walk') animate_character(character_id, 'running-8-frames') # 3. Check status (poll until ready) import time while True: status = get_character(character_id) if status["status"] == "completed": print(f"Download: {status['download_url']}") break elif status["status"] == "failed": print("Creation failed") break time.sleep(10) # Wait 10 seconds before checking again ``` ### Tileset Chain for Terrain ```python # Create base grass tileset grass = create_topdown_tileset( lower_description="Lush green grass", upper_description="Grass with small flowers" ) # Create dirt tileset linked to grass dirt = create_topdown_tileset( lower_description="Brown dirt path", upper_description="Dirt with footprints", base_tile_id=grass["tileset_id"] ) # Create stone tileset linked to dirt stone = create_topdown_tileset( lower_description="Gray stone floor", upper_description="Stone with cracks", base_tile_id=dirt["tileset_id"] ) ``` ## Tool Parameters Reference ### create_character - `description` (string, required) - Character description - `n_directions` (int, optional) - Number of directions (4 or 8, default: 4) - `size` (int, optional) - Canvas size in pixels (default: 48) - `proportions` (string, optional) - JSON string with proportions (default: heroic preset) ### animate_character - `character_id` (string, required) - Character UUID - `template_animation_id` (string, required) - Animation template name ### create_topdown_tileset - `lower_description` (string, required) - Description for lower layer - `upper_description` (string, required) - Description for upper layer - `base_tile_id` (string, optional) - Base tileset ID for visual consistency ### create_sidescroller_tileset - `lower_description` (string, required) - Description for lower layer - `transition_description` (string, required) - Description for transition - `base_tile_id` (string, optional) - Base tileset ID for visual consistency ### create_isometric_tile - `description` (string, required) - Tile description - `size` (int, optional) - Tile size in pixels (default: 32, minimum: 24) - `tile_shape` (string, optional) - Tile shape type (default: 'block') ## Error Handling - Check status regularly - operations may fail - Failed operations will have `status: "failed"` in response - Retry creation if needed - Download URLs are only available when status is `"completed"`
GitHubで見る