Datus CLI
An open-source agent for data engineers: a terminal SQL client with warehouse context, a semantic layer, REST and an MCP server.
- 1,918 ★ on the repository
- Last commit
Broad access
Why this level
- The agent runs SQL against the warehouse and performs data migrations, ETL generation and writes to Superset and Grafana.
- The installer runs through `curl | sh`, and the user configures LLM provider keys and database access.
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add cli/datusDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- The agent runs SQL against the warehouse and performs data migrations, ETL generation and writes to Superset and Grafana.
- The installer runs through `curl | sh`, and the user configures LLM provider keys and database access.
This is third-party code. Review the repository files before installing.
What it does
Datus connects a data warehouse, catalog, semantic layer and BI into one agent that relies on a context the team accumulates. The agent writes and validates SQL, builds semantic models and metrics, and generates pipelines, reports and dashboards. Corrections settle into the context and raise answer accuracy over time. The agent has several entry points. The interactive `datus` is for engineers: they set the model with `/model`, add a source with `/datasource` and scan a project with `/init`. `datus --web` opens a browser chat for analysts, `datus-api` serves REST and `datus-gateway` connects Slack and Feishu or Lark. The MCP server `datus-mcp --datasource demo` exposes the agent to MCP clients such as Claude Desktop and Cursor. Built-in subagents handle moving data between databases, generating ETL and building wide tables. The agent is extended through skills and plugins with a `datus-plugin.yml` manifest. A one-off call for scripts and CI: `datus -p "question" --datasource demo`.
Who it is for. Data engineers and analysts building a semantic layer over a warehouse who want an agent for SQL, metrics and pipelines reachable through terminal, web and MCP.
Good fit when
- The warehouse is large and the agent must write SQL aware of schemas, reference queries and business rules.
- Metrics are defined in one place and questions are answered from them rather than from improvised SQL.
- Data moves between databases and an agent is needed to reconcile the result.
- Analysts need a data chat in a browser, Slack or VS Code configured by a data engineer.
- Cursor or Claude Desktop must reach metrics through MCP.
Not a fit when
- A one-off query on a single table is all that is needed: an ordinary SQL client is enough.
- The platform runs on Windows: ready builds exist for Linux and Apple Silicon.
- Running `curl | sh` on this machine is not allowed and `pip` install fails because Python is older than 3.12.
Example request
Connect the demo source, build a semantic model of revenue from the schema and say which metric dropped last week.Limitations
Installation targets Linux x86_64 or aarch64 with glibc 2.28 or newer and macOS on Apple Silicon, and a `pip` install needs Python 3.12. Before work you must set the model with `/model` and a data source with `/datasource`. Answer quality depends on the context the team has built: without schemas, reference queries and rules the agent answers weaker. Permissions are split into profiles, SQL goes through statement-level authorization and bash is confined to an OS-level sandbox, but the user grants warehouse access.
How to disable. Remove the package with `pip uninstall datus-agent` or the files the installer placed. Settings live in the global `agent.yml` and the project's `.datus/config.yml` and can be deleted by hand.
FAQ
How do I install Datus?
Run `curl -fsSL https://raw.githubusercontent.com/datus-ai/datus-agent/main/install.sh | sh`, open a new terminal and start `datus`. Manually: `pip install datus-agent`, which needs Python 3.12.
How do I connect Datus to Cursor or Claude Desktop?
Start the MCP server with `datus-mcp --datasource demo` and add it to the client configuration. The `demo` source is created in `/datasource`.
How do the interfaces differ?
The `datus` CLI is for engineers, `datus --web` for analysts in a browser at `localhost:8501`, `datus-api` for REST at `localhost:8000`, `datus-mcp` for MCP clients and `datus-gateway` for Slack and Feishu.
What does the Dosi semantic engine do?
It compiles one semantic model into SQL for 13 or more database dialects. It works inside the agent and as a separate program: a CLI, a REST or an MCP server.
How do I run it in a script or CI?
Print mode streams JSON to stdout: `datus -p "your question" --datasource demo`.
Discussion
No questions or reviews yet.
Related
CLI toolsA skill that configures the DatI gateway over its HTTP API: data sources, terms and MCP services, with no web UI work.
A desktop SQL workspace with a built-in MCP server: the agent reads the schema and runs queries in the same client you already use
A desktop database client with an MCP server: an agent reads the schema, runs queries and triggers workflows over stdio.
The official Dagster kit for agents: a reference for assets and dg commands plus access to runs, logs and alerts in the cloud.
The Dex plugin: an agent explores a database, builds dbt models and a semantic layer and tracks schema drift under cost control
Dremio MCP server: an agent browses tables, looks for patterns in the data and analyzes cluster workload.
README in short
The project describes itself as an open-source data engineering agent for the modern data stack. The repository holds the CLI, web chat, REST and MCP plus twenty built-in skills for Airflow, Superset, Grafana and migrations.