twilize
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| generate_layout_jsonC | Generate and save a dashboard layout JSON file. |
| inspect_target_schemaC | Inspect the first-sheet schema of a target Excel datasource. |
| profile_twb_for_migrationC | Profile workbook datasources and worksheet scope before migration. |
| propose_field_mappingC | Scan source and target schema and propose a field mapping. |
| preview_twb_migrationC | Preview a workbook migration onto a target datasource. |
| apply_twb_migrationC | Apply a workbook migration and write a migrated TWB plus reports. |
| migrate_twb_guidedC | Run the built-in migration workflow and pause for warning confirmation when needed. |
| list_capabilitiesB | List twilize's declared capability boundary. |
| describe_capabilityC | Describe one declared capability and its support tier. |
| analyze_twbC | Analyze a TWB file against twilize's declared capabilities. |
| diff_template_gapC | Summarize the non-core capability gap of a TWB template. |
| validate_workbookA | Run an informational XSD schema check on a workbook (2026.1 schema). This is a non-blocking, advisory check only. Tableau Desktop is the true validator — it routinely produces workbooks that deviate from the published XSD schema, so deviations reported here do NOT indicate the workbook is broken. The workbook will almost certainly open correctly in Tableau regardless of any deviations found. Args: file_path: Path to a .twb or .twbx file to check. If omitted, checks the currently open workbook (in memory). Returns: Informational summary of schema deviations (if any). |
| create_workbookC | Create a new workbook from a TWB or TWBX template file. |
| open_workbookB | Open an existing workbook (.twb or .twbx) for in-place worksheet editing. |
| list_fieldsA | List all available fields in the current workbook datasource. |
| list_worksheetsB | List worksheet names in the current workbook. |
| list_dashboardsB | List dashboards and their worksheet zones in the current workbook. |
| undo_last_changeA | Undo the last mutating operation, restoring the previous workbook state. |
| add_calculated_fieldC | Add a calculated field to the datasource. |
| remove_calculated_fieldB | Remove a previously added calculated field. |
| add_parameterC | Add a parameter to the workbook. |
| add_worksheetB | Add a new blank worksheet to the workbook. |
| configure_chartC | Configure chart type and field mappings for a worksheet. |
| configure_dual_axisD | Configure a dual-axis chart composition. |
| configure_worksheet_styleC | Apply worksheet-level styling: background color, axis/grid/border visibility. |
| configure_chart_recipeC | Configure a showcase recipe chart through the shared recipe registry. |
| set_mysql_connectionC | Configure the workbook datasource to use a local MySQL connection. |
| set_tableauserver_connectionC | Configure the workbook datasource to use a Tableau Server connection. |
| set_hyper_connectionC | Configure the workbook datasource to use a local Hyper extract connection. |
| set_mssql_connectionC | Configure the workbook datasource to use a Microsoft SQL Server connection. |
| add_dashboardC | Create a dashboard combining multiple worksheets. |
| add_dashboard_actionC | Add an interaction action to a dashboard. |
| add_reference_lineC | Add a reference line to a worksheet (constant, average, median, etc.). |
| add_reference_bandC | Add a reference band (shaded region) to a worksheet. |
| add_trend_lineB | Add a trend line to a worksheet (linear, polynomial, log, exp, power). |
| apply_color_paletteC | Set a custom color palette. Built-in: tableau10, tableau20, blue-red, green-gold. |
| apply_dashboard_themeC | Apply uniform styling (background, font) to all zones in a dashboard. |
| save_workbookB | Save the workbook as a TWB file. Use a .twbx extension to produce a packaged workbook (ZIP) that bundles the XML with any data extracts and images carried over from the source .twbx. |
| inspect_csvA | Inspect a CSV file and return its inferred schema with column classification. Reads the CSV, infers column types (integer, float, date, boolean, string), classifies columns as dimensions or measures with semantic types (categorical, temporal, geographic, numeric), and returns a summary. Args: csv_path: Path to the CSV file. sample_rows: Number of rows to sample for type inference. encoding: File encoding (default utf-8). Returns: Human-readable schema summary with dimensions, measures, and types. |
| suggest_charts_for_csvA | Suggest chart types and configurations for a CSV file. Analyzes the data shape (dimensions, measures, temporal fields, etc.) and returns prioritized chart suggestions with shelf assignments. Args: csv_path: Path to the CSV file. max_charts: Maximum number of charts to suggest (0 = use dashboard_rules.yaml default). sample_rows: Rows to sample for inference. rules_yaml: Optional YAML string with dashboard rules overrides (e.g. KPI formatting, chart limits). Returns: Formatted suggestion list with chart types, shelf assignments, and reasoning. |
| csv_to_hyperA | Convert a CSV file to a Tableau Hyper extract. Infers column types and creates a .hyper file that can be used as a data source in Tableau workbooks. Requires tableauhyperapi (pip install tableauhyperapi). Args: csv_path: Path to the source CSV file. hyper_path: Output path for the .hyper file. table_name: Table name inside the Hyper file. sample_rows: Rows to sample for type inference. Returns: Confirmation with row and column counts. |
| csv_to_dashboardA | Build a complete Tableau dashboard from a CSV file (end-to-end). Pipeline: CSV → schema inference → chart suggestion → Hyper extract → workbook creation → chart configuration → dashboard layout → .twbx output. Args: csv_path: Path to the source CSV file. output_path: Output .twbx path (defaults to <csv_stem>_dashboard.twbx). dashboard_title: Dashboard title (derived from filename if empty). max_charts: Maximum number of charts (0 = use dashboard_rules.yaml default). template_path: TWB template path (empty for default template). theme: Theme preset name (empty = use dashboard_rules.yaml default). Options: modern-light, modern-dark, classic, minimal, vibrant. rules_yaml: Optional YAML string with dashboard rules overrides. Example: "kpi:\n font_size: 32\n max_kpis: 3" Returns: Summary of the created dashboard with file path. |
| inspect_hyperA | Inspect a Hyper extract file and return its schema with column classification. Reads the Hyper file, maps column types, classifies columns as dimensions or measures, and returns a summary. Requires tableauhyperapi (pip install tableauhyperapi). Args: hyper_path: Path to the .hyper file. table_name: Specific table to inspect (empty = first table). Returns: Human-readable schema summary with dimensions, measures, and types. |
| hyper_to_dashboardA | Build a complete Tableau dashboard from a Hyper extract file (end-to-end). Pipeline: Hyper → schema inference → chart suggestion → workbook creation → chart configuration → dashboard layout → .twbx output. Args: hyper_path: Path to the .hyper file. output_path: Output .twbx path (defaults to <hyper_stem>_dashboard.twbx). dashboard_title: Dashboard title (derived from filename if empty). max_charts: Maximum number of charts (0 = use rules default). template_path: TWB template path (empty for default template). table_name: Table name inside the Hyper file (empty = first table). theme: Theme preset name (empty = use rules default). rules_yaml: Optional YAML string with dashboard rules overrides. Returns: Summary of the created dashboard with file path. |
| mysql_to_dashboardA | Build a Tableau dashboard from a MySQL table (end-to-end). Pipeline: MySQL → schema inference → chart suggestion → workbook creation → live MySQL connection → .twb output. Requires mysql-connector-python for schema inference. Args: server_host: MySQL server hostname. dbname: Database name. table_name: Table to visualize. username: Database username. password: Database password (used for schema inference only; not stored in the workbook). port: Server port (default 3306). output_path: Output .twb path (defaults to _dashboard.twb). dashboard_title: Dashboard title. max_charts: Maximum charts (0 = use rules default). template_path: TWB template path. theme: Theme preset name. rules_yaml: Optional YAML string with dashboard rules overrides. Returns: Summary of the created dashboard with file path. |
| mssql_to_dashboardA | Build a Tableau dashboard from a Microsoft SQL Server table (end-to-end). Pipeline: MSSQL → schema inference → chart suggestion → workbook creation → live MSSQL connection → .twb output. Requires pyodbc for schema inference and ODBC Driver 17 for SQL Server. Args: server_host: MSSQL server hostname. dbname: Database name. table_name: Table to visualize. username: Database username (ignored if trusted_connection=True). password: Database password (used for schema inference only). port: Server port (default 1433). trusted_connection: Use Windows Authentication instead of SQL auth. output_path: Output .twb path (defaults to _dashboard.twb). dashboard_title: Dashboard title. max_charts: Maximum charts (0 = use rules default). template_path: TWB template path. theme: Theme preset name. rules_yaml: Optional YAML string with dashboard rules overrides. Returns: Summary of the created dashboard with file path. |
| get_active_rulesA | Return the active dashboard creation rules. Call this at the start of a session to understand what constraints are enforced. The rules engine validates every configure_chart and add_dashboard call — violations are returned as errors or warnings. Returns: Human-readable summary of all active rules. |
| set_ruleA | Set a specific rule value in the active dashboard rules. This allows admins to modify rules at runtime without editing YAML files. Changes persist for the current session and can be exported with export_rules(). Args: section: Rule section name. Options: "kpi" — KPI formatting (font_size, font_color, bold, row_height, max_kpis, default_format) "charts" — Chart defaults (max_charts, theme, bar_top_n, pie_max_slices) "layout" — Layout settings (width, height, background_color, card_background) "bar_chart_rules" — Bar chart enforcement "theme_rules" — Theme enforcement "map_rules" — Map chart enforcement key: The specific setting to change. Examples: "font_size", "max_charts", "theme", "background_color", "default_format" value: New value (string — will be auto-parsed to int/float/bool as needed). Examples: "28", "modern-dark", "#2D2D2D", "true", "$#,##0.00" Returns: Confirmation of the change or error message. |
| reset_rulesA | Reset all rules to the built-in defaults. Discards any runtime changes made via set_rule() and reloads the default rules from the package YAML file. Returns: Confirmation message. |
| export_rulesA | Export the current active rules to a YAML file. Saves the complete rules (including any runtime changes from set_rule()) to a YAML file that can be placed next to data files or in the working directory for future sessions. Args: output_path: Path to save the YAML file. Defaults to ./dashboard_rules.yaml in the current working directory. Returns: Path to the saved file and summary. |
| profile_data_sourceA | Profile the currently connected data source. Works for ANY connection type: CSV extract, Hyper, MySQL, Tableau Server, Excel — anything that has fields in the workbook. The profile includes dimension/measure classification, semantic types, domain hints, and boolean signals that guide chart and template selection. Args: source_type: Override source detection. Usually "auto" which inspects the workbook fields. Other options: "csv", "hyper" (requires separate file path tools). Returns: Human-readable DataProfile with signals for template/chart decisions. |
| profile_csvA | Profile a CSV file before connecting it. Unlike profile_data_source (which needs an active workbook), this tool profiles a raw CSV file directly. Args: csv_path: Path to the CSV file. sample_rows: Number of rows to sample for type inference. Returns: Human-readable DataProfile. |
| recommend_templateA | Score all gallery templates and recommend the best fit. Call this AFTER profiling the data source and deciding on chart types, but BEFORE creating the dashboard layout. The decider evaluates every template in the gallery against the data profile and chart mix, returning a ranked list with reasoning. Args: chart_types: Comma-separated list of chart mark_types being built. Example: "Bar,Line,Text,Text,Map" If omitted, uses only the data profile signals. kpi_count: Override KPI count (else derived from chart_types). Returns: Ranked template recommendations with scores and reasoning. |
| recommend_template_for_csvB | Recommend templates for a CSV file (no active workbook needed). Args: csv_path: Path to the CSV file. chart_types: Comma-separated chart types (optional). sample_rows: Rows to sample for inference. Returns: Ranked template recommendations. |
| list_gallery_templatesA | List all templates in the gallery with suitability rules. Templates are user-editable YAML files in Returns: Formatted listing of all gallery templates. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| read_tableau_functions | Read the complete list of Tableau calculation functions. |
| read_skills_index | List all available twilize agent skills. |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/subhatta123/twilize'
If you have feedback or need assistance with the MCP directory API, please join our Discord server