Skip to content
mercatus liber
Free · MIT-licensed · Pre-alpha

Mercatus Liber

“Free market” (Latin). A legitimate, 100% free/open-source alternative to Shopify, Medusa, and Saleor — headless, AI-agent-accessible, and built to be stood up with a single tool.

What it is

A schema-first commerce framework, not another storefront template

A free, MIT-licensed, headless commerce framework: a schema-first product/SKU catalog with pluggable database adapters, a marketing catalog genuinely separate from the sales catalog (the gap no existing free/OSS commerce platform actually fills), a per-page CMS instead of forced whole-site theming, a long-lived cart, adapter-based payments (Stripe first), analytics on by default (PostHog, config-swappable), and a plugin system for everything else (OMS, fulfillment, notifications).

Built as an AI and human commerce tool from the ground up — every capability exposed to a human storefront/admin UI is equally exposed to AI agents via a documented skills/tool catalog and an MCP server, calling the exact same subsystem interfaces. No shadow API, no reduced agent-only surface.

Why it exists

None of the free/OSS options actually separate marketing from sales

Evaluated against every serious free/OSS commerce option (Medusa, Saleor, Vendure, Spree/Solidus, Shopware, Bagisto, Sylius) plus proprietary options (Snipcart, Swell). None fit: wrong stack, wrong deploy shape, unnecessary infrastructure for a small catalog, or not actually free. None of them — and no other free package found — cleanly separates a sales catalog from a marketing catalog the way enterprise commerce platforms do. That separation, plus a schema-first, adapter-everywhere architecture, is the actual gap this project fills.

Every subsystem is a separate package talking through shared core types, adapter interfaces, or a typed event bus — never another subsystem’s internals. Swapping the payments adapter or the database adapter is meant to never touch catalog, cart, or CMS code. See how the adapter pattern actually works →

Status: pre-alpha — under active development. License: MIT. Give it away.

Live demos

Three genuinely separate storefronts, one framework

Simultaneously live, each on its own theme, catalog, and CMS content.

10 real theme bundles

One component-level theming system, ten complete visual identities

Every theme is a real set of design tokens and page templates — from a warm editorial artisan-market look to a bold maximalist grid to a precision technical datasheet layout. Preview any theme, then cross-apply it straight onto any of the three live demo stores.

Open the theme gallery →
FAQ

Frequently asked questions

What is Mercatus Liber?

A free, MIT-licensed, headless commerce framework: a schema-first product/SKU catalog with pluggable database adapters, a marketing catalog genuinely separate from the sales catalog, a per-page CMS instead of forced whole-site theming, a long-lived cart, adapter-based payments (Stripe first), analytics on by default (PostHog, config-swappable), and a plugin system for everything else (OMS, fulfillment, notifications). It’s built as an AI and human commerce tool from the ground up, with every capability exposed to a human storefront/admin UI equally exposed to AI agents via a documented skills/tool catalog and an MCP server.

Is Mercatus Liber free?

Yes. It’s 100% free and open-source, MIT-licensed — “give it away.” There’s no per-transaction cut, no forced app-store tax, and no vendor lock-in. Status: pre-alpha, under active development.

Can I self-host it?

Yes — that’s the explicit goal. Mercatus Liber isn’t a hosted SaaS platform; it’s meant to be something a small business, an agency, or an individual developer can pick up, self-host or deploy anywhere, and own outright.

What payment, CMS, and admin-auth providers does it support?

Every subsystem that could plausibly have more than one implementation is adapter-based with a zero-infra reference default. Payments: Stripe, via STRIPE_SECRET_KEY (checkout still works without it in every other regard; only real charging requires it). CMS: Sanity, via SANITY_PROJECT_ID, falling back to a zero-infra in-memory CMS adapter when unset — no external CMS required to run locally. Admin authentication: Clerk, via CLERK_SECRET_KEY, falling back to a local-development-only dev-password adapter when unset. See the architecture & adapters page for this deployment’s actual, live wiring.