{"id":"4f1384b4-0f78-4e17-8714-fc9faa33e0e4","slug":"vibe-tide-mcp","kind":"mcp","name":"vibe-tide-mcp","summary":"MCP Server to build and play VibeTide","owner":"banjtheman","repoUrl":"https://github.com/banjtheman/vibe_tide_mcp","license":"MIT","licenseTier":"permissive","trust":"community","stars":1,"match":null,"fewStars":true,"format":"mcp","createdAt":"2025-06-17T03:11:44.000Z","addedAt":"2026-10-21T15:24:08.997Z","logoUrl":"https://avatars.githubusercontent.com/u/696254?u=488260c17dbe0bf857caa9f642c4b6d47b664df4&v=4","linkOnly":false,"collection":null,"skillPath":null,"categories":["cloud-infra"],"tags":[],"runtime":"python","local":true,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":false,"reviewed":false,"syncedAt":"2026-10-27T22:55:15.814Z","sample":false,"url":"https://conduits.dev/tools/vibe-tide-mcp","language":"TypeScript","transports":["stdio"],"install":{"pypi":"vibe-tide-mcp-server"},"requirements":{"env":[],"upstreamMayCharge":false},"tools":null,"readme":"# VibeTide MCP Server\n\nA 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.\n\n![VibeTide Hero Image](media/vibe_tide_wide.jpeg)\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)\n[![smithery badge](https://smithery.ai/badge/@banjtheman/vibe_tide_mcp)](https://smithery.ai/server/@banjtheman/vibe_tide_mcp)\n[![PyPI version](https://badge.fury.io/py/vibe-tide-mcp-server.svg)](https://badge.fury.io/py/vibe-tide-mcp-server)\n\n## 🎮 Screenshots & Demo\n\n### Level Creation and Editing\n![VibeTide Level Creation](media/claude_vibe_tide.png)\n*Create beautiful 2D platformer levels with AI assistance*\n\n### Gameplay Preview\n![VibeTide Gameplay](media/vibetide_level_1.gif)\n*Play your created levels in the web player*\n\n\n## Features\n\n- **Level Creation**: Create new VibeTide levels with AI assistance\n- **Level Editing**: Edit entire levels, single rows, or individual tiles\n- **Level Visualization**: Generate ASCII and PNG visualizations of levels\n- **Level Playing**: Get URLs to play levels in the web player\n- **Level Decoding**: Decode levels from sharing URLs\n- **Metadata Management**: Edit level properties like spawn rates and difficulty\n\n## Installation\n\n### Installing via Smithery\n\nTo install VibeTide Level Editor Server for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@banjtheman/vibe_tide_mcp):\n\n```bash\nnpx -y @smithery/cli install @banjtheman/vibe_tide_mcp --client claude\n```\n\n### Option 1: Using UVX (Recommended)\n\nIf you have `uvx` installed, you can run the server directly without local installation:\n\n```bash\nuvx --from vibe-tide-mcp-server vibe-tide-mcp-server\n```\n\n### Option 2: Local Installation\n\n1. Clone the repository:\n```bash\ngit clone https://github.com/banjtheman/vibe_tide_mcp.git\ncd vibe_tide_mcp\n```\n\n2. Install dependencies:\n```bash\npip install -r requirements.txt\n```\n\n3. Make the server executable:\n```bash\nchmod +x vibe_tide_mcp_server.py\n```\n\n## Configuration\n\n### MCP Client Configuration\n\nAdd the server to your MCP client configuration:\n\n#### Local Python Server\n```json\n{\n  \"mcpServers\": {\n    \"vibe-tide\": {\n      \"command\": \"python\",\n      \"args\": [\"/path/to/vibe_tide_mcp_server.py\"],\n      \"env\": {}\n    }\n  }\n}\n```\n\n#### Using UVX\n```json\n{\n  \"mcpServers\": {\n    \"vibe-tide\": {\n      \"command\": \"uvx\",\n      \"args\": [\n        \"--from\", \"vibe-tide-mcp-server\", \"vibe-tide-mcp-server\"\n      ],\n      \"env\": {}\n    }\n  }\n}\n```\n\n## Available Tools\n\n### Level Viewing Tools\n- **view_level**: View level data with ASCII visualization\n- **view_level_image**: Generate beautiful PNG visualizations\n- **decode_level_from_url**: Decode levels from sharing URLs\n- **get_tile_reference**: Get reference guide for tile types\n\n### Level Playing Tools\n- **play_level**: Get URL to play level in web player\n\n### Level Editing Tools\n- **edit_level_tile**: Edit a single tile\n- **edit_level_row**: Edit an entire row\n- **edit_entire_level**: Replace all tiles in a level\n- **edit_level_metadata**: Edit level properties (name, spawn rates, etc.)\n\n### Level Creation Tools\n- **create_level**: Create new levels with AI assistance\n\n## Tile Types\n\n| Type | Symbol | Name | Description |\n|------|---------|------|-------------|\n| 0 | ⬜ | Empty | Walkable air space |\n| 1 | 🌱 | Grass | Standard ground platform |\n| 2 | 🗿 | Rock | Solid stone platform |\n| 3 | ⭐ | Yellow | Special yellow platform |\n| 4 | ❄️ | Ice | Slippery ice platform |\n| 5 | 🔥 | Red | Dangerous red platform |\n| 6 | ⚠️ | Spikes | Hazardous spikes |\n| 7 | 💧 | Water | Water tiles |\n\n## Examples\n\n### Creating a New Level\n\n```python\n# Create a simple level with platforms\nlevel_tiles = [\n    [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],  # Empty top row\n    [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],  # Empty row\n    [0, 0, 0, 1, 1, 1, 0, 0, 0, 0],  # Grass platform\n    [1, 1, 0, 0, 0, 0, 0, 1, 1, 1],  # Ground platforms\n    [2, 2, 2, 2, 2, 2, 2, 2, 2, 2],  # Rock foundation\n]\n\nresult = create_level(\n    level_name=\"My First Level\",\n    description=\"A simple starter level\",\n    tiles=level_tiles,\n    width=10,\n    height=5,\n    maxEnemies=3,\n    enemySpawnChance=10.0,\n    coinSpawnChance=20.0\n)\n```\n\n### Editing a Level\n\n```python\n# Edit a single tile\nresult = edit_level_tile(\n    encoded_level=\"your_encoded_level_here\",\n    row=2,\n    col=5,\n    new_tile_type=6  # Add spikes\n)\n\n# Edit level metadata\nresult = edit_level_metadata(\n    encoded_level=\"your_encoded_level_here\",\n    new_name=\"Updated Level\",\n    max_enemies=5,\n    enemy_spawn_chance=15.0\n)\n```\n\n### Viewing and Playing Levels\n\n```python\n# View level visualization\nresult = view_level(\"your_encoded_level_here\")\nprint(result[\"visualization\"])\n\n# Generate PNG image\nimage_path = view_level_image(\"your_encoded_level_here\")\n\n# Get play URL\nresult = play_level(\"your_encoded_level_here\")\nprint(f\"Play at: {result['play_url']}\")\n```\n\n## Development\n\n### Running the Server\n\n```bash\npython vibe_tide_mcp_server.py\n```\n\n### Testing\n\nThe server includes comprehensive error handling and validation for all level operations.\n\n## Contributing\n\n1. Fork the repository\n2. Create a feature branch\n3. Make your changes\n4. Add tests if applicable\n5. Submit a pull request\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Related Projects\n\n- [Model Context Protocol](https://modelcontextprotocol.io/) - Learn more about MCP\n\n## Support\n\n- [GitHub Issues](https://github.com/banjtheman/vibe_tide_mcp/issues)\n- [VibeTide Community](https://vibetide.com)\n"}