MCP server by Unnamedj
✦ VibeMCP
Claude AI + Roblox, para cualquier juego vía executor (PC y móvil), no solo Studio.
VibeMCP es un puente: un dashboard web donde hablas con Claude, y un cliente Lua
(bridge.luau) que corre dentro de tu executor y ejecuta lo que la IA decide.
⚠️ Úsalo solo en juegos/cuentas propias o donde tengas permiso. Ejecutar scripts de terceros con un executor puede infringir las condiciones de Roblox y conlleva riesgos de baneo. Tú eres responsable de cómo lo usas.
✨ Funciones
| Función | Cómo |
|---|---|
| 📱 Soporte completo de executors móviles | bridge.luau detecta syn/fluxus/request/http_request, usa GUI arrastrable y guarda todo con pcall. |
| ✍️ Escribe y explica scripts | Claude responde con una explicación + bloque lua. |
| 📜 Decompila cualquier script | Acción decompile (si el executor tiene decompile()). |
| 🔍 Inspecciona remotes e instancias | Acciones inspect y scan_remotes. |
| 🔑 Trae tu propia API key | Campo BYO en Ajustes (se guarda en tu navegador) o header x-anthropic-key. |
| 🥇 Cola con prioridad | Cada comando tiene priority; sale antes el más alto. |
| 📚 Búsqueda en ScriptVault (simulada) | /vault/search genera resultados ilustrativos por IA. |
| 🤖 La IA ejecuta scripts por ti | El chat encola el Lua automáticamente. |
| ⚡ Auto-ejecutar desde el chat | Toggle "Auto-ejecutar" (activo por defecto). |
| 📡 Dispara RemoteEvents | Acción fire_remote con args JSON. |
| 🎨 GUIs bonitas en el juego | El system prompt obliga a UICorner/UIStroke/UIGradient/Draggable. |
| 🕵️ Ingeniería inversa de remotes | Acción reverse: engancha __namecall y registra cada llamada. |
| 🤖 Multi-proveedor de IA | Elige Gemini (Google, gratis) o Claude (Anthropic, de pago) desde el selector de modelo; pega tu propia key en Ajustes. |
| 🔧 Depuración iterativa por IA | Si un script falla, el servidor manda el error a la IA, lo corrige y reintenta (hasta 3 veces). |
| 🎯 Contexto del juego real | El bridge envía remotes, servicios y datos del juego; Claude escribe scripts específicos a ESE juego. |
| ⌨️ Respuestas en streaming | /chat/stream (NDJSON) muestra el texto token a token con markdown y resaltado Lua. |
| 🌳 Explorer de instancias | Árbol navegable de game en vivo desde la pestaña Herramientas. |
| 🔁 Replay de remotes | Cada llamada espiada trae botón Replay para re-disparar con sus args originales. |
| ♻️ Auto-fire en bucle | Dispara un RemoteEvent cada N segundos (auto-farm); stop_loop lo detiene. |
| ★ Scripts guardados | Guarda cualquier Lua generado y reejecútalo desde ScriptVault. |
| 📱 App instalable (PWA) | Manifest + service worker: añade Jvibecoder a la pantalla de inicio. |
🗂️ Archivos
server.js— servidor Node/Express. Chat con Claude, cola con prioridad, BYO key, ScriptVault, depuración iterativa. Sirveloader.luau,bridge.luauy el dashboard.index.html— dashboard (Chat · Herramientas · ScriptVault · Ajustes).bridge.luau— cliente del executor: sondea comandos, ejecuta, captura salida/errores y reporta.loader.luau— bootstrap de una línea que descargabridge.luau.
🚀 Despliegue
npm install
# Variables de entorno:
# API_KEY -> clave del puente (la que metes en el dashboard/loader)
# ANTHROPIC_API_KEY -> tu key de Claude (opcional si usas BYO en el dashboard)
# PORT -> por defecto 8080
npm start
Despliega en Railway/Render/Fly o donde quieras. Abre la URL → dashboard.
📲 Cargar en tu executor
En Ajustes del dashboard tienes el snippet listo para copiar:
getgenv().VibeMCP_Config = {
BRIDGE_URL = "https://TU-APP.up.railway.app",
API_KEY = "MARIABELEN27.$$$$",
SHOW_GUI = true,
}
loadstring(game:HttpGet("https://TU-APP.up.railway.app/loader.luau"))()
Pégalo en Delta, Codex, Arceus X, Hydrogen, Fluxus, Krnl, Synapse, Wave, Solara… Aparecerá un panel flotante "✦ VibeMCP" y el cliente quedará conectado.
🔌 API (resumen)
Todas las rutas (salvo /, /health, /loader.luau, /bridge.luau) requieren
el header Authorization: <API_KEY>.
| Método | Ruta | Descripción |
|---|---|---|
| POST | /chat | Mensaje a Claude. Body: message, model, autoRun, autoDebug, priority, apiKey? |
| POST | /command | Encola un comando crudo (type, …, priority). |
| POST | /action/:kind | Atajo: decompile, inspect, scan_remotes, fire_remote, reverse, stop_reverse, ping. |
| POST | /vault/search | Búsqueda simulada. Body: query, model, apiKey?. |
| GET | /commands | El executor recoge la cola (ordenada por prioridad). |
| POST | /response | El executor reporta resultados (dispara la depuración iterativa). |
| GET | /responses?since=N | Feed de resultados para el dashboard. |
| GET | /status | Clientes online, cola, modelos. |
🧩 Protocolo de comandos
{ "type": "lua", "code": "print('hola')", "priority": 5, "autoDebug": true }
{ "type": "decompile", "path": "game.ReplicatedStorage.Module" }
{ "type": "inspect", "path": "game.Workspace.Part" }
{ "type": "scan_remotes" }
{ "type": "fire_remote", "path": "game.ReplicatedStorage.Remotes.Buy", "args": ["item", 5] }
{ "type": "reverse" } // espía __namecall; stop_reverse lo apaga
{ "type": "replay_remote","hitId": 12 } // repite una llamada capturada por el espía
{ "type": "fire_loop", "path": "...", "args": [], "interval": 0.5 } // auto-fire; stop_loop lo apaga
El bridge.luau responde con { id, type, ok, result|error, output?, source?, remotes?, children?, caps? }.