You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by mi...@apache.org on 2026/05/07 16:55:50 UTC
(superset) 03/05: fix(mcp): use valid opr value in docstring filter examples; fix dashboard docstring test
This is an automated email from the ASF dual-hosted git repository.
aminghadersohi pushed a commit to branch fix/mcp-list-datasets-schema-request-wrapper
in repository https://gitbox.apache.org/repos/asf/superset.git
commit a2b0f6417682fa0366378f6c5f56db4e782678a3
Author: Amin Ghadersohi <am...@gmail.com>
AuthorDate: Thu May 7 16:18:26 2026 +0000
fix(mcp): use valid opr value in docstring filter examples; fix dashboard docstring test
- Replace opr:"ct" with opr:"sw" in filter examples in list_datasets,
list_charts, and list_dashboards docstrings — "ct" is not a valid
ColumnOperatorEnum value, so examples using it produce validation errors
- Fix TestDashboardSortableColumns.test_sortable_columns_in_docstring:
assertion checked for "Sortable columns for order_column:" (plain text)
but docstring uses RST backtick format; split into two substring checks
matching "Sortable columns for" and "order_column" separately
---
superset/mcp_service/chart/tool/list_charts.py | 2 +-
superset/mcp_service/dashboard/tool/list_dashboards.py | 2 +-
superset/mcp_service/dataset/tool/list_datasets.py | 2 +-
tests/unit_tests/mcp_service/dashboard/tool/test_dashboard_tools.py | 3 ++-
4 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/superset/mcp_service/chart/tool/list_charts.py b/superset/mcp_service/chart/tool/list_charts.py
index 66c6909f33f..bfb2c564540 100644
--- a/superset/mcp_service/chart/tool/list_charts.py
+++ b/superset/mcp_service/chart/tool/list_charts.py
@@ -97,7 +97,7 @@ async def list_charts(
# Correct usage
list_charts(request={"search": "revenue", "page": 1, "page_size": 10})
- list_charts(request={"filters": [{"col": "slice_name", "opr": "ct", "value": "sales"}]})
+ list_charts(request={"filters": [{"col": "slice_name", "opr": "sw", "value": "sales"}]})
list_charts() # no arguments returns first page with defaults
# Wrong — causes pydantic validation errors
diff --git a/superset/mcp_service/dashboard/tool/list_dashboards.py b/superset/mcp_service/dashboard/tool/list_dashboards.py
index ed856dff47d..8c479df2753 100644
--- a/superset/mcp_service/dashboard/tool/list_dashboards.py
+++ b/superset/mcp_service/dashboard/tool/list_dashboards.py
@@ -91,7 +91,7 @@ async def list_dashboards(
# Correct usage
list_dashboards(request={"search": "sales", "page": 1, "page_size": 10})
- list_dashboards(request={"filters": [{"col": "dashboard_title", "opr": "ct", "value": "exec"}]})
+ list_dashboards(request={"filters": [{"col": "dashboard_title", "opr": "sw", "value": "exec"}]})
list_dashboards() # no arguments returns first page with defaults
# Wrong — causes pydantic validation errors
diff --git a/superset/mcp_service/dataset/tool/list_datasets.py b/superset/mcp_service/dataset/tool/list_datasets.py
index 9679f658316..099c15231ea 100644
--- a/superset/mcp_service/dataset/tool/list_datasets.py
+++ b/superset/mcp_service/dataset/tool/list_datasets.py
@@ -102,7 +102,7 @@ async def list_datasets(
# Correct usage
list_datasets(request={"search": "sales", "page": 1, "page_size": 10})
- list_datasets(request={"filters": [{"col": "table_name", "opr": "ct", "value": "orders"}]})
+ list_datasets(request={"filters": [{"col": "table_name", "opr": "sw", "value": "orders"}]})
list_datasets() # no arguments returns first page with defaults
# Wrong — causes pydantic validation errors
diff --git a/tests/unit_tests/mcp_service/dashboard/tool/test_dashboard_tools.py b/tests/unit_tests/mcp_service/dashboard/tool/test_dashboard_tools.py
index 64d31eb76e1..a2b4e1e5f98 100644
--- a/tests/unit_tests/mcp_service/dashboard/tool/test_dashboard_tools.py
+++ b/tests/unit_tests/mcp_service/dashboard/tool/test_dashboard_tools.py
@@ -1349,7 +1349,8 @@ class TestDashboardSortableColumns:
# Check list_dashboards docstring for sortable columns documentation
assert list_dashboards.__doc__ is not None
- assert "Sortable columns for order_column:" in list_dashboards.__doc__
+ assert "Sortable columns for" in list_dashboards.__doc__
+ assert "order_column" in list_dashboards.__doc__
for col in SORTABLE_DASHBOARD_COLUMNS:
assert col in list_dashboards.__doc__