aminghadersohi opened a new pull request, #40302:
URL: https://github.com/apache/superset/pull/40302
### SUMMARY
Implements 4 new MCP tools across two new domains as part of story #99978
(Add list and info MCP tools for all accessible menu features):
**CSS Template domain** (`superset/mcp_service/css_template/`):
- `list_css_templates`: List CSS templates with filtering and search. CSS
content excluded from default columns (large field) but requestable via
`select_columns=['css']`.
- `get_css_template_info`: Get full CSS template details by ID or UUID.
**Theme domain** (`superset/mcp_service/theme/`):
- `list_themes`: List themes with filtering and search. Default columns
include `id`, `theme_name`, `uuid`.
- `get_theme_info`: Get theme details by ID or UUID (ThemeDAO supports UUID
lookup).
Both domains follow the established database/dashboard/chart pattern:
Pydantic schemas, `ModelListCore`/`ModelGetInfoCore`, `schema_discovery.py`
column configs, `app.py` registration, and unit tests.
### BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
N/A — backend MCP tools only.
### TESTING INSTRUCTIONS
Run the new unit tests:
```bash
pytest tests/unit_tests/mcp_service/css_template/
pytest tests/unit_tests/mcp_service/theme/
```
Via MCP client:
```json
list_css_templates({})
get_css_template_info({"request": {"identifier": 1}})
list_themes({})
get_theme_info({"request": {"identifier": "uuid-here"}})
```
### ADDITIONAL INFORMATION
- [x] Introduces new feature or API
- [ ] Has associated issue:
- [ ] Required feature flags:
- [ ] Changes UI
- [ ] Includes DB Migration
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]