Skip to main content
Glama
vizro-mcp

vizro-mcp

Official
by mckinsey

Python version PyPI version License DocumentationMCP Toplist

Vizro-MCP

Vizro-MCP is a Model Context Protocol (MCP) server, which works alongside an LLM to help you create Vizro dashboards and charts.

To find out more, consult the Vizro-MCP documentation.

Set up Vizro-MCP

Vizro-MCP is best used with Claude Desktop, Cursor or VS Code. However, it can be used with most LLM products that enable configuration of MCP server usage.

đź’ˇ Tip: For best performance, we recommend using the claude-4-sonnet model, or another high-performing model of your choice. Using the often offered auto setting may lead to inconsistent or unexpected results.

Our documentation offers separate, detailed steps for Claude Desktop, Cursor and VS Code.

Basic configuration

The following is for those familiar with MCP server setup who are comfortable with basic configuration settings. You must have downloaded and installed the LLM app you want to configure and use as a MCP host.

You must first install uv.

Next, open a terminal window and type uv to confirm that is available. To get the path to uvx, type the following:

which uv

Copy the path returned, and add the following to the JSON file used to configure MCP servers for your LLM app. Be sure to substitute your path to uv as returned above, for the placeholder given:

{
  "mcpServers": {
    "vizro-mcp": {
      "command": "/placeholder-path/uvx",
      "args": [
        "vizro-mcp"
      ]
    }
  }
}

Quick install

Host

Prerequisite

Link

Cursor

uv

Install with UVX in Cursor

VS Code

uv

Install with UVX in VS Code

You must first install Docker.

Next, add the following to the JSON file used to configure MCP servers for your LLM app.

{
  "mcpServers": {
    "vizro-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "mcp/vizro"
      ]
    }
  }
}

To use local data with Docker

Mount your data directory or directories into the container with the following extended configuration. Replace </absolute/path/to/allowed/dir> (syntax for folders) or </absolute/path/to/data.csv> (syntax for files) with the absolute path to your data on your machine. For consistency, we recommend that the dst path matches the src path.

{
  "mcpServers": {
    "vizro-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "--mount",
        "type=bind,src=</absolute/path/to/allowed/dir>,dst=</absolute/path/to/allowed/dir>",
        "--mount",
        "type=bind,src=</absolute/path/to/data.csv>,dst=</absolute/path/to/data.csv>",
        "mcp/vizro"
      ]
    }
  }
}

Quick install

Host

Prerequisite

Link

Notes

Cursor

Docker

Install with Docker in Cursor

For local data access, mount your data directory

VS Code

Docker

Install with Docker in VS Code

For local data access, mount your data directory

Related MCP server: Chart Canvas MCP Server

Disclaimers

Transparency and trust

MCP servers are a relatively new concept, and it is important to be transparent about what the tools are capable of so you can make an informed choice as a user. Overall, the Vizro MCP server only reads data, and never writes, deletes or modifies any data on your machine.

Third party API

Users are responsible for anything done via their host LLM application.

Users are responsible for procuring any and all rights necessary to access any third-party generative AI tools and for complying with any applicable terms or conditions thereof.

Users are wholly responsible for the use and security of the third-party generative AI tools and of Vizro.

Users acknowledge and agree that:

Any results, options, data, recommendations, analyses, code, or other information (“Outputs”) generated by any third-party generative AI tools (“GenAI Tools”) may contain some inaccuracies, biases, illegitimate, potentially infringing, or otherwise inappropriate content that may be mistaken, discriminatory, or misleading.

McKinsey & Company:

(i) expressly disclaims the accuracy, adequacy, timeliness, reliability, merchantability, fitness for a particular purpose, non-infringement, safety or completeness of any Outputs,

(ii) shall not be liable for any errors, omissions, or other defects in, delays or interruptions in such Outputs, or for any actions taken in reliance thereon, and

(iii) shall not be liable for any alleged violation or infringement of any right of any third party resulting from the users’ use of the GenAI Tools and the Outputs.

The Outputs shall be verified and validated by the users and shall not be used without human oversight and as a sole basis for making decisions impacting individuals.

Users remain solely responsible for the use of the Output, in particular, the users will need to determine the level of human oversight needed to be given the context and use case, as well as for informing the users’ personnel and other affected users about the nature of the GenAI Output. Users are also fully responsible for their decisions, actions, use of Vizro and Vizro-MCP and compliance with applicable laws, rules, and regulations, including but not limited to confirming that the Outputs do not infringe any third-party rights.

Vizro-MCP is used by generative AI models because large language models (LLMs) represent significant advancements in the AI field. However, as with any powerful tool, there are potential risks associated with connecting to a generative AI model.

We recommend users research and understand the selected model before using Vizro-MCP. We also recommend users to check the MCP server code before using it.

Users are encouraged to treat AI-generated content as supplementary, always apply human judgment, approach with caution, review the relevant disclaimer page, and consider the following:

The vendor models might lack real-time knowledge or events beyond its last updates. Vizro-MCP output may vary and you should always verify critical information. It is the user's responsibility to discern the accuracy, consistent, and reliability of the generated content.

Available Tools

6 tools
get_model_json_schemaA

Get the JSON schema for the specified Vizro model. Server Vizro version: 1.0.0

Inputs: model_name (required). Returns: model_name, json_schema, additional_info

get_sample_data_infoA

If user provides no data, use this tool to get sample data information.

Use the following data for the below purposes:
    - iris: mostly numerical with one categorical column, good for scatter, histogram, boxplot, etc.
    - tips: contains mix of numerical and categorical columns, good for bar, pie, etc.
    - stocks: stock prices, good for line, scatter, generally things that change over time
    - gapminder: demographic data, good for line, scatter, generally things with maps or many categories

Returns:
    Data info object containing information about the dataset.

Inputs: data_name (required). Returns: file_name, file_path_or_url, column_names_types, file_location_type, +1 more

get_vizro_chart_or_dashboard_planA

Get instructions for creating a Vizro chart or dashboard. Call FIRST when asked to create Vizro things.

Must be ALWAYS called FIRST with advanced_mode=False, then call again with advanced_mode=True
if the JSON config does not suffice anymore.

Returns:
    Instructions for creating a Vizro chart or dashboard

Inputs: user_host (required), user_plan (required), advanced_mode. Returns: result

load_and_analyze_dataA

Use to understand local or remote data files. Must be called with absolute paths or URLs.

Supported formats:
- CSV (.csv)
- JSON (.json)
- HTML (.html, .htm)
- Excel (.xls, .xlsx)
- OpenDocument Spreadsheet (.ods)
- Parquet (.parquet)

Returns:
    DataAnalysisResults object containing DataFrame information and metadata

Inputs: path_or_url (required). Returns: valid, df_info, message, df_metadata

validate_chart_codeB

Validate the chart code created by the user and optionally open the PyCafe link in a browser.

Returns:
    ValidationResults object with status and dashboard details

Inputs: data_info (required), chart_config (required), auto_open. Returns: valid, message, pycafe_url, python_code, +1 more

validate_dashboard_configA

Validate Vizro model configuration. Run ALWAYS when you have a complete dashboard configuration.

If successful, the tool will return the python code and, if it is a remote file, the py.cafe link to the chart.
The PyCafe link will be automatically opened in your default browser if auto_open is True.

Returns:
    ValidationResults object with status and dashboard details

Inputs: data_infos (required), custom_charts (required), dashboard_config (required), auto_open. Returns: valid, message, pycafe_url, python_code, +1 more

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.9/5.0

    Scored across 6 tools

    Disambiguation5/5

    Each tool has a clearly distinct role: schema retrieval, planning instructions, sample data info, data loading/analysis, chart validation, and dashboard validation. The two validation tools are separated by chart code versus full dashboard config, and the data-related tools are also clearly differentiated.

    Naming Consistency5/5

    All tool names use snake_case and begin with a clear action verb such as get_, validate_, or load_. The longer compound names are still readable and follow the same predictable verb-first convention.

    Tool Count5/5

    Six tools are well-scoped for a Vizro assistant that guides users through planning, schema lookup, data handling, and validation. Each tool appears to earn its place without unnecessary overlap.

    Completeness4/5

    The surface covers the main workflow of planning, inspecting schema, handling data, and validating chart/dashboard code. A minor gap is the absence of a tool to list available Vizro models, which would help agents use get_model_json_schema without guessing model names.

    Maintenance

    ActivityActive
    ResponsivenessUsually handled

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables creating interactive data visualizations from natural language queries using DuckDB for local databases or Databricks for enterprise data warehouses. Supports multiple chart types, CSV imports, SQL queries, and automatic statistical analysis through Claude Desktop.
      19
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables AI assistants to create interactive charts, diagrams, and tables displayed on a real-time dashboard, supporting multiple data sources with privacy-focused local execution.
      1
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      AI-powered data visualization MCP server that generates publication-ready charts from natural language descriptions while keeping data local.
      12 PyPI
      3
      AGPL 3.0
    • A
      license
      A
      quality
      C
      maintenance
      Enables Claude Code to create and edit presentation-grade visualizations such as cloud architecture diagrams, charts, KPI dashboards, and poster infographics, with auto-layout, themes, and export to SVG, PNG, JPG, and PDF.
      6
      MIT