From 879a92ee8366ad9a82cfdc2a1b2b3b74f4e2c488 Mon Sep 17 00:00:00 2001 From: Amin Ghadersohi Date: Fri, 12 Dec 2025 10:51:58 -0500 Subject: [PATCH] feat(mcp): add datasource field to generate_explore_link form_data (#36543) Co-authored-by: Claude Opus 4.5 (cherry picked from commit e5b7e38a305437b81526f542f750d152dd6870ae) --- superset/mcp_service/explore/tool/generate_explore_link.py | 5 +++++ .../mcp_service/explore/tool/test_generate_explore_link.py | 2 ++ 2 files changed, 7 insertions(+) diff --git a/superset/mcp_service/explore/tool/generate_explore_link.py b/superset/mcp_service/explore/tool/generate_explore_link.py index 358b8d474de..edb794639fa 100644 --- a/superset/mcp_service/explore/tool/generate_explore_link.py +++ b/superset/mcp_service/explore/tool/generate_explore_link.py @@ -96,6 +96,11 @@ async def generate_explore_link( # Map config to form_data using shared utilities form_data = map_config_to_form_data(request.config) + # Add datasource to form_data for consistency with generate_chart + # Only set if not already present to avoid overwriting + if "datasource" not in form_data: + form_data["datasource"] = f"{request.dataset_id}__table" + await ctx.debug( "Form data generated with keys: %s, has_viz_type=%s, has_datasource=%s" % ( diff --git a/tests/unit_tests/mcp_service/explore/tool/test_generate_explore_link.py b/tests/unit_tests/mcp_service/explore/tool/test_generate_explore_link.py index 0769844538e..04a249cd9fa 100644 --- a/tests/unit_tests/mcp_service/explore/tool/test_generate_explore_link.py +++ b/tests/unit_tests/mcp_service/explore/tool/test_generate_explore_link.py @@ -683,3 +683,5 @@ class TestGenerateExploreLink: assert isinstance(result.data["form_data"], dict) assert result.data["form_data"].get("viz_type") == "echarts_timeseries_line" assert result.data["form_data"].get("x_axis") == "date" + # Verify datasource field format: "{dataset_id}__table" + assert result.data["form_data"].get("datasource") == "1__table"