Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 21 additions & 6 deletions docs-mintlify/docs/integrations/mcp-server.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -229,7 +229,7 @@ neither `listDeployments` nor the `chat` selection can reach an excluded deploym

## Available actions

The MCP server exposes 20 tools, grouped below.
The MCP server exposes 23 tools, grouped below.

Every tool runs as the authenticated user. Queries respect the same
[permissions][ref-roles] as the rest of Cube, including row-level security — MCP is a new
Expand All @@ -239,9 +239,10 @@ way to reach your data, not a new access surface.

Each tool is annotated as read-only or destructive. MCP clients that honor these
annotations — including Claude — run read-only tools automatically and **always ask for
confirmation** before any of the four destructive ones: `updateDashboard`,
`publishDashboard`, `writeDataModelFile`, and `deleteDataModelFile`. Nothing that changes
a dashboard or your data model happens without an explicit approval.
confirmation** before any of the six destructive ones: `updateReport`, `deleteReport`,
`updateDashboard`, `publishDashboard`, `writeDataModelFile`, and `deleteDataModelFile`.
Nothing that changes a report, a dashboard, or your data model happens without an explicit
approval.

### Deployments and chat

Expand Down Expand Up @@ -274,13 +275,23 @@ programmatically. Creating and editing workbooks requires the Explorer role or h
| `readWorkbook` | Reads a workbook — its name and its current dashboard draft and published configs. | Read-only |
| `createWorkbook` | Creates a new empty workbook, the container that holds reports and a dashboard. | Write |
| `createReport` | Saves a query plus its visualization as a report inside a workbook, and returns the `reportId` a chart widget references. | Write |
| `readReport` | Reads one saved report by id — its title, SQL, chart spec, placement, and a shareable URL. | Read-only |
| `updateReport` | Edits an existing report in place, keeping its `reportId`. Send only the fields you want to change. | Destructive — prompts |
| `deleteReport` | Deletes a report. | Destructive — prompts |
| `updateDashboard` | Saves the dashboard layout to the workbook **draft**. Replaces the full widget set and does not go live. | Destructive — prompts |
| `publishDashboard` | Publishes the current draft to make it live. Idempotent — republishing an unchanged draft is a no-op. | Destructive — prompts |

Drafts are the safety net here: `updateDashboard` only ever writes to the draft, so a
published dashboard keeps serving its previous version until you approve
`publishDashboard`. See [Build a dashboard](#build-a-dashboard) for the full sequence.

**To change an existing report, use `updateReport` — never recreate it.** A dashboard's
chart widget points at a specific `reportId`, so replacing a report with a new one orphans
every widget referencing it. The same caution applies to moving a report between workbooks:
a widget resolves its report from its *own* workbook's report list, so changing a report's
`workbookId` empties the tiles on the old workbook's dashboard. Call `readWorkbook` and
re-point those widgets with `updateDashboard` first.

### Data model editing

These tools read and edit the semantic model **source** files. They are registered only
Expand Down Expand Up @@ -374,7 +385,9 @@ members, then run your own SQL with `runQuery`.

### Build a dashboard

The five dashboard tools are designed to be used in order.
Four of the dashboard tools build a new dashboard, and they are designed to be used in
order. The rest — `readWorkbook`, `readReport`, `updateReport`, `deleteReport` — are for
inspecting and changing one that already exists.

<Steps>
<Step title="Create the workbook">
Expand All @@ -398,7 +411,9 @@ The five dashboard tools are designed to be used in order.
</Steps>

To change a dashboard later, call `readWorkbook` first and edit on top of the current
draft rather than overwriting it.
draft rather than overwriting it. To change one chart rather than the layout, call
`readReport` on the widget's `reportId` and edit it with `updateReport` — that keeps the
id, so every widget pointing at it keeps rendering.

### Edit the data model

Expand Down
3 changes: 1 addition & 2 deletions packages/cubejs-api-gateway/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@
"nexus": "^1.1.0",
"node-fetch": "^2.6.1",
"ramda": "^0.27.0",
"uuid": "^8.3.2",
"uuid": "^11.1.1",
"zod": "^4.1.13"
},
"devDependencies": {
Expand All @@ -62,7 +62,6 @@
"@types/node-fetch": "^2.5.8",
"@types/ramda": "^0.27.32",
"@types/supertest": "^2.0.10",
"@types/uuid": "^8.3.1",
"jest": "^29",
"mysql": "^2.18.1",
"should": "^13.2.3",
Expand Down
2 changes: 1 addition & 1 deletion packages/cubejs-backend-native/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@
"jest-bench": "^29",
"pg": "^8.11.3",
"typescript": "~5.2.2",
"uuid": "^8.3.2"
"uuid": "^11.1.1"
},
"dependencies": {
"@cubejs-backend/cubesql": "1.7.19",
Expand Down
2 changes: 1 addition & 1 deletion packages/cubejs-backend-shared/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@
"shelljs": "^0.8.5",
"tar": "^7.5.22",
"throttle-debounce": "^3.0.1",
"uuid": "^8.3.2"
"uuid": "^11.1.1"
},
"publishConfig": {
"access": "public"
Expand Down
2 changes: 1 addition & 1 deletion packages/cubejs-clickhouse-driver/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
"@cubejs-backend/shared": "1.7.19",
"moment": "^2.24.0",
"sqlstring": "^2.3.1",
"uuid": "^8.3.2"
"uuid": "^11.1.1"
},
"license": "Apache-2.0",
"devDependencies": {
Expand Down
2 changes: 1 addition & 1 deletion packages/cubejs-client-core/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@
"dayjs": "^1.10.4",
"ramda": "^0.27.2",
"url-search-params-polyfill": "^7.0.0",
"uuid": "^11.1.0"
"uuid": "^11.1.1"
},
"scripts": {
"build:client-core": "rm -rf dist && npm run tsc",
Expand Down
2 changes: 1 addition & 1 deletion packages/cubejs-cubestore-driver/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
"node-fetch": "^2.6.1",
"sqlstring": "^2.3.3",
"tempy": "^1.0.1",
"uuid": "^8.3.2",
"uuid": "^11.1.1",
"ws": "^7.4.3"
},
"devDependencies": {
Expand Down
3 changes: 1 addition & 2 deletions packages/cubejs-databricks-jdbc-driver/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -37,14 +37,13 @@
"node-fetch": "^2.6.1",
"ramda": "^0.27.2",
"source-map-support": "^0.5.19",
"uuid": "^8.3.2"
"uuid": "^11.1.1"
},
"devDependencies": {
"@cubejs-backend/linter": "1.7.19",
"@types/jest": "^29",
"@types/node": "^22",
"@types/ramda": "^0.27.34",
"@types/uuid": "^8.3.4",
"jest": "^29",
"typescript": "~5.2.2"
},
Expand Down
4 changes: 0 additions & 4 deletions packages/cubejs-playground/charts-gen/README.md

This file was deleted.

18 changes: 0 additions & 18 deletions packages/cubejs-playground/charts-gen/angular/build.sh

This file was deleted.

115 changes: 0 additions & 115 deletions packages/cubejs-playground/charts-gen/angular/code-chunks-gen.js

This file was deleted.

Loading
Loading