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 →

28
Field types
160+
Admin pages
19
Workflow handlers
8
Flow state types

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

1

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.

2

Get APIs instantly

Every collection exposes a full REST API with filtering, sorting, pagination, and bulk operations. No code generation step.

3

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.

4

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
BackendJava 25, Spring Boot 4
FrontendTypeScript, React 19, Vite 7, Tailwind CSS 4
DataPostgreSQL 18, Redis 7
EventsNATS JetStream
AuthBuilt-in OIDC provider (Spring Authorization Server)
ObservabilityOpenTelemetry (OTLP) → Grafana Tempo, Loki, Mimir
DeploymentDocker, 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.