Datris — Claude Code MCP server: what it does, how to install
A data control plane MCP server that lets coding agents extract, validate, and store pipeline data without handling raw API credentials.
claude mcp add datris -e DATRIS_API_URL=<DATRIS_API_URL> -e DATRIS_API_KEY=<DATRIS_API_KEY> -- uvx datris-mcp-serverWhat Datris does
Datris exposes 79 tools through one MCP entrypoint. Credentials stay inside Vault. The agent never receives raw secrets, running code in an isolated container. The platform records row provenance and commits generated ingestion scripts directly to Git.
Pipelines and bookmarks persist on the platform across agent resets. The self-hosted stack uses Docker with MinIO, PostgreSQL, MongoDB, Kafka, and Vault. Running every container requires 8 GB of Docker memory. You can drop usage to 3.5 GB by setting TEI_ENABLED=0 to skip the local embedding model.
What it helps with
- broker secret access for coding agents without revealing tokens
- persist pipeline bookmarks outside chat sessions
- validate ingested records using plain-English rules
- track row-level data provenance and execution history
Example prompts for the agent
- Query Datris to check the latest pipeline run and display failed rows.
- Fetch data from the external source using the stored secret credentials.
- Validate incoming records against the schema and route them to MongoDB.
How to install Datris
Platform CLI
claude mcp add datris -e DATRIS_API_URL=<DATRIS_API_URL> -e DATRIS_API_KEY=<DATRIS_API_KEY> -- uvx datris-mcp-serverReplace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from datris-mcp-server <command>
Platform CLI
codex mcp add datris --env DATRIS_API_URL=<DATRIS_API_URL> --env DATRIS_API_KEY=<DATRIS_API_KEY> -- uvx datris-mcp-serverReplace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from datris-mcp-server <command>
Config file
{
"mcpServers": {
"datris": {
"command": "uvx",
"args": [
"datris-mcp-server"
],
"env": {
"DATRIS_API_URL": "<DATRIS_API_URL>",
"DATRIS_API_KEY": "<DATRIS_API_KEY>"
}
}
}
}Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from datris-mcp-server <command>
Config file
{
"servers": {
"datris": {
"type": "stdio",
"command": "uvx",
"args": [
"datris-mcp-server"
],
"env": {
"DATRIS_API_URL": "<DATRIS_API_URL>",
"DATRIS_API_KEY": "<DATRIS_API_KEY>"
}
}
}
}Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from datris-mcp-server <command>
Platform CLI
gemini mcp add -e DATRIS_API_URL=<DATRIS_API_URL> -e DATRIS_API_KEY=<DATRIS_API_KEY> datris uvx datris-mcp-serverReplace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from datris-mcp-server <command>
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about Datris
How to install Datris in Claude Code?
Run claude mcp add datris -e DATRIS_API_URL=<DATRIS_API_URL> -e DATRIS_API_KEY=<DATRIS_API_KEY> -- uvx datris-mcp-server. Ensure the backend Docker stack is up and reachable at the specified URL.
What does Datris do?
It gives coding agents 79 MCP tools to extract, validate, and land data into self-hosted databases. Credentials remain behind an internal Vault broker instead of entering the chat prompt.
What are the hardware requirements?
The default Docker stack requires 8 GB of memory to run services like Kafka and MinIO. Setting TEI_ENABLED=0 in .env reduces memory usage to roughly 3.5 GB.