The local-first database agents can actually understand.
Store documents, Markdown, vectors, schemas, history, and debug metadata in one inspectable database. Built for AI-native apps, coding agents, and offline-first tools.
Most databases were designed for apps, admins, and query engines. AI agents need more: schema context, query explanations, safe mutations, semantic retrieval, and structured errors they can repair from.
Flexible JSON-like documents, Mongo-style filters, aggregation, validation, and transactions.
Import docs, specs, notes, and AGENTS.md-style project context as structured, queryable documents.
Generate and search embeddings locally, with provenance and stale-state tracking.
describe, inspect, explain, validate, dry-run, rollback, and query debugging built into the database.
Expose database tools directly to coding agents through a first-class MCP surface.
$ omgdb create app.omgdb --from schema.json $ omgdb import-md app.omgdb docs spec.md $ omgdb find app.omgdb users '{"role":"admin"}' $ omgdb explain app.omgdb users '{"age":{"$gte":18}}' $ omgdb context app.omgdb docs body "which docs describe token expiry?"
Produces an agent-readable manual of its collections, schemas, indexes, vector state, and constraints.
Debug empty queries by showing which predicate failed and what nearby values exist.
Preview changes before applying. Show matched documents, before/after samples, and risk notes.
Track agent writes with provenance and rollback metadata.
Return token-budgeted context for LLM tasks instead of dumping raw documents.
// planned — the TypeScript binding is not shipped yet. // today: drive OMGDB from the omgdb CLI or the MCP server. const db = await omg.open("app.omgdb") await db.collection("docs").insert({ title: "Auth Design", body: markdown }) await db.collection("docs").semanticSearch({ query: "token expiry rules", k: 5 }) await db.explain({ collection: "users", query: { age: { $gte: 18 } } })
$ omgdb describe app.omgdb # collections, inferred schema, indexes, samples → $ omgdb verify app.omgdb # re-reads the log, proves it reproduces state → $ omgdb diagnose app.omgdb users '{"role":"admin","age":{"$gt":90}}' # why-no-results: predicate age > 90 eliminated all →
OMGDB is early, local-first, and built in the open.