A coding agent reshapes your data model as fast as it changes the UI — no migrations — while the site keeps hitting the same frozen endpoints. And one instance hosts every site you build, each a fully isolated tenant. The demo below isn't a mockup — it's wired to the live database. Try it:
Add a field, split a type, link two things — every change normally means rewriting a database schema and migrating every existing row. So the design churn that makes building fun becomes the thing that slows you down.
MorphDB makes a schema edit free and instant, and keeps the HTTP API frozen while the shape underneath changes. The agent stops fighting the database and just builds.
Three nested ideas. The outermost one — the app — is the other half of the story: it's what makes MorphDB multi-tenant. Every site you ship is its own app, and they all live in one process behind one set of URLs.
That's multi-tenancy, live. Same process, same URL, two apps that have never heard of each other. The key on the request is the only thing that picks a universe — which is exactly why a coding agent can spin up a fresh backend per project without standing up new infrastructure. Schema-fluid is how fast you build one site; multi-tenant is how one MorphDB backs all of them.
MorphDB cleanly separates who changes the shape from who moves the data — and that separation is why the API can stay frozen.
Call tools to add a field, declare a relation, retype something. Instant, O(1), no rows rewritten.
Plain fetch against generic object endpoints. These URLs never change when the schema morphs.
How can the shape change under live data without breaking it? Every object is stored as raw JSON and projected through the current schema on every read.
Add a field → old rows simply read it as empty (or its default). Drop a field → it vanishes from the view, the bytes stay put. Retype a field → a value that no longer fits reads as unset until rewritten. A schema edit is one tiny metadata write — zero row rewrites, whether you have ten objects or ten million.
A relation is declared on one side; the inverse appears automatically on the other. Under the hood each link is a single row in an indexed edge table — so you can traverse both ways in one read, and filter a list by it like an ORM foreign key.
Claude Code talks to MorphDB's tools through a tiny server, morphdb mcp. It's a stdio server: Claude launches it as a child process and exchanges newline-delimited JSON-RPC over its stdin/stdout — no network, no port. You never run or stop it; Claude owns its whole lifecycle.
MorphDB is deliberately tiny and dependency-free, so a coding agent can install and reason about all of it.
⊘ 0 dependencies — just Python's http.server + sqlite3