Cómo usar Cursor con Fabapp AI
Conectar Cursor a tu cuenta
Cursor lee la configuración de MCP de un archivo dentro del proyecto, y esa es su ventaja aquí:
{ "mcpServers": { "fabapp": { "command": "npx", "args": ["-y", "@fabappai/cli", "mcp"] } } }
Poniendo eso en .cursor/mcp.json, la configuración viaja con el repositorio. Quien clone el proyecto y lo abra
en Cursor encuentra Fabapp ya conectada, sin paso manual y sin un README que explique qué configurar. Si prefieres
que valga para todos tus proyectos, el mismo bloque va en el archivo equivalente de tu carpeta personal.
Al guardar, el panel de MCP de Cursor lista las herramientas disponibles. Esa lista es tu prueba de conexión, y su largo dice algo: una credencial de solo lectura muestra menos, porque las de escritura no se ofrecen.
Lo que necesitas
Node 20 o más nuevo, una cuenta de Fabapp en el plan Builder o superior, y un único inicio de sesión:
npx @fabappai/cli login
La credencial va al llavero del sistema. Nunca se muestra y se revoca desde un solo lugar, en el panel.
El ciclo
npx @fabappai/cli create "Mi tienda"
npx @fabappai/cli dev
dev arma la app en tu máquina con la misma plantilla con la que la plataforma publica, instala las dependencias y
levanta el servidor local. Con eso corriendo, pide lo que harías a mano: leer la definición, crear las entidades,
escribir las pantallas. Después:
npx @fabappai/cli deploy
Sube lo que tú cambiaste y publica, en ese orden. Publicar antes de subir publicaría lo que está en el servidor, y tu trabajo quedaría atrás.
Qué cambia con Cursor
Cursor es un editor, no una terminal, y eso cambia el ritmo. dev corre en la terminal integrada mientras conversas
en el panel lateral, y los archivos que el asistente escribe aparecen como diff antes de que los aceptes. Para quien
revisa lo que escribe la IA, esa es la diferencia práctica frente a un asistente de terminal.
Dos cosas para saber: el archivo por proyecto es lo que hace que la configuración viaje con el repositorio, así que vale commitearlo; y el panel de MCP es donde te enteras de que la conexión se cayó, en vez de enterarte porque el asistente dice que no encuentra la herramienta.
Qué pedirle
"Lee la documentación de la plataforma antes de escribir el schema." Los tipos de campo son una lista cerrada y cualquier otro se rechaza; las reglas de acceso son lo único entre los datos de la app y el público.
"Lee la definición actual antes de cambiarla." Sin el schema a mano, un id de modelo equivocado responde 404 y un campo inventado responde 422.
"Schema primero, pantallas después." El SDK se genera sobre el modelo de datos.