Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| view_level | View a VibeTide level with visual representation. Args:
encoded_level: An encoded level string from a URL or sharing link
Returns a visual representation of the level. |
| view_level_image | View a VibeTide level as a beautiful PNG image with proper colors. This generates a much better visual representation than the ASCII version,
using the same colors as the web builder. The image is saved to a temporary
file and the file path is returned for MCP clients to display.
Args:
encoded_level: An encoded level string from a URL or sharing link
tile_size: Size of each tile in pixels (default 16, will auto-adjust for wide levels)
max_width: Maximum image width in pixels (default 1200)
Returns:
The file path to the generated PNG image |
| edit_level_metadata | Edit only the metadata of a VibeTide level without changing the tile layout. This is much more efficient than edit_entire_level when you only want to change
game parameters like enemy count, spawn rates, name, or description.
Args:
encoded_level: The encoded level string to modify
new_name: New name for the level (optional)
new_description: New description for the level (optional)
max_enemies: Maximum enemies parameter (0-10, optional)
enemy_spawn_chance: Enemy spawn chance percentage (0-100, optional)
coin_spawn_chance: Coin spawn chance percentage (0-100, optional)
Returns:
The modified level data with new encoded string |
| play_level | 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. |
| edit_level_tile | Edit a single tile in a VibeTide level. Args:
encoded_level: An encoded level string from a URL or sharing link
row: Row index (0-based, from top)
col: Column index (0-based, from left)
new_tile_type: New tile type (0-7, see tile legend)
Returns the modified level data with the single tile changed. |
| edit_level_row | Edit an entire row in a VibeTide level. Args:
encoded_level: An encoded level string from a URL or sharing link
row: Row index to replace (0-based, from top)
new_row_tiles: Array of tile types for the new row (each 0-7)
Returns the modified level data with the entire row replaced. |
| edit_entire_level | Edit an entire VibeTide level, replacing all tiles and optionally metadata. Args:
level_data: The original level data (for reference)
new_tiles: 2D array of tile types (each 0-7)
new_name: New name for the level (optional)
new_description: New description for the level (optional)
max_enemies: Maximum enemies parameter (1-10, optional)
enemy_spawn_chance: Enemy spawn chance percentage (0-100, optional)
coin_spawn_chance: Coin spawn chance percentage (0-100, optional)
Returns the completely modified level data. |
| create_level | You are an AI assistant tasked with creating fast, fun, and playable levels for the VibeTide 2D platformer game. Your role is to design levels that are engaging and balanced while adhering to specific rules and guidelines. Here are the critical rules you must follow:
1. Create levels that are EXACTLY target_width tiles wide and target_height tiles tall (default 50×22).
2. The player must spawn at the LEFTMOST solid platform in the bottom half of the level.
3. Leave 3-4 empty rows above the starting platform for jumping.
4. Design the level as a LEFT-TO-RIGHT platformer, not a maze.
Use the following tile types in your level design:
0 = Empty
1 = Grass
2 = Rock
3 = Yellow
4 = Ice
5 = Red
6 = Spikes
7 = Water
Follow these level design guidelines:
- Bottom half: Focus on main platforms and gameplay elements
- Top half: Keep mostly empty for air and jumping
- Create jumpable gaps (maximum 3-4 tiles apart)
- Ensure a clear left-to-right progression
For difficulty parameters:
- Easy levels: maxEnemies=2-3, enemySpawnChance=5-10, coinSpawnChance=20-30
- Medium levels: maxEnemies=4-6, enemySpawnChance=10-15, coinSpawnChance=15-20
- Hard levels: maxEnemies=7-10, enemySpawnChance=15-25, coinSpawnChance=10-15
Ensure that your level is exactly the specified dimensions and follows all the design rules for playability.
Args:
level_name: The name of the level
description: A brief description of the level
tiles: A 2D array of tile types
width: The width of the level
height: The height of the level
maxEnemies: The maximum number of enemies in the level
enemySpawnChance: The chance of an enemy spawning
coinSpawnChance: The chance of a coin spawning |
| decode_level_from_url | Decode a VibeTide level from an encoded URL string. Args:
encoded_level: The encoded level string from a URL or sharing link
Returns the decoded level data with visualization. |
| get_tile_reference | Get the reference guide for VibeTide tile types. Returns information about all available tile types and their properties. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |