Datris logo

Datris

AI Agent-Native Data Platform β€” ingest, validate, transform, and query data.

Install Datris

Pick your client, then add it in one click or paste the config.

SSE (Remote)
Server URL
http://localhost:3000/sse

Remote servers are added in the app, not the config file: Customize β†’ Connectors β†’ Add custom connector, then paste this URL.

Overview

Security & health

What it can reach and how reliably it runs β€” from our own checks, not the maintainer’s claims.

ActiveLast checked Today

Recent health check succeeded.

7/7 checks healthy over the last 42d

Supply-chain signal

1 high-severity advisory on record for this package. Most advisories affect transitive dependencies and may not be exploitable in this server's actual usage β€” this is a directional signal, not a security audit.

Critical 1High 0Medium 0Low 0

Scanned 16d ago via OSV.dev Β· http://localhost:3000/sse (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks β€” not a rating.

GitHub stars13Stargazers on the source repository.
Last commit3d agoMost recent push to the default branch.
Directory activity1 viewsConfig copies, upvotes, and views on AllMCPs.

From the project README

Datris β€” The Data Control Plane for AI Agents

PyPI MCP Registry Docker Hub License

datris.ai Β· Documentation Β· MCP Registry Β· PyPI

⭐ If Datris is useful to you, star the repo β€” it helps other people find it.

Agents ask Datris for data. Datris finds it, acquires it, validates it, lands it in the stores you already run, and returns it with provenance β€” over MCP, without ever holding your keys. It sits beside your warehouse and lake; it doesn't replace them.

See it in 90 seconds β€” describe the data you need, and the Assistant builds the tap, runs it, and lands the data:

https://github.com/user-attachments/assets/4f03dc12-e9d7-4f93-8ba4-d712ab7d3733

πŸ”Š Sound is off by default β€” click the speaker icon in the player.

Why Datris?

https://github.com/user-attachments/assets/ba3de886-1413-4d92-92bb-99018cfaff38

πŸ”Š Sound is off by default β€” click the speaker icon in the player, or watch on YouTube.

Your agents already acquire, validate, and load data. Without a control plane, they do it badly. Datris puts that work behind one governed surface:

  • One MCP door β€” 79 tools behind a single MCP server. Claude, Cursor, and any MCP-compatible agent learn one interface instead of 79 integrations
  • Vault-brokered credentials β€” the agent references a secret by name and never holds a key; agent-written code runs in an isolated container with no keys inside
  • Scoped keys, approval gates, audit log β€” each agent gets its own API key limited to the capabilities you grant; an agent policy decides per action whether an agent runs it, waits for a person to approve, or is refused; an audit log, once you turn it on (USE_AUDIT_LOG=true), records who did what, best effort by default and without loss in strict mode
  • Every run recorded β€” job state and row counts for every run, provenance on its rows with stamping on; every generated script versioned in git
  • Durable state β€” pipelines and sync bookmarks live in the platform, not the chat, so regenerating a script never loses its place
  • The operating loop β€” Acquire (AI-generated taps) β†’ Validate (plain-English rules) β†’ Land (multi-destination pipelines) β†’ Observe (provenance and job state) β†’ Explain & Repair (AI error explanation), with the same audit trail every time once the audit log is on (see strict mode)
  • Self-host anywhere β€” on-prem, any cloud, or your laptop; 100% open-source infrastructure (MinIO, PostgreSQL, MongoDB, Kafka, Vault), AGPL-3.0, no managed service

Quick Start

You need Docker and one AI provider key (Anthropic, OpenAI, Grok, Azure OpenAI, or Amazon Bedrock). This pulls pre-built images and runtime files, seeds a .env, and starts the stack into ./datris β€” no git checkout required. The installer asks for the key:

Terminal
curl -fsSL https://get.datris.ai/install.sh | sh

Installing from a coding agent or a CI job with no terminal attached? Export the key first (ANTHROPIC_API_KEY, OPENAI_API_KEY, or another provider's): the installer asks nothing and reads it from the environment. Then check http://localhost:8080/api/v1/version answers before going on. Full steps: Install for Agents.

Minimal install (laptop-friendly). The default stack runs about ten containers and the bundled embedding server downloads a 2.2 GB model on first boot. None of that is required. Three settings in .env cut it to eight small containers, no download, and roughly 3.5 GB of memory (4 GB of Docker memory is enough; the full stack wants 8 GB):

bash
TEI_ENABLED=0               # skip the local embedding server and its 2.2 GB download
EMBEDDING_PROVIDER=openai   # semantic search via OpenAI (needs OPENAI_API_KEY); omit if you have no OpenAI key
POSTGRES_ENABLED=0          # optional: skip bundled Postgres; MongoDB stays as the destination

The installer sets the first two when you choose OpenAI embeddings. The datris server itself runs on a 2 GB heap by default. Details: Installation β†’ Minimal install.

The install.sh installer is a POSIX shell script (macOS/Linux). On Windows, run it from WSL2 or Git Bash, or use the single-file Compose option below, which works natively in PowerShell.

Single file, no installer (works on Windows)

A fully self-contained Compose file β€” the init scripts and config are inlined, so nothing else is needed (requires Docker Compose β‰₯ 2.23):

bash
# macOS / Linux
curl -O https://get.datris.ai/docker-compose.standalone.yml
ANTHROPIC_API_KEY=sk-ant-... docker compose -f docker-compose.standalone.yml up -d
powershell
# Windows (PowerShell) β€” use curl.exe, and set the key with $env:
curl.exe -O https://get.datris.ai/docker-compose.standalone.yml
$env:ANTHROPIC_API_KEY="sk-ant-..."
docker compose -f docker-compose.standalone.yml up -d
From a git clone
bash
git clone https://github.com/datris/datris-platform-oss.git
cd datris-platform-oss
cp .env.example .env       # Add your ANTHROPIC_API_KEY and/or OPENAI_API_KEY (or the AZURE_OPENAI_* trio, XAI_API_KEY, or AI_PROVIDER=bedrock)
docker compose up -d

UI: http://localhost:4200 Β· API: http://localhost:8080

Connect an AI Agent

Add to your MCP client config (Claude Desktop, Claude Code, Cursor, etc.). With the Docker stack running, the npx mcp-remote stdio bridge connects to the bundled MCP server on port 3000 β€” your client appears in the Datris UI Agent Monitor tab with live tool-call streaming:

config.json
{
  "mcpServers": {
    "datris": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "http://localhost:3000/sse", "--transport", "sse-only"]
    }
  }
}

Paste-and-go for the default local setup β€” no API key required when USE_API_KEYS=false (the OSS default). If your instance enables auth (USE_API_KEYS=true or multi-tenant), append "--header", "x-api-key:<your-key>" to the args array. The Configuration β†’ Connect Your Agent page generates the snippet for you and adds the header automatically when you paste your key.

Requires Node.js on your PATH (brew install node). For a stdio alternative without Docker, or full Claude Desktop / Claude Code / Cursor walkthroughs, see Configuring Claude.

To teach the coding agents in your own projects (Claude Code, Codex, and similar) to use Datris for data work, install the datris-platform skill from skills/ β€” see Agent Skill.

CLI

Dockerfile
brew tap datris/tap
brew install datris
datris ingest data.csv --dest postgres
datris ingest sales.csv --ai-validate "prices > 0" --ai-transform "convert dates to YYYY/MM/DD"
datris query "SELECT * FROM sales"
datris search "quarterly revenue" --store pgvector
datris tap create "Fetch S&P 500 daily prices from yfinance" --pipeline stocks
datris taps
datris doctor               # operational self-check; prints the fix for every finding

What It Does

Code
Source (Tap / File Upload / MinIO Event / Database Pull / Kafka)
  β†’ Preprocessor (optional REST endpoint)
  β†’ Field Protection (pseudonymize, mask, redact, encrypt, or drop sensitive fields)
  β†’ Data Quality (AI rules, header validation, schema validation)
  β†’ Transformation (AI transformation, destination schema)
  β†’ Destinations (in parallel):
      PostgreSQL, MongoDB, Snowflake, Databricks,
      MinIO / S3 (Parquet, ORC, Apache Iceberg), Kafka, ActiveMQ,
      REST Endpoint, Qdrant, Weaviate, Milvus, Chroma, pgvector
  β†’ Notifications (ActiveMQ topic)

AI-Powered Features

FeatureDescription
MCP Server79 tools for AI agents β€” pipeline CRUD, upload, query, search, profiling, taps, catalogs, provenance
TapsDescribe a source in plain English β€” AI generates a Python script that fetches it on demand or on a schedule, run in an isolated container
AssistantConversational tap and pipeline creation, operations, and configuration in the UI
AI Data QualityPlain English validation rules β€” AI generates and runs a validation script
AI TransformationPlain English transformations β€” AI generates and runs a transformation script
AI Schema GenerationUpload a file, get a complete pipeline config
AI Data ProfilingUpload a file, get statistics + suggested validation rules
AI Error ExplanationJob failures explained in plain English
Natural Language QueryAsk questions in English, get SQL results
RAG PipelineChunk, embed, and search across 5 vector databases
Field ProtectionPseudonymize, mask, redact, encrypt, or drop sensitive fields before any AI stage or destination sees them

Supported Formats

CSV, JSON, XML, Excel, PDF, Word (DOCX), PowerPoint, HTML, email, EPUB, plain text

AI Providers

Reviews

No reviews yet β€” be the first to share how it worked for you.

Frequently Asked Questions about Datris

Datris is an MCP server that gives AI agents a governed interface to ingest, validate, transform, and query data. It acquires data, lands it in stores you already run, and returns provenance, while running beside your warehouse or lake. It is self-hostable and open-source under AGPL-3.0.

Datris lets AI agents acquire, validate, and load data through one MCP interface. Its operating loop covers Acquire, Validate, Land, Observe, Explain, and Repair, with pipelines, sync bookmarks, job state, row counts, provenance, and versioned generated scripts.

Datris keeps credentials in a vault and lets agents reference secrets by name without holding the keys. Agent-written code runs in an isolated container, while scoped API keys, approval policies, and audit logging help govern agent actions.

Yes, Datris can be self-hosted on-premises, in any cloud, or on a laptop. Its documented infrastructure includes MinIO, PostgreSQL, MongoDB, Kafka, and Vault, and the project is licensed under AGPL-3.0.

Related MCP servers

Add a badge to your READMEShow it’s listed β€” live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewDatris AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/datris?style=directory)](https://allmcps.com/mcp/datris)
HTML Embed
<a href="https://allmcps.com/mcp/datris"><img src="https://allmcps.com/api/badge/datris?style=directory" alt="Datris on AllMCPs" /></a>