Start in one command
No database, no account, no config file.
npx grove dev --seed --persistAn empty project in memory, a dashboard link with the key already in it, and your work saved back into the repo when you stop it.
Start in one command
No database, no account, no config file.
npx grove dev --seed --persistAn empty project in memory, a dashboard link with the key already in it, and your work saved back into the repo when you stop it.
The app layer is the authority
MongoDB has no row-level security, so clients never talk to the database directly.
Policies compile to query fragments injected with $and — Mongo enforces them natively,
indexes still work, pagination stays intact.
Shape lives in git
Collections, policies, functions and roles mirror to a groveback/ bundle you commit.
grove push plans the diff and asks before applying; it never deletes.
Build it by conversation
The MCP admin server exposes the admin API as tools, so Claude Code, Claude Desktop or Cursor can create collections, schemas, policies and functions for you.
| Auth | Email/password with sessions, refresh rotation, email verification, password recovery, rate limiting — plus Google and GitHub social login, configured per project. |
| Data API | Per-collection REST CRUD with per-document policy filters, optional JSON-Schema validation, and relations. |
| GraphQL | A per-project schema at POST /api/v1/graphql, generic or typed from your collections. Every resolver goes through the same policy engine as REST. |
| Realtime | WebSocket subscriptions backed by policy-filtered Change Streams — a user never receives an event for a document they cannot read. |
| Functions | Sandboxed handlers on database, auth and storage events, plus custom HTTP endpoints. pre hooks can abort or mutate a write; post hooks run after it. |
| Storage | Buckets over S3-compatible object storage, or Mongo when no S3 is configured. |
| Vector search | Embeddings and similarity queries for RAG-shaped apps. |
| Admin | A Supabase-style dashboard, an OpenAPI 3.1 spec, an MCP server, and a grove CLI that generates a typed client. |
Build an app
The local loop — pull, dev, push — then collections and policies.
Look something up
The REST API, the query syntax, the CLI and the SDK.
Run it yourself
Self-hosting with Docker Compose, or point a project at your own MongoDB.
Hack on it
The development guide and the codebase map.