The open-source application platform your AI agents can actually operate — schema, flows, and approvals over an API and an MCP server.
Kelta is a metadata-driven platform for building enterprise applications at runtime. Define collections, fields, workflows, and APIs — without redeploying.
Run it locally
git clone https://github.com/kelta-io/kelta.git
cd kelta
make setup # first time only: copies .env.example → .env, generates dev signing keys
docker compose up -d --wait # pulls + starts postgres, redis, nats, cerbos, mailpit, auth, worker, gateway, ui
Docker and make are all you need.
Read the quickstart →
Everything you need to build, automate, and scale
A complete platform with the power of Salesforce, without the complexity, cost, or lock-in.
Dynamic Schema Engine
Define and modify your data model at runtime. 28 field types, relationships, computed fields, validation rules, and schema versioning — all without touching code or restarting services.
Auto-Generated REST API
Every collection gets a full JSON:API-compliant REST API instantly. Filtering, sorting, pagination, sparse fieldsets, relationship includes, and atomic bulk operations out of the box.
Visual Workflow Builder
Design automation with a drag-and-drop flow canvas inspired by AWS Step Functions. 8 state types, 19 built-in action handlers, durable execution, and triggers for record events, webhooks, cron schedules, or NATS messages.
Enterprise-Grade Security
Role-based access control with profiles and groups. Field-level AES-256-GCM encryption. Row Level Security per tenant. Cerbos policy engine integration for attribute-based rules. MFA with TOTP and SMS.
Multi-Tenant by Default
URL-based tenant resolution with custom domain routing. Per-tenant schemas, governor limits, and resource isolation. Scale horizontally without rearchitecting.
Admin Console & App Runtime
A 160-page setup console for admins — data model, security, automation, integration, page builder, monitoring — and the end-user app it generates: table, kanban, gallery, and calendar views, layout-driven records, dashboards, realtime presence, and an AI assistant.
AI-Native Setup via MCP
A built-in Model Context Protocol server exposes 54 tools — 39 for configuration, 15 for data. Point Claude Code or any MCP client at your tenant and have it create collections, fields, flows, layouts, and pages for you, or query and update records. One command to connect.
Sandboxes, Promotion & CLI
Clone a tenant into a sandbox, change it safely, then export, diff, and promote metadata between environments — all from the kelta CLI. Generate a typed SDK for your collections in one command.
Full Observability Stack
OpenTelemetry traces, logs, and metrics over OTLP to any backend — Grafana Tempo, Loki, and Mimir out of the box. Request metrics with P50/P75/P95/P99 latency breakdowns. Audit trails for every change.
How It Works
Define your schema
Create collections and fields through the admin UI, the CLI, or by describing them to your AI agent over MCP. Relationships, validations, and computed fields configure in seconds.
Get APIs instantly
Every collection exposes a full REST API with filtering, sorting, pagination, and bulk operations. No code generation step.
Add automation
Build workflows visually with the flow canvas. Trigger on record changes, schedules, or webhooks. Chain data operations, HTTP callouts, emails, and custom logic.
Ship with confidence
Multi-tenant isolation, RBAC, encryption, rate limiting, and observability are built in from day one. Not bolted on later.
Model Context Protocol
Configure it by talking to it
Every Kelta tenant ships two MCP endpoints. Connect Claude Code, Claude Desktop, Cursor, or any MCP client and your agent gets typed tools for the whole platform — not a generic HTTP wrapper.
- ✓Admin plane — 39 tools: create and evolve collections, fields, picklists, validation rules, flows, layouts, list views, pages, menus, and dashboards. Import an OpenAPI spec and materialize it as a collection.
- ✓Data plane — 15 tools: query, create, update, and bulk-apply records; run flows and follow their runs; submit and list approvals; keyword and semantic search.
- ✓Resources — the agent can read your schema, the generated OpenAPI, and the authoring docs straight from the server.
- ✓Governed — authenticated with a personal access token, scoped to one tenant, subject to the same RBAC and rate limits as the UI. Admin tools are not reachable from the data endpoint.
The same runtime powers the in-app assistant and governed agents: schema-aware, tenant-scoped, with a bounded tool-use loop and token accounting per tenant.
# connect your tenant to Claude Code
$ kelta mcp install claude-code
# then, in the agent:
> Create an "invoices" collection with a
customer lookup, a currency amount, a due
date, and a status picklist (draft, sent,
paid, void). Email the customer when status
becomes "sent", and add an overdue-invoices
list view to the finance menu.
✓ create_collection invoices
✓ add_field ×4 customer, amount, …
✓ create_picklist invoice-status
✓ create_flow invoice-sent-email
✓ create_listview overdue-invoices
✓ apply_menu finance Endpoints /{tenant}/mcp/admin · /{tenant}/mcp/user — streamable HTTP, Bearer PAT.
Why Kelta?
Stop rebuilding the same platform layer
Every product team ends up writing the same infrastructure: auth, RBAC, CRUD APIs, event buses, tenant isolation, rate limiting. Kelta ships all of it as a configurable runtime so your team can focus on what makes your product different.
Runtime configuration, not deployment cycles
Traditional platforms require code changes and redeployments for schema updates. Kelta's metadata-driven architecture lets you add collections, fields, validation rules, and workflows while the system is running.
Standards-based, not proprietary
JSON:API for REST. OIDC for auth. OpenTelemetry for observability. NATS for events. PostgreSQL for persistence. Kelta builds on the tools your team already knows — no vendor lock-in, no custom query languages.
Open source. Full stack.
Gateway, worker, SDK, admin UI — the entire platform is open source. Run it on your infrastructure, extend it with modules, and own your data.
Tech Stack
| Layer | Technology |
|---|---|
| Backend | Java 25, Spring Boot 4 |
| Frontend | TypeScript, React 19, Vite 7, Tailwind CSS 4 |
| Data | PostgreSQL 18, Redis 7 |
| Events | NATS JetStream |
| Auth | Built-in OIDC provider (Spring Authorization Server) |
| Observability | OpenTelemetry (OTLP) → Grafana Tempo, Loki, Mimir |
| Deployment | Docker, Kubernetes, ArgoCD |
Ready to stop rebuilding infrastructure?
Kelta is open source and ready to run. Clone the repo, spin up the stack, and have a working platform in minutes.