Features

All your tools, on every surface

MCP, shell CLI, or in-app chat — pick the surface that fits your workflow. Same tools, different drivers.

Pick your driver

Which surface should I use?

Every tool below is the same tool — only the way you call it differs. MCP is AI-driven (a model in your client decides when to call which tool). Shell CLI is not — you call commands directly from a terminal or script. Chat is the in-app surface at DataUnmess Studio.

MCP

Hosted MCP endpoint for your AI client.

Paste our hosted endpoint and an API key into Claude Code, Gemini, Claude Desktop, Cursor, Windsurf, ChatGPT, or any MCP-compatible client. Their AI then invokes DataUnmess tools on your behalf — no in-app tokens.

Pick this when: You already pay for an AI subscription and want it to drive DataUnmess.

Shell CLI

Headless commands. No AI involved.

Run dash-ai query, dash-ai chart, dash-ai transforms run directly in your terminal. Deterministic, scriptable, perfect for cron jobs and CI pipelines. Only a subset of tools have a direct CLI.

Pick this when: You want scheduled jobs or scripted automation. The AI is not in the loop.

Chat (in-app)

Natural language inside DataUnmess Studio.

Open DataUnmess Studio, type what you want, and the AI calls the tools below. The friendliest path, but the programmatic surfaces above are more battle-tested for serious workflows.

Pick this when: You want a quick exploration without configuring an external client.

26 tools

Tool matrix

Each row is one tool. Cells show how to invoke it on each surface. available · excl intentionally excluded · — not applicable

ToolMCPChatShell CLIWhat it does
Charts & theming
build_chartdash-ai chartCreate a chart from a dataset query.
update_chartdash-ai charts updateEdit an existing chart's title, type, or fields.
remove_chartexclexclDelete a chart. Chat-only — destructive ops need conversational confirmation.
set_themedash-ai theme setApply a theme preset to the active dashboard.
set_category_colorsdash-ai theme colorsPin specific colors to category values across charts.
build_analysisdash-ai analysis buildAdd a written analysis card alongside the charts.
Data & connections
query_datadash-ai queryQuery an imported dataset (CSV/Excel/Sheets snapshot).
query_connectiondash-ai connections queryRun a SELECT against a connected database (Postgres/MySQL).
query_githubdash-ai github queryBrowse a connected GitHub repo's code, structure, and tech stack.
query_google_sheetsdash-ai sheets readList spreadsheets and read ranges from a live Google Sheets connection.
create_connectiondash-ai connections createReturn a deep-link to add a new connection. Never accepts credentials directly.
upload_datasetdash-ai datasets uploadProgrammatic dataset injection (rows + schema).
Flowcharts
build_flowchartdash-ai flowcharts buildCreate a flowchart from nodes/edges or Mermaid.
update_flowchartdash-ai flowcharts updateAdd, remove, or rename nodes and edges.
duplicate_flowchartdash-ai flowcharts duplicateCopy the current flowchart under a new name.
remove_flowchartexclexclDelete a flowchart. Chat-only — destructive ops need conversational confirmation.
Data Pipelines
build_transform_flowdash-ai transforms buildAuthor a pipeline. Engine routes by source/sink: same-DB → SQL pushdown, mixed → DuckDB, api/xlsx → Python.
validate_transform_flowdash-ai transforms validateDry-compile and sample-run a pipeline. Returns per-step SQL and sample rows.
run_transform_flowdash-ai transforms runExecute a pipeline and write to its configured sink.
get_transform_rundash-ai transforms run-infoInspect a single run — per-step status and compiled SQL on failure.
list_transform_runsdash-ai transforms runsList recent runs, optionally filtered by pipeline.
Workspace
update_flowdash-ai flows updateRename and/or move a flowchart between folders.
update_dashboarddash-ai dashboards updateRename and/or move a dashboard between folders.
update_transformationdash-ai transformations updateRename and/or move a pipeline between folders.
Chat affordance
call_mcp_toolexclexclInvoke a tool on a connected third-party MCP server. Chat-only — prevents MCP-in-MCP recursion.
suggest_next_stepsexclexclRender clickable follow-up buttons in the DataUnmess chat panel. Chat-only — UI affordance.

Advanced: the MCP server is hosted on our Vercel endpoint by default. You can also self-host it locally with dash-ai serve — same tools, same protocol, runs on your machine.

No AI required

Shell CLI extras

The shell CLI also exposes read-only listing and admin commands that aren't AI tools — useful for scripting and inspection.

dash-ai datasets listList all imported datasets in the workspace.
dash-ai datasets info <name>Show columns, row count, and a sample of a dataset.
dash-ai connections listList all configured data connections.
dash-ai flows listList flowcharts in the workspace.
dash-ai dashboards listList dashboards in the workspace.
dash-ai transforms listList pipelines in the workspace.
dash-ai serve [--http] [--port 3100]Self-host the MCP server locally (alternative to the Vercel-hosted endpoint).

Add -f json, -f table, or -f compact to any command to control output format.

Common questions

FAQ

Do I need an account to use these tools?

Yes for any surface that touches your data — MCP, Shell CLI, and Chat all require a DataUnmess workspace. The Chat surface uses your browser session; MCP and the Shell CLI use an API key issued from your account settings.

Where does the MCP server actually run?

For now, run the MCP server locally or expose it through your Cloudflare Tunnel at mcp-dev.dataunmess.ai. Later, hosted MCP will move to a separate backend instead of the public frontend host.

Why is remove_chart chat-only?

Destructive operations (remove_chart, remove_flowchart) need conversational context to confirm intent before deleting. The web chat can ask 'are you sure?' and remember the answer; external MCP clients cannot reliably do that. We exclude these from MCP rather than risk an AI deleting work without confirmation.

Can I use my existing Claude / Gemini / ChatGPT subscription?

Yes. Add our hosted MCP endpoint plus an API key to Claude Code, Gemini, Claude Desktop, Cursor, Windsurf, ChatGPT, or any MCP-compatible client. Their AI then drives DataUnmess tools using tokens from your subscription. No in-app AI tokens consumed. See the Connect MCP page for setup steps.

When should I use the shell CLI instead of MCP?

Use the shell CLI for scheduled jobs, CI pipelines, and scripts where you don't want an AI in the loop. The CLI is deterministic — same command, same output. MCP is for humans collaborating with an AI; the CLI is for machines following a script.

Some tools show 'gap' — what does that mean?

A gap is a tool we plan to support on that surface but haven't shipped yet. For example, upload_dataset works via MCP today but not yet via Chat or MCP CLI. Gaps are tracked in TOOL_PARITY.md and addressed in priority order.

Ready to wire up your AI?

Two minutes from zero to a working MCP connection in Claude Code, Gemini, Claude Desktop, Cursor, or Windsurf.