Joe Li
0cc04ff8a2
fix(mcp): handle SSL connection drop during pre-call session teardown ( #39917 )
...
Manual port of apache/superset#39917 (commit 85935b0b ) onto 6.0-release.
A clean cherry-pick does not apply because mcp_service/auth.py has diverged
structurally on this branch, but the vulnerable code path is present verbatim:
sync_wrapper calls db.session.remove() before user resolution on reused
thread-pool threads. If the thread-local DBAPI connection died between
requests (RDS SSL idle-timeout / max-connection-age), the implicit rollback
raises a DBAPIError and crashes the tool call.
Wrap the pre-call remove in _remove_session_safe(), which catches DBAPIError,
invalidates the dead connection so the pool discards it, and retries remove()
so the tool proceeds on a fresh connection. Ports the accompanying regression
test byte-for-byte behaviorally.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-02 14:21:40 -07:00
Amin Ghadersohi
c63ada38f2
feat(mcp): add tags + typed metadata fields to update_dashboard ( #40957 )
...
(cherry picked from commit c60d8bb656 )
2026-07-02 12:25:24 -07:00
Greg Neighbors
9cd2a0d7b8
feat(mcp): dashboard layout, theme, and CSS control + update_dashboard tool ( #40399 )
...
Co-authored-by: gkneighb <26003+gkneighb@users.noreply.github.com >
Co-authored-by: Greg Neighbors <gregneighbors@Gregs-MacBook-Air-2.local >
Co-authored-by: Greg Neighbors <gregneighbors@Gregs-Air-2.lan >
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
Co-authored-by: Evan Rusackas <evan@rusackas.com >
(cherry picked from commit d8bcc66472 )
2026-07-02 12:11:12 -07:00
Amin Ghadersohi
eb8a8aebf5
fix(mcp): escape LIKE wildcards in find_users to prevent user enumeration ( #41593 )
...
(cherry picked from commit 7f4cac63c9 )
2026-07-02 11:06:44 -07:00
Amin Ghadersohi
aab1c0483e
chore(mcp): remove low-value list/info tools that fail agent-native policy ( #40690 )
...
(cherry picked from commit ef7379c47e )
Adapted for 6.0-release: on this branch only the css_template and theme MCP
tool groups exist, so this pick removes those two groups (their list/get tools,
schemas, and unit tests) along with their docstring and get_schema references.
The plugin, action_log, and task-management tool groups the upstream change
also touched do not exist on 6.0 and were left untouched.
2026-07-02 10:35:18 -07:00
Maxime Beauchemin
8b6cc68954
feat(mcp): resolve call_tool proxy name and capture error_type in logging ( #38915 )
...
Co-authored-by: Amin Ghadersohi <amin.ghadersohi@gmail.com >
(cherry picked from commit b6f545e61e )
2026-06-30 12:25:20 -07:00
Amin Ghadersohi
56b5133721
fix(mcp): make search_tools query optional to fix null content on tool discovery ( #40906 )
...
(cherry picked from commit 820e3d18d3 )
2026-06-26 20:48:41 -07:00
Amin Ghadersohi
62bf3a0c43
feat(mcp): add aggregation field to BigNumberChartConfig for Big Number with Trendline ( #40775 )
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
(cherry picked from commit 4b96b91b53 )
2026-06-25 13:58:39 -07:00
Vitor Avila
a363c81887
fix(chart API): apply dashboard filters by live scope, not stale chartsInScope ( #41214 )
...
(cherry picked from commit 334b13c3d9 )
2026-06-19 12:33:44 -07:00
Amin Ghadersohi
9e45088364
fix(mcp): add select_columns lean defaults to get_dashboard_info, get_chart_info, get_dataset_info ( #40473 )
...
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com >
Co-authored-by: Richard Fogaça <richardfogaca@gmail.com >
(cherry picked from commit aa4092ba68 )
2026-06-05 17:50:15 -07:00
Amin Ghadersohi
f7429845d5
fix(mcp): API key authentication for MCP — transport, validation, and RBAC ( #39604 )
...
(cherry picked from commit 7d69f76127 )
2026-06-05 17:44:00 -07:00
Amin Ghadersohi
9a72a03608
fix(mcp): fall back to form_data spatial query for Deck.gl charts ( #40339 )
...
(cherry picked from commit f4dfb7f026 )
2026-06-05 17:35:32 -07:00
Amin Ghadersohi
59af59405b
chore(deps): migrate MCP service JWT errors from authlib.jose to joserfc ( #40582 )
...
(cherry picked from commit a6d2c95480 )
2026-06-05 17:27:44 -07:00
Amin Ghadersohi
2ead15894e
feat(mcp): add list_reports and get_report_info tools ( #40348 )
...
Co-authored-by: Richard Fogaça <richardfogaca@gmail.com >
(cherry picked from commit 5312d0adf8 )
2026-06-05 17:24:35 -07:00
Amin Ghadersohi
b84377cdfd
feat(mcp): add list_tags and get_tag_info MCP tools ( #40349 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
(cherry picked from commit 8d8eeb3505 )
2026-06-05 17:12:45 -07:00
Amin Ghadersohi
5f0e9a5377
feat(mcp): add list and get tools for saved queries and query history ( #40346 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
(cherry picked from commit a69bbcb044 )
2026-06-05 17:10:32 -07:00
Amin Ghadersohi
22327a9a0a
feat(mcp): add list and get tools for CSS templates and themes ( #40343 )
...
(cherry picked from commit d350792d43 )
2026-06-05 17:07:42 -07:00
Amin Ghadersohi
385b84f572
feat(mcp): add list and get tools for annotation layers and annotations ( #40342 )
...
(cherry picked from commit f614863ed7 )
2026-06-05 17:02:25 -07:00
Mehmet Salih Yavuz
e23a3eae1a
feat(mcp): add get_dashboard_layout companion tool ( #40328 )
...
(cherry picked from commit 8853ab5c75 )
2026-06-05 16:59:16 -07:00
Gabriel Torres Ruiz
610d1c5998
feat(mcp): support custom SQL metrics in generate_chart and update_chart ( #40448 )
...
(cherry picked from commit e68251fa70 )
2026-06-05 16:53:09 -07:00
Amin Ghadersohi
98ee054613
feat(mcp): browser hello page with working middleware and config-driven content ( #40471 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
(cherry picked from commit 0dc58d1042 )
2026-06-05 16:49:56 -07:00
Amin Ghadersohi
abc4dfb01c
fix(mcp): return error when target_tab not found in add_chart_to_existing_dashboard ( #40124 )
...
(cherry picked from commit e041f25385 )
2026-06-05 16:48:48 -07:00
Amin Ghadersohi
c814025522
fix(mcp): prevent encoding error on tools/list when middleware raises ( #40446 )
...
(cherry picked from commit 952a6f3a23 )
2026-06-05 16:46:29 -07:00
Amin Ghadersohi
227a97ce73
feat(mcp): add series_limit to generate_chart XY config ( #40307 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
(cherry picked from commit 5966bb1c1e )
2026-06-05 16:44:27 -07:00
Amin Ghadersohi
8247e67d58
fix(mcp): hide write tools from users without write permissions ( #40098 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
(cherry picked from commit e25d708197 )
2026-06-05 16:42:55 -07:00
SkinnyPigeon
9ee01c54f4
feat: Allow specific mcp tools to be disabled ( #39835 )
...
(cherry picked from commit 70419e9d8f )
2026-06-05 16:39:29 -07:00
Richard Fogaca Nienkotter
febab1e24d
fix(mcp): default chart previews to ascii ( #39719 )
...
(cherry picked from commit d0abb66fdf )
2026-06-05 16:34:34 -07:00
Amin Ghadersohi
0e12a92930
fix(mcp): correct method name in API key auth (extract_api_key_from_request) ( #39437 )
...
(cherry picked from commit 7c4f87615b )
2026-06-05 16:31:35 -07:00
Amin Ghadersohi
c9d505eaa8
fix(mcp): unwrap ToolResult payload before truncation in ResponseSizeGuardMiddleware ( #39578 )
...
Co-authored-by: Elizabeth Thompson <eschutho@gmail.com >
(cherry picked from commit b1b6a057d8 )
2026-06-05 16:30:33 -07:00
Gabriel Torres Ruiz
e357c10a44
fix(mcp): clear stale query_context in update_chart so filters and row_limit are applied ( #39413 )
...
(cherry picked from commit 919daabe54 )
2026-06-05 16:28:59 -07:00
Richard Fogaca Nienkotter
e2c746a9a5
fix(mcp): return requested update chart previews ( #40077 )
...
(cherry picked from commit fa06989ed7 )
2026-06-03 15:47:38 -07:00
Alexandru Soare
f759506366
feat(mcp): make form_data_key optional in update_chart_preview ( #39680 )
...
(cherry picked from commit 33585b0480 )
2026-06-03 09:13:54 -07:00
Alexandru Soare
9ea64571dd
chore(mcp): Simplify chart preview response ( #40020 )
...
(cherry picked from commit b64561f3a3 )
2026-06-03 09:13:54 -07:00
Mehmet Salih Yavuz
4349e7c97b
fix(mcp): use name URL param so AI-generated SQL Lab titles render ( #40288 )
...
(cherry picked from commit 8ab4695ba3 )
2026-06-03 09:13:54 -07:00
Alexandru Soare
894d64cdd9
fix(preview): fix chart preview bugs ( #40063 )
...
(cherry picked from commit 558ff4452b )
2026-06-03 09:13:54 -07:00
Mehmet Salih Yavuz
e8e9fa9e61
feat(mcp): make config optional in generate_explore_link ( #39559 )
...
(cherry picked from commit 4c3f65ef0b )
2026-06-03 09:13:54 -07:00
Mehmet Salih Yavuz
4b0bd34372
feat(mcp): include applied dashboard filters in get_chart_info ( #39620 )
...
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
(cherry picked from commit 53d8e5bdfa )
2026-06-03 09:13:54 -07:00
Mehmet Salih Yavuz
7ce69aecdf
fix(mcp): eager-load dataset.metrics to prevent Excel export DetachedInstanceError ( #39483 )
...
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
(cherry picked from commit 2f95d288dd )
2026-06-03 09:13:54 -07:00
Mehmet Salih Yavuz
cd64365399
feat(mcp): add find_users tool and owner filter columns for listings ( #39679 )
...
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
(cherry picked from commit d1d07112aa )
2026-06-03 09:13:54 -07:00
Alexandru Soare
a88648a793
fix(recommandation): Fix chart recommandation ( #39886 )
...
(cherry picked from commit e3711bec39 )
2026-06-03 09:13:54 -07:00
Mehmet Salih Yavuz
741693e2f5
feat(mcp): chart formatting options across all supported chart types ( #39887 )
...
(cherry picked from commit ce9cab098f )
2026-06-03 09:13:54 -07:00
Alexandru Soare
82050eac85
fix(mcp): Skip misleading trend analysis for categorical ASCII charts ( #39761 )
...
(cherry picked from commit fb276b08dd )
2026-06-03 09:13:54 -07:00
Alexandru Soare
41d4d46b55
fix(mcp): raise right error ( #39964 )
...
(cherry picked from commit 6e8b3bf976 )
2026-06-03 09:13:54 -07:00
Alexandru Soare
ad42f8a8b4
feat(mcp): Add mcp_call_id to tool responses for server log correlation ( #39776 )
...
(cherry picked from commit 55024e8f4d )
2026-06-03 09:13:54 -07:00
Alexandru Soare
68adc2cb41
fix(mcp): Block destructive DDL (DROP, TRUNCATE, ALTER) in execute_sql ( #39621 )
...
(cherry picked from commit b98bd2a07a )
2026-06-03 09:13:54 -07:00
Alexandru Soare
7e47e27ff0
fix(mcp): changed_on_humanized null in write tool responses (generate_dashboard, generate_chart) ( #39488 )
...
(cherry picked from commit 0a3a35018c )
2026-06-02 14:25:36 -07:00
Richard Fogaca Nienkotter
51d76fdf9e
fix(mcp): apply cached adhoc filters to chart retrieval ( #40099 )
...
(cherry picked from commit 8fa5a75c70 )
2026-05-22 15:14:47 -07:00
Amin Ghadersohi
b46ee47661
fix(mcp): database filter columns, timeseries SQL, and unsaved chart datasource name ( #39636 )
...
Completes the earlier partial backport of #39636 (commit 9039d1460c )
which only applied the database/schemas.py + test_database_tools.py
chunks and dropped the get_chart_sql.py + test_get_chart_sql.py chunks
entirely. The dropped chunks introduce the `_resolve_engine` and
`_resolve_datasource_name` helpers used by #40099 .
(cherry picked from commit 7774ec7e3c )
2026-05-22 15:14:47 -07:00
Amin Ghadersohi
0dbdf00587
fix(mcp): improve not-found errors to suggest corresponding list_* tools ( #39919 )
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
(cherry picked from commit 460992d89b )
2026-05-22 12:08:30 -07:00
Sandesh Devaraju
2fed392839
fix(mcp): JSON-serialize order_by_cols and support sort direction ( #39952 )
...
Co-authored-by: Amin Ghadersohi <amin.ghadersohi@gmail.com >
(cherry picked from commit 823eb905d3 )
2026-05-22 12:08:30 -07:00