Xentropy Docs
Agents

Dashboard tools

Create and maintain dashboard layout and artifact content through the native MCP service.

Use list_skills and get_skill with ID dashboards for task guidance, and dashboards_capabilities for the current document schema and numeric limits.

ToolPurpose
dashboards_capabilitiesDiscover grid, bindings, limits and permitted actions.
dashboards_listSearch authorized summaries; follow nextCursor.
dashboards_getRead the full document, current version and authorized tile states.
dashboards_createSave an empty grid or a complete composition of existing artifacts.
dashboards_updateSave metadata or a complete replacement document with expectedVersion.

Complete workflow

  1. Discover dashboard and artifact capabilities; list/get an existing dashboard when maintaining one.
  2. Inventory artifacts with artifacts_list and artifacts_get. Create missing charts/tables with artifacts_create; edit content with artifacts_update and the artifact's expectedRevisionId.
  3. Build schemaVersion: 1 with a tiles array and layout: { type: "grid", columns: 12, items: [...] }. Each tile has a stable UUID id, artifactId, and binding of { mode: "head" } or { mode: "revision", revisionId }. Each layout item has its tileId plus integer x, y, w, h. Read capabilities for bounds.
  4. Preserve every retained tile when replacing a document. Include exactly one nonoverlapping placement per tile, and order tiles by (y, x, tileId).
  5. Save with dashboards_create or dashboards_update; re-get to verify the persisted composition and resolved revisions. Return /dashboards/{id}.

Content creation/editing and composition are separate durable operations. If artifact creation succeeds but attachment fails, retain and reuse that private artifact. Never automatically delete it or describe both operations as one transaction. Removing a tile does not delete its artifact.

Scopes and retries

The viewer preset needs dashboards:read and artifacts:read. Authoring adds dashboards:write and artifacts:write. Dataset materialization may require the existing data/connection permissions. Dashboard-ID-restricted credentials can only read dashboards; their artifact restrictions remain independently enforced.

Every mutation needs a stable idempotencyKey. Repeat it for the exact same request after a lost response; changed input needs a new key. A replay returns the original saved version, so re-get before making another edit.

On VERSION_CONFLICT, re-get, reconcile with the saved document, then use the new expectedVersion and a new key. Error issues and authorized conflict details are available in both text and structured MCP results.

Head bindings follow saved revisions, not a live provider query. Show each tile's real capture time. Pinned revisions retain data/spec without overriding access checks. Editing a shared artifact affects all of its head-bound dashboard uses.

On this page