quicksight-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOG_LEVEL | No | Logging level | INFO |
| AWS_REGION | No | AWS region | us-east-1 |
| AWS_PROFILE | No | AWS named profile (optional, uses default if not set) | |
| AWS_ACCOUNT_ID | No | QuickSight account ID (auto-detected if not set) | |
| QUICKSIGHT_BACKUP_DIR | No | Backup directory | ~/.quicksight-mcp/backups |
| QUICKSIGHT_MCP_LEARNING | No | Enable self-learning | true |
| QUICKSIGHT_MCP_LEARNING_DIR | No | Learning data directory | ~/.quicksight-mcp/ |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_datasetsA | List all QuickSight datasets with their names, IDs, and import mode. Returns every dataset in the account with:
Results are cached for 5 minutes. Use this to discover datasets before calling get_dataset_sql or update_dataset_sql. |
| search_datasetsA | Search QuickSight datasets by name (case-insensitive partial match). |
| get_datasetB | Get full metadata for a QuickSight dataset. |
| get_dataset_sqlB | Get the SQL query powering a QuickSight dataset. |
| update_dataset_sqlA | Update the SQL query for a QuickSight dataset. WARNING: This modifies the dataset in place. A backup is created by default. |
| refresh_datasetA | Trigger a SPICE refresh (data reload) for a dataset. Use this after updating dataset SQL to reload data into SPICE cache. Has no effect on DIRECT_QUERY datasets. |
| get_refresh_statusC | Check the status of a SPICE dataset refresh. |
| list_recent_refreshesB | List recent SPICE refresh history for a dataset. |
| create_datasetB | Create a new QuickSight dataset from a SQL query. |
| update_dataset_definitionA | Update full dataset definition from JSON. WARNING: This replaces the entire dataset definition. A backup is created automatically before the update. |
| cancel_refreshA | Cancel a running SPICE dataset refresh. Use this to stop a SPICE ingestion that is stuck in QUEUED or RUNNING state. Useful when old ingestions block new ones. |
| modify_dataset_sqlA | Find and replace text in a dataset's SQL query. Convenience tool that reads the current SQL, applies a string replacement, and updates the dataset. A backup is created automatically. |
| list_analysesA | List all QuickSight analyses with their names, IDs, and status. Returns every analysis in the account. Results are cached for 5 minutes. Use this to discover analyses before inspecting them. Each entry includes:
|
| search_analysesA | Search QuickSight analyses by name (case-insensitive partial match). |
| describe_analysisA | Get a structured summary of a QuickSight analysis. Returns an overview of the analysis structure without the full raw definition -- ideal for understanding what an analysis contains before making changes. |
| list_visualsB | List all visuals in a QuickSight analysis with type and location info. |
| list_calculated_fieldsB | List all calculated fields in a QuickSight analysis. |
| get_columns_usedB | Get a frequency map of columns used across an analysis. |
| get_parametersA | List all parameters defined in a QuickSight analysis. |
| get_analysis_rawA | Get the complete raw analysis definition for inspection. Returns the full Definition dict exactly as stored by AWS. This is useful for debugging, manual inspection, or extracting complex structures (visual definitions, filter groups, etc.) that can be passed to other tools. WARNING: The output can be very large for complex analyses. |
| get_filtersB | List all filter groups defined in a QuickSight analysis. |
| verify_analysis_healthA | Run a comprehensive health check on a QuickSight analysis. Use this AFTER any write operation to verify the analysis is healthy. This is the "reviewer" that ensures changes actually took effect and nothing was silently broken. Checks performed:
|
| snapshot_analysisA | Take a snapshot of the current analysis state for QA comparison. Use this BEFORE making changes. After changes, use diff_analysis to compare and verify exactly what changed. |
| diff_analysisA | Compare current analysis state against a previous snapshot. Use AFTER making changes to see what was added, removed, or modified. This is the QA reviewer -- ensures changes had the intended effect and nothing unexpected broke. |
| get_calculated_fieldB | Get details of a specific calculated field in an analysis. |
| add_calculated_fieldA | Add a new calculated field to a QuickSight analysis. WARNING: This modifies the analysis definition. A backup is automatically created before making changes. |
| update_calculated_fieldA | Update the expression of an existing calculated field. WARNING: This modifies the analysis definition. A backup is automatically created before making changes. Visuals using this field will reflect the new expression immediately. |
| delete_calculated_fieldA | Delete a calculated field from a QuickSight analysis. WARNING: This is destructive. If the field is used by any visuals or other calculated fields, those references will break. Check get_columns_used first to understand the impact. A backup is automatically created before deletion. |
| list_dashboardsA | List all QuickSight dashboards with their names, IDs, and publish status. Returns every dashboard in the account. Results are cached for 5 minutes. Dashboards are the published, viewer-facing version of analyses. Each entry includes:
|
| search_dashboardsA | Search QuickSight dashboards by name (case-insensitive partial match). |
| get_dashboard_versionsB | List the version history of a QuickSight dashboard. |
| publish_dashboardA | Publish a QuickSight analysis to an existing dashboard. WARNING: This is a DESTRUCTIVE operation that replaces the current dashboard content with the analysis content. All viewers will immediately see the new version. Make sure you have tested the analysis thoroughly before publishing. Best practice:
|
| rollback_dashboardA | Rollback a QuickSight dashboard to a previous version. WARNING: This is a DESTRUCTIVE operation. The current dashboard content will be replaced with the specified previous version. All viewers will immediately see the rolled-back version. Use get_dashboard_versions first to find the version number you want to restore. |
| backup_analysisA | Save a full backup of a QuickSight analysis definition to disk. Creates a timestamped JSON file containing the complete analysis definition (sheets, visuals, calculated fields, parameters, filters, etc.). Use restore_analysis to restore from a backup. Backups are saved to ~/.quicksight-mcp/backups/. |
| backup_datasetA | Save a full backup of a QuickSight dataset configuration to disk. Creates a timestamped JSON file containing the dataset definition (SQL, columns, physical/logical table maps, etc.). Backups are saved to ~/.quicksight-mcp/backups/. |
| restore_analysisA | Restore a QuickSight analysis from a JSON backup file. WARNING: This overwrites the analysis definition with the backup contents. The current state of the analysis will be replaced. |
| clone_analysisA | Clone a QuickSight analysis for safe experimentation. Creates a full copy of the analysis with a new name and ID. The clone includes all sheets, visuals, calculated fields, parameters, and filters. Use this to test changes without affecting the original. Best practice workflow:
|
| get_learning_insightsA | Show what the server has learned from your QuickSight usage patterns. This server tracks every tool call -- what you use most, what fails, what takes longest -- and surfaces actionable insights. Returns:
The more you use the server, the better the insights become. |
| get_error_patternsA | Show common QuickSight errors and their known fixes. Analyzes your error history to identify recurring failure patterns and provides specific remediation steps. This is especially useful for diagnosing SPICE refresh failures, permission issues, and API throttling. Returns:
Call this when something goes wrong to see if it is a known issue with a known fix. |
| add_sheetB | Add a new sheet to a QuickSight analysis. WARNING: This modifies the analysis definition. A backup is automatically created before making changes. |
| delete_sheetA | Delete a sheet from a QuickSight analysis. WARNING: This is destructive. All visuals on the sheet will be removed. A backup is automatically created before deletion. |
| rename_sheetA | Rename an existing sheet in a QuickSight analysis. WARNING: This modifies the analysis definition. A backup is automatically created before making changes. |
| list_sheet_visualsA | List all visuals in a specific sheet of a QuickSight analysis. |
| replicate_sheetA | Copy all visuals from one sheet to a new sheet in the same analysis. This is the recommended way to duplicate a sheet. It copies all visuals with their layouts in a single API call, which is much more reliable than adding visuals one at a time. Visual IDs are automatically prefixed with 'rc_' to avoid conflicts. WARNING: This modifies the analysis definition. A backup is automatically created before making changes. |
| delete_empty_sheetsA | Delete all empty sheets (0 visuals) from an analysis. Use this to clean up orphan sheets left by failed operations. Automatically removes filter groups scoped to deleted sheets. WARNING: This is destructive. A backup is automatically created. |
| get_visual_definitionA | Get the full raw definition of a specific visual. Use this to inspect a visual's complete configuration including field mappings, aggregations, formatting, and chart configuration. The returned definition can be modified and passed to add_visual to create a copy. |
| add_visualB | Add a visual to a sheet in a QuickSight analysis. WARNING: This modifies the analysis definition. A backup is automatically created before making changes. |
| delete_visualA | Delete a visual from a QuickSight analysis. WARNING: This is destructive. The visual and its layout element will be removed. A backup is automatically created before deletion. |
| set_visual_titleA | Set or update the title of a visual. WARNING: This modifies the analysis definition. A backup is automatically created before making changes. |
| set_visual_layoutA | Set the position and size of a visual in the grid layout. QuickSight uses a 36-column grid. Common patterns:
WARNING: This modifies the analysis definition. A backup is automatically created before making changes. |
| create_kpiC | Create a KPI visual from simple parameters. |
| create_bar_chartC | Create a bar chart from simple parameters. |
| create_line_chartC | Create a line chart from simple parameters. |
| create_pivot_tableC | Create a pivot table from simple parameters. |
| create_tableC | Create a flat table visual from simple parameters. |
| create_combo_chartB | Create a combo chart (bars + line on same chart) from simple parameters. A combo chart overlays bar values and line values sharing a category axis. For example, count bars with a percentage line overlay. |
| create_pie_chartC | Create a pie chart from simple parameters. |
| add_parameterB | Add a parameter to a QuickSight analysis. WARNING: This modifies the analysis definition. A backup is automatically created before making changes. |
| delete_parameterA | Delete a parameter from a QuickSight analysis. WARNING: This is destructive. If the parameter is used by filters, calculated fields, or controls, those references will break. Check get_parameters first to understand dependencies. A backup is automatically created before deletion. |
| add_filter_groupB | Add a filter group to a QuickSight analysis. WARNING: This modifies the analysis definition. A backup is automatically created before making changes. |
| delete_filter_groupA | Delete a filter group from a QuickSight analysis. WARNING: This is destructive. Removing a filter group may change what data is displayed in affected visuals. A backup is automatically created before deletion. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 61 tools
Most tools target a distinct resource+action, and descriptions clarify boundaries well. However, there is real overlap among update_dataset_sql, modify_dataset_sql, and update_dataset_definition, and between add_visual and the create_*_chart helpers; list_visuals vs list_sheet_visuals also blur slightly.
The set overwhelmingly follows a snake_case verb_noun convention (get_/list_/add_/delete_/update_). The main deviation is the mix of add_ (add_sheet, add_visual, add_parameter) versus create_ (create_kpi, create_bar_chart, create_dataset) for essentially the same insert semantics, but overall it is readable and predictable.
61 tools is heavy and pushes past the comfortable range, with some granularity that could be consolidated (set_visual_title/set_visual_layout, the seven create_*_chart helpers). The breadth of QuickSight (analyses, datasets, dashboards, sheets, visuals, parameters, filters) justifies much of it, but it is still borderline bloated.
Calculated fields, visuals, sheets, parameters, and filters have solid lifecycle coverage, and analyses have backup/restore/clone/publish. Notable gaps remain at the top level: no delete_dataset, delete_analysis, create_analysis, or create/delete_dashboard, and no generic update_visual, which agents must work around.