MCP server for Preset (Superset) — manage dashboards, charts, and datasets from Claude Code and other LLM agents
The server exposes a single tool 'capture_golden_templates' with a reasonable name and moderately detailed description. The tool has a complete input schema with typed parameters and descriptions. However, there is no documented output schema, which is a critical gap for LLM planning. The tool description (87 chars) is below the ideal 194-char baseline and lacks clarity on when to use this tool vs. alternatives. Parameter descriptions are present but terse (e.g., 'List of dashboard IDs to export templates from' is adequate but could explain format constraints). The 'response_mode' parameter is undocumented in terms of valid values. No error handling patterns or recovery guidance is visible in the source code.
Export reusable golden templates from dashboards, optionally making them portable by stripping datasource-specific keys.
Create a new chart in a dashboard from a dataset. Applies smart defaults and validates params.
Create a new dashboard with optional initial charts.
Create a new virtual (SQL-based) dataset in a database. Refreshes column metadata.
Delete a chart from the workspace. Captures pre-delete snapshot and dependency warnings.
Delete a dashboard from the workspace. Captures pre-delete snapshot.
Delete a dataset from the workspace. Shows dependent charts and captures pre-delete snapshot.
No documented output schema. LLMs cannot plan downstream calls or know what fields to expect. The tool returns JSON but structure is undocumented.
Parameter 'response_mode' has no description and no enum constraint. Valid values unknown to LLM (appears to accept 'standard' in code but not documented).
Tool description (87 chars) is sparse and lacks context. Does not state WHEN to use this tool, what it returns, or when to call it instead of alternatives. Below baseline of 194 chars.
No error handling visible in source code. No guidance on what errors can occur, whether they are retryable, or what the LLM should do if the call fails.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 11 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 46 | - | v1 |
Get detailed information about a single chart by ID or name.
Get detailed information about a single dashboard by ID or name.
Get detailed information about a single database by ID or name.
Get detailed information about a single dataset by ID or name, including columns and metrics.
List all charts in the workspace with optional filtering and progressive disclosure.
List all dashboards in the workspace with optional filtering and progressive disclosure.
List all databases in the workspace with optional filtering and progressive disclosure.
List all datasets in the workspace with optional filtering and progressive disclosure.
Execute a read-only SQL query against a dataset or database. Enforces SQL-level read-only safety via AST analysis.
Capture a point-in-time inventory of all dashboards, charts, datasets, and databases in the workspace.
Update an existing chart's properties (name, params, owners, description).
Update an existing dashboard's properties (title, description, owners).
Update an existing dataset's properties (name, SQL definition, schema, owners, description).
Parameter 'output_dir' accepts a string path. No validation, constraints, or path traversal safety guidance visible. LLMs could pass invalid or dangerous paths.
The tool modifies state (writes files) but the description does not explicitly state this. LLMs need to know which calls have irreversible consequences.