
DataRaum
io.github.dataraumPublished by GitHub account dataraumv0.2.1Updated Oct 25, 2026
Pre-computed metadata context engine for AI-driven data analytics
Overview
DataRaum is a local metadata context engine that learns the concepts, relationships, rules and measures behind an organization's data and grounds them in the 数据
- What you can do
- Learns what data columns mean — concepts, relationships, rules and measures — and grounds each in the actual data with a measured confidence score, going beyond a column-name semantic layer. Runs durable analysis over data sources and writes metadata into a per-workspace Postgres schema. Hosts a chat agent in a web cockpit that renders results and triggers engine workflows. Organizes work into isolated workspaces, each with its own engine and cockpit containers behind a portal and reverse proxy. Supports running from source or from published release images.
- When to use it
- Use it when you want an assistant to help build and explore a semantic understanding of an organization's own data — its concepts, relationships and measures — rather than just column names. Suited to teams willing to run a multi-container platform locally or on a deploy host.
- Requirements
- Runs as a local multi-container platform (Docker Compose) with Postgres, an S3 object store and Temporal, plus a portal and Caddy ingress. Requires an Anthropic API key in ANTHROPIC_API_KEY for LLM-powered semantic analysis. DATARAUM_HOME sets the root directory for workspaces, sessions and exports. Caddy binds port 80 by default; a build toolchain is needed unless using published release images.
Installation
In SourceWeft
- Open DataRaum in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
DataRaum
The understanding layer that grounds an organization's operating model in its own data.
A semantic layer tells BI tools what columns are called. DataRaum learns what they mean — the concepts, relationships, rules, and measures of the organization — and grounds each one in the actual data, with a measured confidence behind it. See the docs for the full picture.
Monorepo layout
Each package has its own README. Start there if you're working in a specific package.
Status
DataRaum runs as a multi-container platform, isolated per workspace:
- engine (Python) — a Temporal activity worker, no HTTP. Does the durable analysis (
add_source,begin_session,operating_model) and writes metadata to the workspace's Postgres schema. - cockpit (TanStack Start) — the web app you use. Hosts the chat agent, renders the results, and orchestrates the journey by triggering engine workflows via Temporal.
Each workspace runs its own pair of those two containers. In front of them sit the portal (the cockpit image in a second role — login, membership routing, workspace provisioning) and Caddy, which serves the portal on the parent domain and each workspace on its own subdomain.
They share one substrate: Postgres (metadata + cockpit state + catalogs), an S3 object store (the DuckLake data lake + uploads), and Temporal (durable orchestration). No HTTP seam between engine and cockpit — the integration surface is Postgres + Temporal. See the platform architecture.
Quick start
Caddy routes by hostname: the parent domain serves the portal (login + your workspaces),
and each workspace has its own subdomain (http://ws1.dataraum.localhost). localhost:3000
is published for debugging only — the session cookie is scoped to the parent domain, so a
browser there is redirected to the portal and a script gets 401.
The thing that bites on a first run: Caddy binds port 80. If something already holds it
(macOS ships Apache), up fails at container start and the portal never comes up — set
CADDY_HTTP_PORT and a matching DATARAUM_PORTAL_ORIGIN to move it. (*.localhost needs
no /etc/hosts entry.)
Compose defines exactly one workspace pair — bootstrap scaffolding, so a fresh install
has something to log into and something for the provisioner to clone. Every other workspace
is created from the portal (New workspace) or bun run workspace:create; compose does
not grow a service per workspace.
Full walkthrough, including troubleshooting: Running the stack.
For UI iteration, run the cockpit dev server outside docker for hot reload — see packages/cockpit/README.md.
Run a released version (published images)
The quick start above builds the engine and cockpit from source. To run the published release images instead — a deploy host, no build toolchain — layer the release overlay and name the version:
This pulls ghcr.io/dataraum/{dataraum, dataraum-cockpit, dataraum-cockpit-migrate} at
that tag. See Deployment for the images, schema/migration
handling, and the per-workspace topology.
Develop
- Engine (Python):
cd packages/engine && uv sync --group dev && uv run pytest --testmon tests/unit -q. Seepackages/engine/README.mdandpackages/engine/CLAUDE.md. - Cockpit (TypeScript):
cd packages/cockpit && bun install && bun --bun run dev(the--bunflag is required). Seepackages/cockpit/README.mdandpackages/cockpit/CLAUDE.md. - Pull the engine metadata schema (cockpit):
cd packages/cockpit && DATARAUM_WORKSPACE_ID=<id> METADATA_DATABASE_URL=<url> bun run db:pull:metadata. Re-run after the engine adds/changes SQLAlchemy models.
Documentation
Platform docs live in docs/ (workspace root) and are published via Zensical. Start at
docs/index.md, or serve the site locally:
- Documentation home — what DataRaum does, at a glance
- The journey · pipeline & phases · learnable surface · measurement & detectors
- Platform architecture — under the hood
- Decision records — the why behind the architecture
License
Apache 2.0 — see LICENSE.
Source: README.md at commit 4dd54da
Tools
0Version history
1- v0.2.1LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts