# A backend AI agents can operate safely

> Give agents a backend they can drive: CLI and OpenAPI parity for every action, idempotency keys, operation IDs, and an approval model for sensitive changes.

Source: https://scribase.com/use-cases/ai-agents

Agents fail safely only when the platform they operate is designed for them. Scribase exposes every mutation on the CLI and as an OpenAPI operation, attaches an idempotency key and operation ID to each change, and gates sensitive actions behind approvals — so an agent can provision, migrate, and deploy without becoming an incident.

## The pains this solves

- Dashboard-only actions an agent cannot reliably drive
- No idempotency, so a retried call double-applies
- No audit trail linking a change to who or what made it

## How Scribase addresses it

**CLI + OpenAPI parity** — Everything a person can do in the console is a CLI flag and an OpenAPI operation, so an agent has a typed, complete surface — including MCP-driven workflows.

**Idempotent, auditable mutations** — Each mutation carries an idempotency key and returns an operation ID over a durable Postgres executor, so retries are safe and every change is auditable.

**Approvals for sensitive actions** — Destructive or high-blast-radius operations sit behind an approval model, so autonomy never means unsupervised data loss.

## FAQ

**Does Scribase support MCP?**

The control surface is designed for MCP-driven workflows: every mutation maps to a typed operation an agent can call, with idempotency and operation IDs.

**How do I stop an agent from doing something destructive?**

Sensitive operations are gated behind an approval model, and every change is auditable by its operation ID.