Now available · Cloud or self-hosted

Deploy your site.
Version your data.
One command.

Static files and structured content in one system. Every update versioned. Preview before going live. Promote when ready. Self-hosted or cloud.

# Deploy your site in one command
wren deploy ./dist --tree mysite --public

Found 47 files in ./dist
Creating binary collection: mysite-assets
  Uploaded 47 files...
Created public read permission for tree:mysite

Deployed to tree "mysite":  47 uploaded, 0 unchanged, 47 new paths
Public URL (needs a principal=* rule): https://wren.example.com/orgs/acme/tree/mysite/index.html

Your files and your data. One place. Versioned.

No CI/CD pipeline. No separate CMS. No build step. Just upload and serve.

One-command deploy

wren deploy ./dist --tree mysite uploads your files, creates the tree, and gives you a URL. Done.

Every file versioned

Every upload creates a new version. Diff any two, roll back to any point. Full history for HTML, CSS, images — everything.

Preview → Promote

Deploy with --label preview. Check it with your key on the private API — the public site doesn’t change. Promote to published when ready. One label controls what’s live.

Content + code together

Your static files and your JSON data live in the same system. One tree, one permission model, one label makes everything live atomically.

Queryable data

Filter, project, and aggregate your collections. Return only the fields you need. Materialized queries auto-refresh — no hand-built index docs.

wren.js data binding

Add <script src="/wren.js"> to your deployed site. Web components like <wren-list> and <wren-query> bind live data — no JS to write.

Deploy. Preview. Promote.

Three steps from local build to live site. No CI pipeline, no build service, no waiting.

1

Deploy your build output

Point wren deploy at your dist/ folder. It scans every file, uploads only what changed (compared by content hash), assigns each to a tree path, and prints your live URL. First deploy auto-creates the binary collection and public permission.

wren deploy ./dist --tree mysite --public
# 47 files uploaded, live at /orgs/acme/tree/mysite/index.html
2

Preview before going live

Deploy with --label preview. New versions are created but the public site is unchanged — visitors still see the published label. You (and your agents) see the new version through the private API with your key; public URLs keep serving published.

wren deploy ./dist --tree mysite --label preview
# 3 files changed. Public site unchanged.
# Preview: .../tree/mysite/index.html?label=preview
3

Promote to published

One command moves the published label to every document’s current version. Static files and JSON data go live atomically. No race condition between “the site deployed but the data hasn’t synced.”

wren promote mysite --from preview
# 47 documents labeled "published". Site is live.

What you get vs. what you’d build.

WREN replaces both the hosting layer and the content backend.

Vercel / Netlify

  • One-command deploy
  • Preview deployments
  • No structured data store
  • No per-file version history
  • No rollback to arbitrary version
  • Not self-hostable
  • Content needs a separate CMS

Headless CMS + CDN

  • Doesn’t host your files
  • Structured content editing
  • Preview / draft mode
  • No file versioning
  • Content and code deploy separately
  • Two systems to manage
  • Data sync race conditions

WREN

  • One-command deploy
  • Preview via labels
  • Structured JSON collections
  • Every file versioned + diffable
  • Rollback any file, any version
  • Content + files go live atomically
  • Self-hosted with Docker

Open to every agent. Private to yours.

One server, one MCP endpoint. What you publish, anyone’s agent can find and use. What you keep private, only your agents reach — with your permissions, and nothing they do is permanent.

Public data, no key

Any agent can connect to /mcp without signing up, see who publishes what, and read published sites and collections. Always the released version, never your drafts.

Private data, as you

“Sign in with WREN” from Claude, Cursor or VS Code, pick the org, and the agent works with your groups’ access. Or give it an API key. Revoke either at any time.

Safe to let it write

Agent writes land as new versions labeled preview. Review the diff, promote what’s good, roll back what isn’t. Nothing is overwritten.

# Read anyone’s public data — no account needed
claude mcp add --transport http wren-public https://wren.aemwip.com/mcp

# Work in your own org — opens a browser to sign in and choose the org
claude mcp add --transport http wren https://wren.aemwip.com/mcp/login

Set up Claude Code, Cursor or VS Code →

Start free. Scale when you’re ready.

Every plan includes deploy, versioning, labels, trees, and the full REST API.

Free

$0/month

For personal projects and experiments.

  • 1 organization
  • 3 collections
  • 1 000 documents
  • 100 MB storage
  • 10 000 API requests / day
  • Community support
Get started

Enterprise

Custom

For production workloads and compliance.

  • Unlimited everything
  • SSO & audit logging
  • Self-hosted or managed
  • Dedicated support & SLA
Contact us