Twilize - Tableau Workbook Builder

Programmatic Tableau workbook (.twb/.twbx) generation.

От сообщества: Добавлен пользователем или импортирован; проверьте владельца перед подключениемРаботаетБез входаГлобальныйБесплатноТолько чтение

Что умеет

  • Generate Layout Json: Generate and save a dashboard layout JSON file.
  • Inspect Target Schema: Inspect the first-sheet schema of a target Excel datasource.
  • Profile Twb For Migration: Profile workbook datasources and worksheet scope before migration.

Какие данные видит

Нужен ли аккаунт

Не нужен: сервер работает без входа

Programmatic Tableau workbook (.twb/.twbx) generation. 47 MCP tools for charts, dashboards, calculated fields, workbook migration, and CSV-to-dashboard pipelines. Install via uvx twilize.

Список инструментов сервера (55)

Технические названия из tools/list. Нужны только разработчикам.

generate_layout_jsonGenerate and save a dashboard layout JSON file.
inspect_target_schemaInspect the first-sheet schema of a target Excel datasource.
profile_twb_for_migrationProfile workbook datasources and worksheet scope before migration.
propose_field_mappingScan source and target schema and propose a field mapping.
preview_twb_migrationPreview a workbook migration onto a target datasource.
apply_twb_migrationApply a workbook migration and write a migrated TWB plus reports.
migrate_twb_guidedRun the built-in migration workflow and pause for warning confirmation when needed.
list_capabilitiesList twilize's declared capability boundary.
describe_capabilityDescribe one declared capability and its support tier.
analyze_twbAnalyze a TWB file against twilize's declared capabilities.
diff_template_gapSummarize the non-core capability gap of a TWB template.
validate_workbookRun 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_workbookCreate a new workbook from a TWB or TWBX template file.
open_workbookOpen an existing workbook (.twb or .twbx) for in-place worksheet editing.
list_fieldsList all available fields in the current workbook datasource.
list_worksheetsList worksheet names in the current workbook.
list_dashboardsList dashboards and their worksheet zones in the current workbook.
undo_last_changeUndo the last mutating operation, restoring the previous workbook state.
add_calculated_fieldAdd a calculated field to the datasource.
remove_calculated_fieldRemove a previously added calculated field.
add_parameterAdd a parameter to the workbook.
add_worksheetAdd a new blank worksheet to the workbook.
configure_chartConfigure chart type and field mappings for a worksheet.
configure_dual_axisConfigure a dual-axis chart composition.
configure_worksheet_styleApply worksheet-level styling: background color, axis/grid/border visibility.
configure_chart_recipeConfigure a showcase recipe chart through the shared recipe registry.
set_mysql_connectionConfigure the workbook datasource to use a local MySQL connection.
set_tableauserver_connectionConfigure the workbook datasource to use a Tableau Server connection.
set_hyper_connectionConfigure the workbook datasource to use a local Hyper extract connection.
set_mssql_connectionConfigure the workbook datasource to use a Microsoft SQL Server connection.
add_dashboardCreate a dashboard combining multiple worksheets.
add_dashboard_actionAdd an interaction action to a dashboard.
add_reference_lineAdd a reference line to a worksheet (constant, average, median, etc.).
add_reference_bandAdd a reference band (shaded region) to a worksheet.
add_trend_lineAdd a trend line to a worksheet (linear, polynomial, log, exp, power).
apply_color_paletteSet a custom color palette. Built-in: tableau10, tableau20, blue-red, green-gold.
apply_dashboard_themeApply uniform styling (background, font) to all zones in a dashboard.
save_workbookSave 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_csvInspect 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_csvSuggest 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_hyperConvert 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_dashboardBuild 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_hyperInspect 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_dashboardBuild 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_dashboardBuild 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 <table>_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_dashboardBuild 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 <table>_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_rulesReturn 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_ruleSet 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_rulesReset 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_rulesExport 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_sourceProfile 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_csvProfile 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_templateScore 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_csvRecommend 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_templatesList all templates in the gallery with suitability rules. Templates are user-editable YAML files in ``templates/gallery/``. Each template defines layout zones, suitability criteria, recommended themes, and auto-wired interaction actions. Returns: Formatted listing of all gallery templates.
Twilize - Tableau Workbook Builder: подключить к Claude, ChatGPT, Cursor · Connectors.fun