Ulabase

Documentation

How to use your service: store your data, manage your users, and switch on what you need.

Start

  • Overview

    A backend for web, mobile and AI apps: sign-up and login, permissions, payments, live data and an MCP server for agents, on a managed MongoDB.

  • Agent-native apps

    An app with two interfaces: screens for people and MCP for AI agents, on one backend with one set of permissions. How Ulabase makes it, and how an assistant helps you build it.

  • Getting started

    Create a free service, get its credentials, make the first request and connect your web or mobile app with the Kit. About five minutes, no card.

  • Root user

    Every service has a root user that can do everything: where to set its password, when to use the Admin JWT instead, and why your app never signs in as root.

  • The console

    A tour of the console: organizations, services, and the sections of a service from data to users, integrations and AI. What each one does and where to find it.

  • Plans

    What changes between the four plans: capacity, backups, support, Enterprise on your MongoDB or ours, and the paths of system collections that scripts must know about.

  • Full-stack example

    The backend of a product catalog on Ulabase, request by request: collections, sample data, a public read permission and queries. Then a starter for the frontend.

Your data

  • Collections and documents

    Browse, create, edit and delete your app's data from the console, and the same operations over the API: filter, sort, page, and partial updates.

  • Indexes

    Keep filters and sorts fast as a collection grows: create, inspect and delete MongoDB indexes from the console, with the unique, TTL and full-text patterns.

  • Aggregations

    Reports, counts and grouped data computed by MongoDB: define a pipeline once in the console, test it, and call it from your app by name.

  • Constraints

    Rules on the whole collection no write can break: no negative balance, no double booking. Written as a pipeline, checked in a transaction on every write.

  • Schemas

    Refuse a document that does not match: write a JSON Schema once, bind it to a collection, and every write from every client is validated on the server.

  • Change streams

    Your UI updates when the data does: publish the changes of a collection and your app subscribes over WebSocket with the user's credentials. No polling.

AI New

  • Overview

    Semantic search over your collections and AI agents on your data: your own provider keys, vectors computed as you write, search with or without an index, and MCP.

  • AI Keys

    Add the AI providers your service may call, each with your key and its default models, verified before they are saved. The rest of the AI group runs on these keys.

  • Auto Embeddings

    Give every document written to a collection a vector for one of its fields, computed by your provider. Under each rule, the steps to a semantic search, and a guided demo on the starter's catalog.

  • Auto Chunking

    Split the files uploaded to a bucket into text chunks, in a collection you choose. That collection embeds them, and you search it like any other.

  • MCP

    Let AI agents such as Claude use your data over MCP: publish collections, aggregations, streams and GraphQL apps, and the agent works within your permissions.

Your users

  • Users

    The people and apps that sign in to your service: create them, give them roles, reset passwords, and choose what a login token says about them.

  • Permissions

    Who may do what in your service, by role: rules with a path, a method and a priority, plus filters that limit a user to their own documents.

  • Tokens

    Your two credentials as a service owner: a personal access token for ulabase and CI, and a fifteen-minute admin token for a test by hand. Which job wants which.

  • API Keys

    Let your users issue long-lived, revocable keys for an AI agent, a script or an app, with roles you allow. Turn it on and decide who may issue what.

  • Sign-up and login

    Registration, email verification, password reset, login with Google and team invitations, done by the service. You set the app name, the URLs and the emails.

Build

  • GraphQL

    Give your app a GraphQL endpoint over your collections without writing resolvers: a schema, a mapping from types to collections, and the endpoint is live.

  • Webhooks

    Call an HTTP endpoint or send an email when a request to your service matches a condition, with the payload shaped by a template: Slack, Mailjet, your backend.

  • Guards

    Block or redirect a request that fails a rule of yours, such as terms not accepted or a lapsed subscription, before it reaches the data. Evaluated in order.

  • Origin allowlist

    Only the websites you list may call your service from a browser. A request from any other Origin is refused, so other sites cannot use your users' sessions.

  • Email

    Verification, reset, invitation and order emails sent for you. How many you can send on each plan, and how to send them from your own address.

  • Stripe

    Take payments from your app without a payment backend: subscriptions or a product catalog with checkout, billed through your own Stripe account, in four steps.

Tools

  • ulabase CLI

    Configure a service from a file in git: collections, indexes, permissions, features and settings, applied the same way from a terminal or a CI pipeline.

  • Ulabase Kit

    The client side of your backend: sign-up, sign-in, sessions, teams, invitations and payments for React, Angular, Vue, Next.js and Nuxt. One package.

Reference

  • Users and permissions API

    The requests behind the Users and Permissions pages: create a user, grant a role a permission, limit a user to their own documents, hide a field.

  • Your own MongoDB

    Run an Enterprise service on your own MongoDB, on Atlas or self-hosted: the connection string, the network settings to open, and where the service keeps its data.