VibeTide MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@VibeTide MCP Servercreate a beginner-friendly level with grass platforms and a few coins"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
VibeTide MCP Server
A Model Context Protocol (MCP) server for creating, editing, and playing VibeTide 2D platformer levels. This server provides tools for level manipulation, visualization, and gameplay through the MCP protocol.

🎮 Screenshots & Demo
Level Creation and Editing
Create beautiful 2D platformer levels with AI assistance
Gameplay Preview
Play your created levels in the web player
Features
Level Creation: Create new VibeTide levels with AI assistance
Level Editing: Edit entire levels, single rows, or individual tiles
Level Visualization: Generate ASCII and PNG visualizations of levels
Level Playing: Get URLs to play levels in the web player
Level Decoding: Decode levels from sharing URLs
Metadata Management: Edit level properties like spawn rates and difficulty
Installation
Installing via Smithery
To install VibeTide Level Editor Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @banjtheman/vibe_tide_mcp --client claudeOption 1: Using UVX (Recommended)
If you have uvx installed, you can run the server directly without local installation:
uvx --from vibe-tide-mcp-server vibe-tide-mcp-serverOption 2: Local Installation
Clone the repository:
git clone https://github.com/banjtheman/vibe_tide_mcp.git
cd vibe_tide_mcpInstall dependencies:
pip install -r requirements.txtMake the server executable:
chmod +x vibe_tide_mcp_server.pyConfiguration
MCP Client Configuration
Add the server to your MCP client configuration:
Local Python Server
{
"mcpServers": {
"vibe-tide": {
"command": "python",
"args": ["/path/to/vibe_tide_mcp_server.py"],
"env": {}
}
}
}Using UVX
{
"mcpServers": {
"vibe-tide": {
"command": "uvx",
"args": [
"--from", "vibe-tide-mcp-server", "vibe-tide-mcp-server"
],
"env": {}
}
}
}Available Tools
Level Viewing Tools
view_level: View level data with ASCII visualization
view_level_image: Generate beautiful PNG visualizations
decode_level_from_url: Decode levels from sharing URLs
get_tile_reference: Get reference guide for tile types
Level Playing Tools
play_level: Get URL to play level in web player
Level Editing Tools
edit_level_tile: Edit a single tile
edit_level_row: Edit an entire row
edit_entire_level: Replace all tiles in a level
edit_level_metadata: Edit level properties (name, spawn rates, etc.)
Level Creation Tools
create_level: Create new levels with AI assistance
Tile Types
Type | Symbol | Name | Description |
0 | ⬜ | Empty | Walkable air space |
1 | 🌱 | Grass | Standard ground platform |
2 | 🗿 | Rock | Solid stone platform |
3 | ⭐ | Yellow | Special yellow platform |
4 | ❄️ | Ice | Slippery ice platform |
5 | 🔥 | Red | Dangerous red platform |
6 | ⚠️ | Spikes | Hazardous spikes |
7 | 💧 | Water | Water tiles |
Examples
Creating a New Level
# Create a simple level with platforms
level_tiles = [
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0], # Empty top row
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0], # Empty row
[0, 0, 0, 1, 1, 1, 0, 0, 0, 0], # Grass platform
[1, 1, 0, 0, 0, 0, 0, 1, 1, 1], # Ground platforms
[2, 2, 2, 2, 2, 2, 2, 2, 2, 2], # Rock foundation
]
result = create_level(
level_name="My First Level",
description="A simple starter level",
tiles=level_tiles,
width=10,
height=5,
maxEnemies=3,
enemySpawnChance=10.0,
coinSpawnChance=20.0
)Editing a Level
# Edit a single tile
result = edit_level_tile(
encoded_level="your_encoded_level_here",
row=2,
col=5,
new_tile_type=6 # Add spikes
)
# Edit level metadata
result = edit_level_metadata(
encoded_level="your_encoded_level_here",
new_name="Updated Level",
max_enemies=5,
enemy_spawn_chance=15.0
)Viewing and Playing Levels
# View level visualization
result = view_level("your_encoded_level_here")
print(result["visualization"])
# Generate PNG image
image_path = view_level_image("your_encoded_level_here")
# Get play URL
result = play_level("your_encoded_level_here")
print(f"Play at: {result['play_url']}")Development
Running the Server
python vibe_tide_mcp_server.pyTesting
The server includes comprehensive error handling and validation for all level operations.
Contributing
Fork the repository
Create a feature branch
Make your changes
Add tests if applicable
Submit a pull request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Related Projects
Model Context Protocol - Learn more about MCP
Support
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Appeared in Searches
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