What is StoryOS
StoryOS is a connected-database work OS: open source, self-hostable, and API-first. You define databases, connect them with real relations, and look at the same records through tables, kanban boards, calendars, galleries, lists, feeds, and timelines. Nothing is paywalled — the self-hosted core is fully capable, free forever.
The web UI is just the first client of a public REST API. Everything it does, a script — or an AI agent, via MCP — can do too.
The engine
Section titled “The engine”- Databases & fields — text, rich text, number, checkbox, date, select, multi-select, URL, email, person, relation, lookup, rollup, formula, button. Schema changes are runtime API calls, not migrations.
- Relations — first-class and paired on both sides (a Project sees its Tasks, a Task sees its Project), one-to-many or many-to-many, across spaces. Learn more →
- Lookups & rollups — surface a related record’s field, or aggregate related records (count / sum / avg / min / max). Learn more →
- Formulas —
{Allocation} - {Days Used},days_between(today(), {Due}), 19 functions, 5-level chains. Learn more → - Views — table (virtualized, inline editing, batch edits), kanban with drag-and-drop, and calendar with drag-to-reschedule. Saved filters and sorts per view. Learn more →
- Entity pages — every record is a page: fields, rich-text description, attachments, comments with @mentions, and a full activity trail.
Working in it
Section titled “Working in it”- Templates — installable packs (client work, sales CRM, content pipeline, social calendar, meetings, org chart, time off, dev project…), each with sample data and a built-in guide.
- Automations & buttons — trigger on record changes or a schedule; buttons run actions with one click. Learn more →
- Command palette — search, navigation, and recents. Inbox and My Work views for notifications and assignments.
- Guests & granular access — invite a client into exactly one space with viewer → commenter → editor → creator grants. Everything else is invisible to them. Learn more →
- CSV import — with type inference, relation matching by title, and a dry run.
API-first
Section titled “API-first”- Versioned REST API under
/api/v1, OpenAPI spec generated from code, interactive docs at/api/docson your instance. - Personal access tokens, rate limiting, and a query endpoint with a filter AST — everything needed to build an MCP server or any other client. API reference →
The agentic layer
Section titled “The agentic layer”Most “AI in a work tool” is a chat box bolted on the side. StoryOS is the opposite: the workspace is the agent’s operating environment. Your databases are its long-term memory and its hands; the MCP server is the read/write substrate. An agent reads the schema, queries state, creates and updates records, links them, presses buttons, comments for humans, and leaves an audit trail — it doesn’t “integrate with” StoryOS, it runs your work inside it.
Principles
Section titled “Principles”- Relations are the core primitive. A database without relations is a spreadsheet.
- API-first, no exceptions. The UI consumes the same public API everyone else gets.
- Capability is never paywalled. The self-hosted core is fully capable, free forever. Monetization is managed hosting and AI on top — never crippling the engine.
- Structure over documents. The unit of work is a record in a database, not a page in a tree.
- Schema is data. Databases, fields, relations, and views are API resources with stable IDs.
- Boring, predictable, self-hostable. Runs a 10-person agency on a small VPS.
Next steps
Section titled “Next steps”- Self-host StoryOS in one command.
- Skim the core concepts.
- Connect an AI agent to your workspace.