diff --git a/superset/mcp_service/chart/chart_utils.py b/superset/mcp_service/chart/chart_utils.py index 04b7eae275d..b4c97b0891d 100644 --- a/superset/mcp_service/chart/chart_utils.py +++ b/superset/mcp_service/chart/chart_utils.py @@ -337,6 +337,8 @@ def map_config_to_form_data( plugin = get_registry().get(chart_type) if chart_type else None if plugin is None: + if chart_type is None: + raise ValueError(f"Unsupported config type: {type(config)}") raise ValueError( f"Unsupported config type: {type(config)} (chart_type={chart_type!r})" ) diff --git a/superset/mcp_service/chart/plugins/pivot_table.py b/superset/mcp_service/chart/plugins/pivot_table.py index 9dccc539e35..1437e0fd525 100644 --- a/superset/mcp_service/chart/plugins/pivot_table.py +++ b/superset/mcp_service/chart/plugins/pivot_table.py @@ -47,9 +47,9 @@ class PivotTableChartPlugin(BaseChartPlugin): ) -> ChartGenerationError | None: missing_fields = [] - if "rows" not in config: + if not config.get("rows"): missing_fields.append("'rows' (row grouping columns)") - if "metrics" not in config: + if not config.get("metrics"): missing_fields.append("'metrics' (aggregation metrics)") if missing_fields: