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. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| 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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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