Skip to main content
Glama

play_level

Generate a web player URL to preview and test VibeTide 2D platformer levels using encoded level data for immediate gameplay visualization.

Instructions

Get the URL to play a VibeTide level in the web player.

Args:
    encoded_level: An encoded level string for playing

Returns a URL to play the level.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
encoded_levelYes

Implementation Reference

  • The primary handler for the 'play_level' tool. Decorated with @mcp.tool() for automatic registration in FastMCP. Decodes the encoded_level to extract the level name and constructs the play URL using the configured web player base URL. Includes schema definition in the docstring for input (encoded_level: str) and output structure.
    @mcp.tool()
    async def play_level(encoded_level: str) -> Dict[str, Any]:
        """Get the URL to play a VibeTide level in the web player.
    
        Args:
            encoded_level: An encoded level string for playing
    
        Returns a URL to play the level.
        """
        try:
            # Decode level to get name
            try:
                level_data = level_encoder.decode(encoded_level)
                level_name = level_data.get("name", "Unnamed Level")
            except Exception as e:
                return {"success": False, "error": f"Invalid encoded level: {str(e)}"}
    
            play_url = f"{VIBE_TIDE_CONFIG['web_player_url']}?level={encoded_level}"
    
            return {
                "success": True,
                "play_url": play_url,
                "level_name": level_name,
                "web_player_url": VIBE_TIDE_CONFIG["web_player_url"],
                "message": f"Ready to play '{level_name}' at: {play_url}",
            }
    
        except Exception as e:
            logger.error(f"Failed to prepare level for playing: {e}")
            return {
                "success": False,
                "error": f"Failed to prepare level for playing: {str(e)}",
            }

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/banjtheman/vibe_tide_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server