Saltar al contenido

AI first · Pronto open source

El backend que tu agenteconstruye contigo.

Conecta Claude Code, Cursor o cualquier cliente MCP y crea colecciones, políticas, funciones y storage por ti. Auth, datos, realtime y búsqueda vectorial, sobre MongoDB.

Plan gratis: 1 proyecto, 512 MB de storage, 100.000 ejecuciones de funciones al mes. Sin tarjeta.

O córrelo en local, sin cuenta

$npx -y @groveback/cli@latest dev --seed --persist
app.groveback.com
The Groveback dashboard: an orders collection with nine documents, and the sidebar with every backend section

AI first

Tu agente es el admin

Groveback se diseñó para que lo maneje un agente desde el primer commit. Cada operación de administración de la API es una tool que tu agente puede llamar, con los mismos permisos y la misma auditoría.

  • 114 tools MCP

    Colecciones, políticas, funciones, storage, usuarios, roles, RAG y webhooks. Una API key y un comando para conectarlo.

  • Seguro por diseño

    La key tiene alcance de un proyecto, los datos siguen cerrados hasta que una política los abre, y el modo solo lectura omite toda tool que escribe.

  • Revisa su propio trabajo

    Tests de funciones, tests de integraciones y evals de bases de conocimiento corren como tools, así el agente prueba un cambio antes de que lo publiques.

  • Configuración como código

    grove pull escribe todo el proyecto en tu repo; grove push --dry-run muestra el diff antes de cambiar nada.

agent · groveback_shop

# Conéctalo una vez

$ claude mcp add groveback_shop -e GROVEBACK_URL=https://api.groveback.com -e GROVEBACK_API_KEY=gb_sk_… -- npx -y @groveback/mcp@latest

› Arma un backend de pedidos. Cada cliente ve solo los suyos, y avísame con cada pedido nuevo.

  • create_collection orders
  • set_collection_schema orders · customer, total, status, ownerId
  • set_collection_policy orders · list: ownerId = $auth.uid
  • create_function notify-on-order · post insert
  • run_function_tests notify-on-order · 3 passed

✓ Listo. orders está cerrada por defecto y cada cliente lee solo los suyos; notify-on-order corre tras cada insert.

$ grove pull # el proyecto llega a tu repo como código

Tus datos se quedan en MongoDB. Todo lo demás ya está construido, y cada petición sigue pasando por tus políticas.

Un proyecto, seis piezas

Desliza y mira lo que trae

  1. 01 · Auth

    Usuarios, sesiones y MFA

    Email y contraseña, proveedores OAuth, TOTP con códigos de respaldo, verificación de email y reset de contraseña. Tus usuarios viven en tu base de datos.

    const grove = createClient({ baseUrl, projectId: 'shop' });
    
    await grove.auth.register('ada@shop.dev', 'hunter22', 'Ada');
    const user = await grove.auth.login('ada@shop.dev', 'hunter22');
    // MFA on? login resolves { mfaRequired: true }
    await grove.auth.verifyMfa('481207');
  2. 02 · Data API

    Una API de datos cerrada por defecto

    Cada colección tiene REST y GraphQL. Nada se puede leer hasta que escribas una política, y la política entra en la consulta de Mongo, así que tus índices siguen sirviendo.

    // policies/orders.json — $and'ed into every query
    {
      "list":   { "filter": { "ownerId": "$auth.uid" } },
      "create": { "validate": "document.total > 0" },
      "update": { "immutableFields": ["ownerId"] }
    }
    
    const mine = await grove.collection('orders').find({ limit: 20 });
  3. 03 · Storage

    Archivos con URLs firmadas

    Buckets, carpetas y enlaces firmados, sobre storage compatible con S3. Público o privado por bucket.

    await grove.storage.upload('avatars', 'ada.png', file, 'image/png');
    
    const { url } = await grove.storage.signUrl('avatars', 'ada.png', 3600);
  4. 04 · Funciones

    Funciones en un sandbox

    Triggers de base de datos, cron y endpoints HTTP propios. Corren en un worker aislado, sin secretos, y llegan a tus datos solo a través de las mismas políticas.

    // functions/normalize-email.ts — a pre hook, sandboxed
    export default async (event, ctx) => {
      if (!event.document.email?.includes('@')) {
        return { abort: true, reason: 'email is invalid' };
      }
      return { document: { ...event.document, email: event.document.email.toLowerCase() } };
    };
  5. 05 · Realtime

    Cambios en vivo

    Suscríbete a una colección y recibe inserts, updates y deletes al instante. Cada evento pasa por la política de lectura de quien escucha.

    const orders = grove.collection('orders');
    
    const stop = orders.subscribe('*', (event) => {
      console.log(event.type, event.document);
    });
  6. 06 · Vector

    Busca por significado

    Genera embeddings al escribir y busca por similitud, con los mismos filtros y permisos que cualquier lectura. Bases de conocimiento para RAG incluidas.

    const hits = await grove.collection('products').search({
      text: 'waterproof hiking boots',
      limit: 8,
    });
    // ranked closest first, filtered by the same read policy

Míralo en acción

Nueve tutoriales, de menos de un minuto

De un proyecto vacío a un agente construyendo el backend.

Ver la playlist en YouTube

Cómo funciona

De cero a desplegado en tres pasos

  1. 1

    Crea un proyecto

    En el dashboard, o en local con un comando. Cada proyecto tiene su propia base de datos.

  2. 2

    Modela y protege

    Define colecciones con un JSON schema y escribe una política por operación. Mira lo que vería un usuario antes de publicar.

  3. 3

    Úsalo desde tu app

    Con el SDK, REST o GraphQL. Genera un cliente tipado desde tu schema con grove gen.

Para equipos que publican

Las piezas que igual ibas a construir

  • Tu propio MongoDB

    Conecta un proyecto a tu cluster de Atlas. Los datos del sistema quedan aparte de los tuyos.

  • Entornos

    Dev y producción por proyecto, con configuración que promueves entre ellos.

  • Emulador local

    Todo el backend en memoria para desarrollar, con datos semilla que persisten.

  • Una CLI para personas y agentes

    grove dev, seed, pull, push y gen: todo lo que un agente necesita para correr en local y publicar configuración.

  • API keys y roles

    Keys con alcance para servidores, roles para tu equipo y roles de usuario final para tu app.

  • Configuración como código

    Exporta todo el proyecto como un bundle que commiteas, e impórtalo donde quieras.

Preguntas

¿Groveback será open source?

Sí, ese es el plan. Publicaremos el código cuando estemos seguros de que funciona bien, es seguro y está listo para que la comunidad construya sobre él. Mientras tanto puedes empezar en el plan gratis o correrlo en local con la CLI.

¿Necesito mi propio MongoDB?

No. Por defecto los proyectos corren en nuestro cluster. Puedes conectar el tuyo al crear un proyecto, y los entornos pueden compartirlo con otra base de datos.

¿Qué incluye el plan gratis?

Un proyecto con dos entornos, 512 MB de storage, 100.000 ejecuciones de funciones al mes y 10.000 vectores. Sin tarjeta.

¿Cómo se controla el acceso?

Cada colección está cerrada hasta que tiene una política. Una política es un filtro de Mongo más validación CEL opcional por operación, añadida a cada consulta en el servidor.

¿Qué puede hacer mi agente de IA?

Casi todo lo que haces en el dashboard. El servidor MCP tiene 114 tools: colecciones, schemas, políticas, funciones con tests y rollback, storage, usuarios, roles, bases de conocimiento y webhooks. Arráncalo en modo solo lectura si solo quieres que mire.

¿Lo puedo correr en mi computador?

Sí. La CLI levanta todo el backend en memoria con un enlace al dashboard, sin cuenta ni archivo de configuración.

Construye la app. Tu agente construye el backend.

Empieza en el plan gratis, conecta tu agente, o córrelo en local ahora mismo.

O córrelo en local, sin cuenta

$npx -y @groveback/cli@latest dev --seed --persist