Skip to main content
Glama

superset_chart_create

Create a new Apache Superset chart with chosen visualization type, dataset, and parameters. Supports ECharts, KPI cards, tables, maps, and custom templates.

Instructions

Create a new chart.

Args: slice_name: Chart name (displayed in the UI). viz_type: Visualization type (Superset 6.x). Main types: ECharts (recommended): - echarts_timeseries_bar — bar/horizontal bar chart - echarts_timeseries_line — line chart - echarts_timeseries_smooth — smoothed line - echarts_timeseries_step — step line - echarts_timeseries_scatter — scatter plot - echarts_area — area chart - mixed_timeseries — multiple series with 2 Y-axes - pie — pie chart - funnel — funnel chart - gauge_chart — gauge/speedometer - radar — radar chart - graph_chart — graph/network - tree_chart — tree diagram - treemap_v2 — treemap - sunburst_v2 — sunburst chart - sankey_v2 — Sankey diagram - heatmap_v2 — heatmap - histogram_v2 — histogram - box_plot — box plot - bubble_v2 — bubble chart - waterfall — waterfall chart - gantt_chart — Gantt chart KPI: - big_number_total — big number (KPI) - big_number — KPI with trend Tables: - table — table - pivot_table_v2 — pivot table Maps: - country_map — country map (ISO 3166-2 codes) - world_map — world map Other: - word_cloud — word cloud - handlebars — custom template DEPRECATED (DO NOT USE — "not registered" error): dist_bar -> echarts_timeseries_bar, bar -> echarts_timeseries_bar, area -> echarts_area, line -> echarts_timeseries_line, heatmap -> heatmap_v2, histogram -> histogram_v2, treemap -> treemap_v2, sunburst -> sunburst_v2, sankey -> sankey_v2, pivot_table -> pivot_table_v2, dual_line -> mixed_timeseries, line_multi -> mixed_timeseries datasource_id: Dataset ID (from superset_dataset_list). datasource_type: Data source type (default "table" — dataset). params: JSON string with visualization parameters (depend on viz_type). Define metrics, groupings, filters, colors, labels, etc.

    IMPORTANT — numeric and time formats:
      Do NOT use SMART_NUMBER or SMART_DATE — they abbreviate numbers
      (1.61k instead of 1610) and show literal text instead of dates.
      Use explicit formats:
      - y_axis_format: "d" (integers without separators), ",d" (with commas),
        ",.2f" (decimals)
      - number_format: ",d" (for pie chart)
      - x_axis_time_format: "%b %Y" (X-axis dates), "%Y-%m-%d" (ISO)
      - tooltipTimeFormat: "%Y-%m-%d" or "%Y-%m" (tooltip dates)
      - show_value: true (show numbers on bar chart columns)

    CRITICAL — date/time format in Superset 6.x:
      Superset 6.x uses ONLY D3 time format (strftime syntax).
      Do NOT use moment.js format (YYYY-MM-DD) — it will be rendered
      as literal text "YYYY-MM-DD" instead of an actual date!
      Correct formats (D3/strftime):
      - "%Y-%m-%d"       -> 2026-03-05 (ISO date)
      - "%Y-%m-%d %H:%M" -> 2026-03-05 14:30 (date + time)
      - "%d.%m.%Y"       -> 05.03.2026 (European format)
      - "%b %Y"          -> Mar 2026 (month + year)
      - "%Y"             -> 2026 (year only)
      - "%Y-%m"          -> 2026-03 (year-month)
      INCORRECT formats (moment.js — DO NOT WORK):
      - "YYYY-MM-DD" — renders literal "YYYY-MM-DD"
      - "DD.MM.YYYY" — renders literal "DD.MM.YYYY"
      - "MMM YYYY"   — renders literal "MMM YYYY"
      Parameters that accept date formats:
      - table_timestamp_format (tables)
      - x_axis_time_format (X-axis)
      - tooltipTimeFormat (tooltip)
      - y_axis_format (for big_number_total with date in metric)

    big_number_total (KPI cards) — REFERENCE parameters:
      - header_font_size: 0.27 (number size, ~53px in a 60px container)
      - subheader_font_size: 0.15 (subtitle/label size)
      - y_axis_format: "d" (integers without comma separators)
      IMPORTANT — scroll in KPI: the big_number_total container has a fixed
      height (usually 60px at 2 grid cells). Too large a font causes scrolling.
      Culprits: font-size + line-height (1.1x) + margin-bottom (8px default).
      If using dashboard CSS for custom font size, add
      `margin-bottom: 0 !important` to .header-line.
      Formula: font_size * 1.1 + margin <= container_height (60px).
      Recommended CSS: font-size 3.3rem (58px with line-height), margin-bottom: 0.

    country_map — required parameters:
      - select_country: "russia"
      - entity: "<column with ISO 3166-2 codes>"
      - metric: {...}
      Map tooltip (class .hover-popup) is clipped by the container
      .dashboard-chart (overflow:hidden). Fix via dashboard CSS:
      .dashboard-chart-id-{N} .dashboard-chart { overflow: visible !important; }
      .hover-popup { z-index: 99999 !important; }

query_context: JSON string with query context.
    Required for chart_get_data to work. Usually generated by the UI.
dashboards: List of dashboard IDs to bind the chart to.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
paramsNo
viz_typeYes
dashboardsNo
slice_nameYes
datasource_idYes
query_contextNo
datasource_typeNotable

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full transparency burden, and it excels: it discloses the 'not registered' error for deprecated viz types, warns that moment.js date formats render as literal text, explains that big_number_total fonts can cause scrolling, and notes that country_map tooltips are clipped unless CSS is applied. It also clarifies that query_context is required for chart_get_data to work, which is a non-obvious behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very long, but well-structured into clearly labeled sections (Args, IMPORTANT, CRITICAL, REFERENCE parameters, etc.) and front-loaded with the core purpose. It could be trimmed—CSS recommendations and the exact deprecation list are arguably extra—but the density of actionable information is high and the structure keeps it scannable, so it earns a high but not perfect score.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite the tool's complexity and lack of annotations, the description covers all seven parameters, includes error-prone edge cases, provides exact format examples, and explains prerequisites like datasource_id and query_context. Since an output schema exists, not detailing return values is acceptable, and the description is otherwise comprehensive enough for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage, so the description must fully compensate, and it does. It explains viz_type with a complete list of valid values and deprecated aliases, datasource_id origin, datasource_type default, params as a JSON string with detailed formatting requirements, query_context's role, and dashboards as a list of IDs. This adds immense meaning beyond the bare schema names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with the specific verb-object statement 'Create a new chart,' which precisely identifies the action and resource. It also enumerates the chart types and parameters, making it clear this is the creation tool and not an update, delete, or copy operation among the chart-related sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear usage context: it lists required arguments, tells the agent to pull datasource_id from superset_dataset_list, and warns against deprecated viz_type values that will error. It does not explicitly mention alternatives like superset_chart_update for modifications or superset_chart_get for reads, so it falls short of full when/when-not coverage, but the creation-specific guidance is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/bintocher/mcp-superset'

If you have feedback or need assistance with the MCP directory API, please join our Discord server