@databrainhq/mcp-server 0.2.4 → 0.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -163,6 +163,16 @@ Each of your customers gets their own dashboard with row-level security.
163
163
 
164
164
  > "Create per-client dashboard embeds for my SaaS app"
165
165
 
166
+ ### Tweak widgets on a customer dashboard
167
+
168
+ Add, remove, or modify widgets (metrics) on a specific customer's embed without opening the Databrain UI. Clone from a template widget, write a fresh SQL spec, or generate one from a prompt.
169
+
170
+ > "Add the 'Calls per day' widget from the standard template to Acme's dashboard"
171
+
172
+ > "Generate a widget showing disqualification reasons for Acme and add it to their embed"
173
+
174
+ > "Remove the billing widget from Acme's dashboard but keep it for other customers"
175
+
166
176
  ### Enable self-serve analytics
167
177
 
168
178
  Let end-users build their own metrics with drag-and-drop or AI-powered chat.
@@ -197,6 +207,7 @@ Prompts are guided workflows your AI assistant can follow. Ask for them by name
197
207
  |--------|-------------|
198
208
  | `embed-existing-dashboard` | Embed a dashboard you've already built in the Databrain UI |
199
209
  | `embed-blank-dashboard` | Multi-tenant setup — each client gets their own dashboard |
210
+ | `customize-customer-dashboard` | Add, modify, or remove widgets on a specific customer's embed — per-client scope |
200
211
  | `brand-my-embed` | Customize colors, fonts, charts, card styling, responsive layout |
201
212
  | `query-data` | Query your data with natural language, manage the semantic layer |
202
213
  | `populate-semantic-layer` | Auto-generate table/column descriptions to enable natural language querying |
@@ -205,7 +216,7 @@ Prompts are guided workflows your AI assistant can follow. Ask for them by name
205
216
 
206
217
  ## Tools Reference
207
218
 
208
- 21 tools organized by category. Your AI assistant picks the right tools automatically — you don't need to call them directly.
219
+ 26 tools organized by category. Your AI assistant picks the right tools automatically — you don't need to call them directly.
209
220
 
210
221
  > **Note:** Infrastructure creation (datasources, datamarts, workspaces) is done in the **Databrain UI**. However, the **semantic layer** is populated via MCP tools (`get_semantic_layer`, `update_semantic_layer`) — the AI auto-generates descriptions from column names.
211
222
 
@@ -246,7 +257,7 @@ Prompts are guided workflows your AI assistant can follow. Ask for them by name
246
257
  </details>
247
258
 
248
259
  <details>
249
- <summary><b>Frontend</b> (2) — Guest tokens and code generation</summary>
260
+ <summary><b>Runtime Integration</b> (2) — Guest tokens and frontend code</summary>
250
261
 
251
262
  | Tool | Description |
252
263
  |------|-------------|
@@ -265,11 +276,18 @@ Prompts are guided workflows your AI assistant can follow. Ask for them by name
265
276
  </details>
266
277
 
267
278
  <details>
268
- <summary><b>Dashboard Discovery</b> (1)</summary>
279
+ <summary><b>Dashboards & Widgets</b> (6) — Discover dashboards and CRUD widgets on customer embeds</summary>
269
280
 
270
281
  | Tool | Description |
271
282
  |------|-------------|
272
283
  | `list_dashboards` | List dashboards (by data app, workspace, or globally) |
284
+ | `list_widgets` | List widgets on an embed for a specific client |
285
+ | `add_widget` | Add a widget — clone from a template (`templateMetricId`), supply a full spec, or pass a raw body from `generate_widget` |
286
+ | `update_widget` | Patch a widget's fields (name, query, chartOptions, isPublished, etc.) |
287
+ | `remove_widget` | Per-client soft delete — hides the widget for one client only |
288
+ | `generate_widget` | AI-generate a widget draft from a natural-language prompt. Returns a draft; pass to `add_widget` to persist |
289
+
290
+ Widget mutation tools mint a guest token internally for `(clientId, dataAppName)`. Provide `embedId` + `clientId` — the tools resolve the rest.
273
291
  </details>
274
292
 
275
293
  ---