ice-puzzle-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ICE_PUZZLE_PROJECT_ID | No | The project ID for the Firebase instance. Defaults to 'ice-puzzle-game'. | ice-puzzle-game |
| ICE_PUZZLE_FIREBASE_APP_ID | No | Explicit Firebase App ID override. | |
| ICE_PUZZLE_FIREBASE_API_KEY | No | Explicit Firebase API key override. | |
| ICE_PUZZLE_FIREBASE_AUTH_DOMAIN | No | Explicit Firebase Auth domain override. | |
| ICE_PUZZLE_FIREBASE_STORAGE_BUCKET | No | Explicit Firebase Storage bucket override. | |
| ICE_PUZZLE_FIREBASE_MESSAGING_SENDER_ID | No | Explicit Firebase Messaging sender ID override. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
| prompts | {} |
| resources | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| create_levelB | Create a new empty ice puzzle level |
| get_levelB | Get the current working draft level with details and visualization |
| list_draftsB | List all locally saved draft snapshots |
| save_local_draftA | Save a snapshot of the current draft in local MCP memory |
| load_local_draftC | Load a locally saved draft snapshot by ID |
| delete_draftC | Delete a locally saved draft snapshot |
| import_levelC | Import a level from PuzzleData JSON |
| export_levelB | Export the current working draft as PuzzleData JSON |
| rename_levelC | Rename the current working draft without recreating it |
| undoB | Undo the last edit operation |
| redoB | Redo the most recently undone operation |
| revert_to_last_solvableB | Restore the latest known solvable state |
| place_tileC | Place a tile (rock, lava, hot_coals, or spike) at position. Auto-solves. |
| remove_tileB | Remove any tile at position. Auto-solves. |
| move_tileC | Move one tile/special element from one coordinate to another. Auto-solves. |
| place_tiles_batchC | Place multiple tiles at once. Auto-solves. |
| fill_regionB | Fill a rectangular region with a tile type. Auto-solves. |
| clear_regionA | Clear all tiles in a rectangular region. Auto-solves. |
| set_grid_sizeB | Resize the level grid. Elements outside new bounds are removed. |
| set_startC | Set the player start position |
| set_goalC | Set the goal position (can be on edge/wall) |
| set_parC | Set explicit par (target shortest optimal move count) for the current draft |
| set_par_to_shortestB | Solve and set par to the current solver shortest path length |
| clear_levelB | Clear all elements from the level, keeping grid size |
| add_warp_pairC | Add a warp portal pair connecting two positions |
| remove_warpC | Remove a warp pair by ID |
| add_thin_iceC | Add thin ice tiles (break after crossing) |
| remove_thin_iceC | Remove thin ice tiles |
| add_pushable_rockC | Add pushable rocks |
| remove_pushable_rockC | Remove pushable rocks |
| set_pressure_plateC | Set pressure plate position (deactivates barrier) |
| remove_pressure_plateC | Remove the pressure plate |
| set_barrierB | Set barrier position (kills if pressure plate not activated) |
| remove_barrierC | Remove the barrier |
| solve_levelB | Run BFS solver on current level with direction balance and unsolvable diagnostics |
| test_placementA | Dry-run placing one tile and solve without modifying the draft |
| reachable_fromC | Analyze all reachable landing positions from a starting coordinate |
| suggest_stop_pointsB | Suggest blocker placements to stop a slide at intermediate points |
| seed_layout_patternC | Apply a starter rock skeleton pattern to bootstrap solvable layout design |
| suggest_skeleton_layoutB | Suggest starter rock skeleton plans without modifying the current draft |
| simulate_moveC | Simulate a single slide move from a position |
| simulate_playthroughC | Simulate a full sequence of moves |
| analyze_difficultyC | Analyze current level difficulty and characteristics |
| validate_quality_gateC | Run canonical parity/quality checks (par-shortest, timeout rule, warp parity, hot coals shortcut diagnostics) |
| check_publish_readinessB | Check publish blockers: auth status + strict quality gate |
| visualize_levelB | Show ASCII art visualization of current level |
| get_game_rulesB | Get comprehensive ice puzzle game rules and design guide |
| get_tile_typesB | Get all tile types with behavior descriptions |
| get_level_requirementsB | Get requirements for publishable levels |
| interaction_faqC | Get quick-reference interaction outcomes for adjacent mechanic combinations |
| list_campaign_examplesB | List campaign level examples by difficulty tier (easy/medium/hard) with solver solutions |
| get_campaign_exampleC | Get one campaign level example (by level number or ID) with solution and optional PuzzleData |
| save_draftA | Save the current draft to Firebase (requires authentication) |
| load_draftC | Load a draft from Firebase by ID |
| delete_remote_draftB | Delete a remote draft from Firebase by ID |
| list_remote_draftsB | List all remote drafts from Firebase |
| list_my_published_levelsB | List your marketplace levels with status filter, sorting, and pagination |
| get_my_published_levelB | Get one of your published marketplace levels by ID |
| unpublish_levelC | Unpublish (soft-delete) one of your marketplace levels by ID |
| restore_published_levelA | Restore an unpublished marketplace level back to ACTIVE status |
| publish_levelC | Publish the current draft as a marketplace level |
| preview_levelB | Create or update a shareable preview link without publishing to marketplace |
| auth_statusB | Check Firebase authentication status |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| build-level | Build a solvable ice puzzle level |
| improve-level | Analyze and improve the current level |
| challenge-level | Build a challenging level using all mechanics |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| Game Rules | Comprehensive ice puzzle game rules and design guide |
| Tile Types | All tile types with behavior descriptions |
| Current Level | Current working draft level data and visualization |
| Campaign Examples | All campaign level examples with difficulty tiers and shortest solutions |
| Campaign Examples (Easy) | Easy campaign level examples with shortest solutions |
| Campaign Examples (Medium) | Medium campaign level examples with shortest solutions |
| Campaign Examples (Hard) | Hard campaign level examples with shortest solutions |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/wmoten/ice-puzzle-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server