A backend AI apps and their agents can operate safely
CLI and OpenAPI parity, idempotent mutations, and pgvector-ready Postgres.
AI apps need two things from a backend: a database that can hold both application data and embeddings, and a control surface an agent can drive without becoming an incident. Scribase gives you Postgres with extensions for vector search alongside your relational data, and a control API where every mutation is a typed operation with an idempotency key, an operation ID, and an approval gate for the destructive ones.
What you need
- One database for app data and vector embeddings, not two systems
- A backend an agent can provision and change through a typed API
- Guardrails so autonomy never means unsupervised data loss
$ scribase env create acme agent-app pr-42 \
preview sanitized us-east create-pr-42-2f9c 48
{"id":"op_01J…","kind":"create_environment","state":"pending"}
$ scribase operation get acme op_01J…
{"id":"op_01J…","state":"succeeded","attempt_count":1}How Scribase fits
Postgres for data and embeddings
Keep relational data and vector embeddings in the same Postgres instance with extensions, so retrieval and application queries share one database and one set of policies.
CLI and OpenAPI parity for agents
Everything a person can do in the console is a CLI flag and an OpenAPI operation, so an agent has a complete, typed surface — including MCP-driven workflows — instead of dashboard-only actions.
Idempotent, gated, auditable
Each mutation carries an idempotency key and returns an operation ID over a durable executor, so retries are safe. Sensitive operations sit behind an approval model, and every change is auditable by its operation ID.
The capabilities behind it
Every claim above maps to a feature Scribase ships. Here are the ones this fit leans on most.
Common questions
Can I store vector embeddings in Scribase?
Yes. Scribase runs real Postgres with extensions, so you can keep embeddings alongside relational data and query both from one database under the same policies.
How do agents change the backend safely?
Every mutation is a typed CLI and OpenAPI operation with an idempotency key and an operation ID, and destructive actions sit behind an approval gate — so retries are safe and autonomy is auditable.