Open Source,
Agent Native,
Headless CMS

Open Source,
Agent Native,
Headless CMS

Open Source,
Agent Native,
Headless CMS

Shape your content with JSON Schema. Get a generated admin UI, REST APIs and MCP server, with your data kept as plain JSON. All self-hosted in a single binary

Shape your content with JSON Schema. Get a generated admin UI, REST APIs and MCP server, with your data kept as plain JSON. All self-hosted in a single binary

or
silo
v1.3.0
acme-dev
acme ยท production
Collections 7
+ New collection
Carticles128
Cauthors14
Cpages22
Creleases9
Cproducts64
Cfaq18
Cpress7
Media Library
Settings
Read & write
Connected ยท acme-dev
Search collections, entries, mediaโ€ฆโŒ˜K
Collections / articles
articles
128 entries ยท updated 2h ago
API
Edit collection
+New entry
Title โ‡…
Status โ‡…
Author โ‡…
Slug โ‡…
Updated โ‡…
Shipping silo 1.0
01J9Z3K4โ€ฆXQ
published
Asha Rao
shipping-silo-1-0
2h ago
Release notes: 0.9
01J9Y7PLโ€ฆ2M
published
Dev Mehta
release-notes-0-9
3d ago
Migrating from flat files
01J9X2QAโ€ฆ7K
draft
Asha Rao
migrating-flat-files
5d ago
Claims, explained
01J9W8HCโ€ฆ4P
published
Leo Park
claims-explained
1w ago
MCP for editors
01J9V1NDโ€ฆ9R
review
Dev Mehta
mcp-for-editors
1w ago
Media that stays put
01J9T6BKโ€ฆ3C
published
Leo Park
media-that-stays-put
2w ago
โœ“ Entry saved ยท rev 1

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

Built on JSON Schema and plain REST.

Built on JSON Schema and plain REST.

Built on JSON Schema and plain REST.

No field DSL, no custom query language. Write a standard schema, and silo turns it into an admin form and an API your whole stack already speaks.

No field DSL, no custom query language. Write a standard schema, and silo turns it into an admin form and an API your whole stack already speaks.

articles.schema.json

01 ยท schema

title

string

max 120

slug

string

pattern

published

boolean

tags

array

body

string

markdown

REST ยท HTTP + JSON

02 ยท api

GET

/entries/articles

POST

/entries/articles

GET

/entries/articles/:id

PUT

/entries/articles/:id

DELETE

/entries/articles/:id

200 OK ยท application/json

03 ยท response

id

01J9Z3K4XQ7M2โ€ฆ

ULID

title

Shipping silo 1.0

slug

shipping-silo-1-0

published

true

updatedAt

2026-09-23T09:41:07Z

RFC 3339

JSON Schema 2020-12

Validated by Ajv

REST over HTTP

ULID ids

RFC 3339 time

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

Bring your data from
anywhere.

Bring your data from
anywhere.

Export every project, schema, entry, media file and API Key in one command. Import it into any silo, whole or one collection at a time.

Export every project, schema, entry, media file and API Key in one command. Import it into any silo, whole or one collection at a time.

source

Strapi

collections

strapi โ†’ silo

schemas

0

entries

0

media

0

imported

silo

json schema

collection types map to JSON Schema

Every moving part is replaceable.

Every moving part is replaceable.

Storage, media, the admin and plugins each sit behind an interface. Start with the defaults and swap any one without touching the rest.

Storage, media, the admin and plugins each sit behind an interface. Start with the defaults and swap any one without touching the rest.

Storage
SQLitePostgresFile systemCustom
Media
Local diskS3R2MinIO
Admin
Built-inForkedYour own
Plugins
First-PartyBuild Your Own
Storage
SQLitePostgresFile systemCustom
Media
Local diskS3R2MinIO
Admin
Built-inForkedYour own
Plugins
First-PartyBuild Your Own

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

A media library that knows whatโ€™s in use.

A media library that knows whatโ€™s in use.

A media library that knows whatโ€™s in use.

Store files on local disk or any S3-compatible bucket. Folders, tags and type filters come built in, and silo wonโ€™t let you delete an asset an entry still needs.

Store files on local disk or any S3-compatible bucket. Folders, tags and type filters come built in, and silo wonโ€™t let you delete an asset an entry still needs.

All files

/

acme

/

marketing

New folder

Upload files

Type

Modified

stored in S3 ยท r2.acme.dev

hero-launch.jpg

logo-mark.svg

SVG

SVG

press-kit.pdf

PDF

silo

Press kit ยท 2026

A CMS made of standards

tower-dusk.webp

podcast-ep12.mp3

audio ยท 0:48

launch-teaser.mp4

โ–ถ 0:42

โ–ถ 0:42

products.csv

CSV

sku

name

price

A-101

Tote bag

24.00

A-102

Mug

12.50

A-103

Notebook

9.00

A-104

Cap

18.00

A-105

Poster

30.00

General-Sans.woff2

Aa

font ยท variable

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

AI-ready

Connect your agents
using MCP.

Connect your agents using MCP.

Connect your agents
using MCP.

Point Claude Code, Codex, Cursor or Claude Desktop at /api/mcp. Agents can browse, search, create and update content, limited to exactly what their key allows.

Point Claude Code, Codex, Cursor or Claude Desktop at /api/mcp. Agents can browse, search, create and update content, limited to exactly what their key allows.

Claude Code

Codex

Cursor

Claude Desktop

+

Any MCP client

silo

/api/mcp

key: editor-bot

agent session

live

โ†’ search articles q=release

โ† 3 entries

โ†’ update articles/01J9Z3K4XQ

โ† 200 OK ยท rev 8

โ†’ update production/keys

โ† 403 ยท not in claims

Browse projects and schemas

Read and search entries

Create and update

Scoped by the keyโ€™s claims

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

And so much moreโ€ฆ

And so much moreโ€ฆ

And so much moreโ€ฆ

acme-dev

/

Projects

/

marketing-site

/

Environments

Environments

New environment

Isolated copies of the collections and entries. Nothing is shared between them.

dev

marketing-site/dev

production

marketing-site/production

New environment in marketing-site

Name

staging

It starts empty โ€” copy data in from Data Transfer.

Cancel

Create environment

release

fts5

โœ•

ARTICLES

Shipping silo 1.0

01J9Z3K4โ€ฆXQ

โ€ฆthe 1.0 release ships as one binary

Release notes: 0.9

01J9Y7PLโ€ฆ2M

Release notes for the 0.9 line

FAQ

How do releases work?

01J9X2QAโ€ฆ7K

โ€ฆeach release is tagged in git

MEDIA

release-banner.png

/acme/press

Preview

Match

all

any

of these

Where

tags

contains

release

โœ•

$.data.tags

+ Add condition

Clear

Apply

Plugins

Re-read silo.toml

Install plugin

Which plugins load is silo.toml. Withdrawing a grant takes effect immediately.

Plugin

Granted

Runtime

@acme/silo-plugin-analytics

routes ยท panel

4 of 4 claims

Running

@acme/silo-plugin-slugger

hooks

2 of 3 claims

Running

@org-quicko/silo-plugin-strapi-import

routes ยท runtime ยท panel

7 of 7 claims

Running

Install a plugin

Package spec

Upload .tgz

@acme/silo-plugin-slugger@^1

Install plugin

Access

users: 0 ยท keys: 3

design-team

articles, media

read ยท write

ci-deploy

every collection

read

claude-agent

articles

read ยท search

no passwords, no user table, nothing to reset

Silo

Add server

Servers

3

acme

cms.acme.dev

acme-dev

dev-cms.acme.dev

acme-prod-readonly

cms.acme.dev

Projects

4

marketing-site

docs

mobile-app

storefront

Environments

3

dev

staging

production

acme-dev

marketing-site

dev

Open workspace

Multi-tenant

Start with one project, add more as needed, and keep each one separated across its own environments.

Environments

Role-based access control

Search & filter

Extend with plugins

Multi-tenant

Start with one project, add more as needed, and keep each one separated across its own environments.

Silo

Servers

3

acme

cms.acme.dev

acme-dev

dev-cms.acme.dev

acme-prod-readonly

cms.acme.dev

Projects

4

marketing-site

docs

mobile-app

storefront

marketing-site

Open workspace

Environments

Role-based access control

Search & filter

Extend with plugins

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

Why switch to Silo?

Why switch to Silo?

Why switch to Silo?

Same job as a hosted CMS, with none of the parts you canโ€™t take with you.

Same job as a hosted CMS, with none of the parts you canโ€™t take with you.

silo

Typical hosted CMS

Typical hosted CMS

Content model

Content model

โœ“

โœ“

JSON Schema 2020-12

JSON Schema 2020-12

Proprietary schema

Proprietary schema

Querying

Querying

โœ“

โœ“

JSONPath filters, shareable as URLs

JSONPath filters, shareable as URLs

Vendor query language

Vendor query language

Where data lives

Where data lives

โœ“

โœ“

Plain JSON in SQLite or files

Plain JSON in SQLite or files

The vendorโ€™s database

The vendorโ€™s database

Moving data

Moving data

โœ“

โœ“

One-command export and import

One-command export and import

A migration project

A migration project

Access

Access

โœ“

โœ“

Claims on API keys

Claims on API keys

Seats and roles

Seats and roles

Deploys as

Deploys as

โœ“

โœ“

One binary, one process

One binary, one process

A hosted service

A hosted service

AI agents

AI agents

โœ“

โœ“

Built-in MCP server

Built-in MCP server

Varies by plan

Varies by plan

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

Questions, answered

Questions, answered

Questions, answered

What does Silo run on?

One TypeScript process on Bun, with just six runtime dependencies. No database server, cache, queue or search cluster, and it can compile to a standalone binary.

Can I run more than one Silo?

Yes. Give each instance its own data directory and port, and multiple Silos can run on the same machine.

How do I model my content?

With JSON Schema Draft 2020-12. Every write is validated against the schema, and the admin UI generates forms from it.

How does authentication work?

Silo uses API keys with explicit claims instead of users and roles. Access is denied by default, and keys can only delegate permissions they already have.

How do AI agents connect?

Through Siloโ€™s MCP server. Claude, Codex, Cursor and other MCP clients can read and modify content using the same permissions as the REST API.

Can I extend silo?

Yes. Plugins can add hooks, API routes, runtime logic, admin panels and storage providers.

Can I move my content elsewhere?

Yes. Export projects, environments, collections, entries and media, then import them into another Silo instance or anywhere you want.

Is my data locked into Silo?

No. Schemas are JSON Schema, content is plain JSON, the API is REST, and the filesystem format doubles as an export format.

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

Why we built Silo

Why we built Silo

Open source should be more than an entry point. We wanted Silo to be complete enough for real-world use, follow open standards, grow with your setup, and stay portable without depending on a paid tier to finish the job.

Open source should be more than an entry point. We wanted Silo to be complete enough for real-world use, follow open standards, grow with your setup, and stay portable without depending on a paid tier to finish the job.

silo

From the team at Quicko

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

ยฉ 2026 Quicko Infosoft Private Limited. All rights reserved.

ยฉ 2026 Quicko Infosoft Private Limited. All rights reserved.

silo
silo

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+