Publicar con IA (MCP)
El servidor MCP de Gamealia le permite a tu asistente de programación llevar un juego desde una carpeta (o desde cero) hasta publicado: analiza el proyecto, integra el SDK, lo compila, lo prueba en un navegador real, escribe la ficha y la portada, sube el build y lo envía a revisión cuando vos confirmás. Vos solo aprobás el inicio de sesión en tu navegador y decís que sí antes del envío.
Instalación
Necesitás Node.js 22 o más nuevo. Para el autotest local, la vista previa y las portadas también necesitás playwright-core y un Chromium headless (mirá Navegador local).
Opción A: el instalador (recomendado)
gamealia agents install registra el servidor e instala los skills o reglas en cada agente de programación que detecta, con copia de respaldo de cada archivo que cambia:
gamealia agents install # los agentes de esta máquina, para tu usuario
gamealia agents install --all # todos los agentes soportados
gamealia agents install --cursor --vscode --project # solo estos, en esta carpeta
gamealia agents install --dry-run # muestra qué cambiaría
gamealia agents uninstall # quita lo que agregó install
gamealia agents list # agentes soportados y detectados
Descarga el servidor en ~/.config/gamealia/gamealia-mcp.mjs (con su carpeta assets/) y verifica cada archivo contra el sha256 fijado en la CLI. Todas las opciones están en la CLI. Desde un agente que ya tiene el MCP, la herramienta gamealia_install_agent_kit hace lo mismo (es una prueba en seco salvo con write: true).
Opción B: a mano
Descargá el servidor y los assets que sirve para el autotest local y la vista previa:
mkdir -p ~/.config/gamealia/assets/sdk && cd ~/.config/gamealia
for f in gamealia-mcp.mjs assets/harness.html assets/preview.html assets/sdk/v1.js assets/sdk/crazygames.js assets/sdk/poki.js; do
curl -fsSL "https://gamealia.app/downloads/$f" -o "$f" || break
done
Después registralo en tu agente (node ~/.config/gamealia/gamealia-mcp.mjs, stdio):
| Agente | Cómo |
|---|---|
| Claude Code | claude mcp add gamealia -- node ~/.config/gamealia/gamealia-mcp.mjs |
| Codex CLI | codex mcp add gamealia -- node ~/.config/gamealia/gamealia-mcp.mjs |
| Cursor | ~/.cursor/mcp.json: {"mcpServers": {"gamealia": {"command": "node", "args": ["/home/vos/.config/gamealia/gamealia-mcp.mjs"]}}} |
| VS Code (Copilot) | .vscode/mcp.json: {"servers": {"gamealia": {"type": "stdio", "command": "node", "args": ["..."]}}} |
| Claude Desktop | claude_desktop_config.json, mcpServers.gamealia igual que en Cursor |
| Gemini CLI | ~/.gemini/settings.json, mcpServers.gamealia |
| Windsurf, Cline, Zed, opencode | Su archivo de configuración MCP; gamealia agents install conoce cada uno |
Usá la ruta absoluta del archivo: la mayoría de los agentes no expande ~ en JSON.
El kit para agentes
Además de registrar el servidor, cada agente recibe instrucciones que le enseñan el flujo y las reglas: los skills gamealia-publish, gamealia-sdk y gamealia-translate-listing (Claude Code, Claude Desktop, Codex, opencode), o un archivo de reglas o instrucciones (Cursor .cursor/rules/gamealia.mdc, VS Code .github/copilot-instructions.md, Windsurf, Cline, Zed, Gemini GEMINI.md, y un bloque en AGENTS.md para los agentes que lo leen). Los kits también se pueden descargar por agente como /downloads/agents/gamealia-<agente>.zip, por ejemplo gamealia-claude-code.zip o gamealia-cursor.zip, cada uno con un README de los pasos manuales.
Los skills le piden al asistente que te hable en tu idioma. Los resultados de las herramientas también vienen traducidos: definí GAMEALIA_LOCALE (por ejemplo es) o el servidor usa el idioma de tu sistema, con inglés si no lo tiene.
Después, pedíselo
Reiniciá el agente y pedile: "publicá mi juego en Gamealia". El prompt publish-game guía todo el flujo; migrate-from-crazygames, migrate-from-poki y fix-autotest-failures cubren los otros trabajos comunes.
Las herramientas
| Paso | Herramienta | Qué hace |
|---|---|---|
| Sesión | gamealia_login, gamealia_whoami, gamealia_logout | Inicio de sesión con código: abrís la URL y aprobás el código; después gamealia_login {wait: true}. La clave queda en ~/.config/gamealia/credentials.json (modo 600) |
| Cuenta | gamealia_accounts {action, account} | list: tus cuentas de desarrollador, tu rol en cada una, la activa y las invitaciones pendientes. switch con el id o el nombre de una cuenta: usa su clave guardada, o inicia un login atado a esa cuenta (después gamealia_login {wait: true}) |
| Analizar | gamealia_analyze_project {dir} | Motor, comando de build, carpeta de salida, html de entrada, SDKs de CrazyGames/Poki, claves de localStorage, problemas de políticas con archivo y línea, y los permisos a declarar |
| Crear | gamealia_create_project {dir, template, title} | Un juego nuevo ya integrado: vanilla, phaser, pixi o multiplayer |
| Integrar | gamealia_integrate_sdk {dir, write} | Un parche determinista: primero un diff de prueba, después write: true. Devuelve TODOs (archivo y línea) para las llamadas de juego y de anuncios |
| Revisar | gamealia_check_integration {dir} | Chequeos estáticos: SDK cargado, init y loadingStop presentes, hosts prohibidos, compras, login propio, tamaños |
| Compilar | gamealia_build {dir} | Corre el comando de build del proyecto |
| Probar | gamealia_run_autotest {dir} | El autotest completo, escritorio y celular, con las capturas como imágenes |
| Jugar | gamealia_playtest, gamealia_playtest_act, gamealia_playtest_stop | El asistente juega el juego mirando capturas (clic, tecla, arrastre, espera) y da un veredicto |
| Vista previa | gamealia_preview {dir} | Una URL con el juego dentro de una copia local de la página del portal (anuncios simulados), para que lo pruebes vos |
| Ficha | gamealia_create_game, gamealia_update_listing | Slug, textos en es y en (y en cualquier otro idioma con texts), etiquetas, orientación, multijugador, anuncios sí o no, backendHosts, isolation, permissions, archivos de portada y miniatura |
| Portada | gamealia_generate_cover {screenshot, title} | Una portada de 1200x630 y una miniatura de 512x512 a partir de una captura del autotest |
| Subir | gamealia_upload_version {dir, game} | Comprime, sube, espera el autotest del servidor y devuelve su reporte |
| Enviar | gamealia_submit_for_review {game, notes} | Solo después de que confirmes |
| Seguir | gamealia_get_status {game} | Estado, el reporte del servidor y los motivos del revisor con cómo arreglarlos; texts: true agrega los textos de la ficha por idioma |
| Más | gamealia_list_games, gamealia_list_versions, gamealia_get_stats, gamealia_get_earnings | Tus juegos, versiones, partidas e ingresos |
| Docs | gamealia_docs_search {query} | Busca en esta documentación; cada página también es el recurso MCP gamealia://docs/<idioma>-<página>, por ejemplo gamealia://docs/es-sdk-reference |
Cada resultado termina con sugerencias next, así el asistente sabe qué hacer después de cada paso.
Las claves de API están atadas a una cuenta de desarrollador y a tu rol en ella (mirá Cuentas y equipos). Si sos miembro de varias cuentas, los resultados nombran la activa y el asistente confirma con vos a qué cuenta pertenece un juego antes de crearlo o publicarlo. Si tu rol no permite una acción, el error dice qué roles pueden hacerla, y el asistente te pide que intervenga un owner o admin en lugar de reintentar.
Navegador local
El autotest, la vista previa, el playtest y las portadas manejan un Chromium headless con playwright-core, que no viene incluido:
npm install -g [email protected]
npx [email protected] install chromium-headless-shell
O apuntá GAMEALIA_CHROMIUM a un Chromium headless que ya tengas.
Variables de entorno
| Variable | Uso |
|---|---|
GAMEALIA_API_KEY | Una clave de API del portal de desarrolladores (tiene prioridad sobre la sesión guardada; está atada a su cuenta, así que no se puede cambiar de cuenta) |
GAMEALIA_API_URL | URL base de la API (por defecto https://gamealia.app/api/v1) |
GAMEALIA_LOCALE | Idioma de los mensajes de las herramientas y de las docs (por defecto: el del sistema) |
GAMEALIA_CHROMIUM | Binario de Chromium headless |
Seguridad
El asistente nunca ve tu contraseña de Google: aprobás el inicio de sesión en tu propio navegador. Tiene que preguntarte antes de enviar una versión, y el revisor igual mira cada versión a mano.