As of October 2026. You need a paid Claude plan (Pro, Max, Team or Enterprise); on Enterprise an owner has to turn Dashboards on.
On Tuesday I wrote about where the data goes when you use Claude Dashboards. Several people asked for the practical part: how do you actually get a live dashboard on a big ClickHouse table, and what does Claude do along the way?
Here it is, on the public eMondrian demo: 182 million US flights in ClickHouse, behind a semantic layer that defines measures like On-Time Rate once. Nothing to install. It took me about ten minutes, most of it reading what Claude was doing.
Disclosure: I'm the author of eMondrian, the open-source semantic layer used here.
Why not connect Claude to ClickHouse directly? You can: Claude Dashboards has its own ClickHouse connector. Then Claude writes SQL against your tables, and every table the connection can read is in play. Here the connection goes through a semantic layer instead. Claude sees cubes and measures that are already defined, such as On-Time Rate, writes MDX against them, and the server generates the SQL. You get the same numbers as in Excel and Power BI, and Claude reaches less of your database. More on that trade-off in Is your data safe with Claude Dashboards?
What you'll build
- Year and carrier slicers
- KPI cards: on-time rate and flights for the selection
- On-time rate by year (1987–2026) and by month for the selected year
- The largest carriers, with on-time rate on each bar
- A panel with the exact MDX query behind each chart
Claude designs the page on every run, so yours will look a little different. The numbers won't.
Step 1. Add the connector (1 minute)
In claude.ai open Customize → Connectors, click + Add → Add custom connector and fill in:
- Name: eMondrian demo
-
MCP server URL:
https://demo.emondrian.com/emondrian/mcp
Click Continue. Claude checks the server; the demo needs no sign-in, so the connector is added right away. The demo's data is read-only and public, so that's fine here. For your own data it isn't — more on that at the end.
Open the connector to see its tools. For each one you choose whether Claude may use it always, only with your approval, or never:
Step 2. Start a dashboard (30 seconds)
Open Artifacts and pick Dashboard (Beta). You get an empty dashboard and a chat next to it.
Step 3. Ask for it (1 minute)
Paste this prompt:
Using the eMondrian demo connector, build a dashboard for the OnTime cube: on-time rate by year, by month for 2025, and the largest carriers, with year and carrier slicers. Add a panel that shows the MDX each chart sends.
Be specific about measures and the cube. "Build me a flights dashboard" works too, but you'll spend the saved minute on corrections.
Step 4. Watch and approve (5 minutes)
Claude first reads the model, then tests each query before it writes the page. Every tool call asks for your approval, and the approval shows what will run:
- List catalogs — which models and cubes the server has.
- Get schema — dimensions, measures and their formulas. This is how Claude learns that On-Time Rate already exists and how it's defined, instead of inventing its own.
- Execute query — a few MDX test queries, one per chart shape.
Use Allow once if you want to read each query. Claude tests about ten of them, and the finished page asks again for each chart when it first loads, so once you've seen enough, click Always allow for Execute query. Without waiting on me, the build takes well under ten minutes.
A detail I liked: Claude checked how the slicers would substitute values into the queries, tested them with fixed values, and told me which part it couldn't test from the chat.
When the page opens for the first time, it shows a consent dialog, This artifact uses connectors, listing the eMondrian demo connector with a switch. Every viewer sees it before the page can query anything. The label says "Can read and make changes"; in practice the page calls one tool, Execute query, which only reads data.
Step 5. Use it
The dashboard is live: each chart is a stored query, not a picture of numbers. Pick another year or a carrier (or click a carrier's bar) and the charts re-query the server. The screenshot at the top shows Delta selected.
The numbers come from the semantic layer, so they match what Excel and Power BI show for the same model: 7,001,619 flights in 2025 with an on-time rate of 76.3%; for Delta, 1,026,332 flights and 79.1%.
Step 6. Look at the MDX
Scroll to the MDX panel. Every chart shows the query it sends, with the current slicer values filled in:
SELECT
{[Measures].[Flights], [Measures].[On-Time Rate]} ON COLUMNS,
NON EMPTY [Time].[Year].Members ON ROWS
FROM [OnTime (attributes)]
WHERE (StrToMember("[Airline].[" || 'DL' || "]"))
The answer is 30 rows: one per year Delta flew. The month chart is 12 rows.
This is the part I'd show a colleague who asks "where do these numbers come from". It's also what makes the security story simple: the page stores queries, and each one asks the server for a handful of aggregated rows.
Step 7. Change it by asking
Ask in the chat, for example:
Add a chart with cancellation rate by day of week for the selected year and carrier.
Claude tested the new query, found the Cancellation Rate measure already defined in the model instead of computing its own, and added the chart in under a minute.
Step 8. Share it — with a catch
Dashboards start private. When you share one, each viewer runs the queries through their own connector, so they need the eMondrian demo connector too. A dashboard that uses connectors can't be opened with "Anyone with the link".
What actually happened (30-second version)
- Claude saw the model — cubes, measures, formulas. No raw rows.
- The page stores queries. Every time someone opens it, the queries go from the browser through Anthropic's connector service to the eMondrian server, and only aggregates come back (a year by month is 12 rows).
- So the numbers pass through Anthropic's cloud. On the public demo that doesn't matter. For your own data, read Is your data safe with Claude Dashboards? first.
Doing this on your own data
- Run eMondrian Community next to your database:
git clone https://github.com/eMondrian/emondrian-communityand./setup.sh. It ships with ClickHouse and an OnTime sample. - Define your cubes and measures. You can ask Claude Code to draft the schema over MCP; it validates and saves it for you.
- Connect Claude to your server. Two honest caveats:
- A remote connector (as above) calls your server from Anthropic's cloud, so the server has to be reachable from the internet. Community's MCP has no sign-in — don't expose it with real data.
- For local testing, use Claude Desktop or Claude Code with a local MCP server instead.
The Power BI and AI modules need a key; a free 30-day evaluation key is at emondrian.com/license.
eMondrian: Demo · GitHub · Docs
Sources: Get started with Claude Dashboards · Artifacts admin guide
Questions, or a dashboard you built on the demo? Leave a comment.








Top comments (0)