
vizro-mcp
vizro-mcp
Tools
get_sample_data_info
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 Args: data_name: Name of the dataset to get sample data for Returns: Data info object containing information about the dataset.
validate_model_config
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. Args: config: Either a JSON string or a dictionary representing a Vizro model configuration data_infos: List of DFMetaData objects containing information about the data files auto_open: Whether to automatically open the PyCafe link in a browser Returns: ValidationResults object with status and dashboard details
get_model_json_schema
Get the JSON schema for the specified Vizro model. Args: model_name: Name of the Vizro model to get schema for (e.g., 'Card', 'Dashboard', 'Page') Returns: JSON schema of the requested Vizro model
get_vizro_chart_or_dashboard_plan
Get instructions for creating a Vizro chart or dashboard. Call FIRST when asked to create Vizro things.
load_and_analyze_data
Load data from various file formats into a pandas DataFrame and analyze its structure. Supported formats: - CSV (.csv) - JSON (.json) - HTML (.html, .htm) - Excel (.xls, .xlsx) - OpenDocument Spreadsheet (.ods) - Parquet (.parquet) Args: path_or_url: Local file path or URL to a data file Returns: DataAnalysisResults object containing DataFrame information and metadata
validate_chart_code
Validate the chart code created by the user and optionally open the PyCafe link in a browser. Args: config: A ChartPlan object with the chart configuration data_info: Metadata for the dataset to be used in the chart auto_open: Whether to automatically open the PyCafe link in a browser Returns: ValidationResults object with status and dashboard details
README
<br><br>
<div align="center">
<picture> <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/mckinsey/vizro/main/.github/images/Vizro_Github_Banner_Dark_Mode.png"> <source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/mckinsey/vizro/main/.github/images/Vizro_Github_Banner_Light_Mode.png"> <img alt="Vizro logo" src="https://raw.githubusercontent.com/mckinsey/vizro/main/.github/images/Vizro_Github_Banner_Light_Mode.png" width="250"> </picture>
Vizro is a low-code toolkit for building high-quality data visualization apps
Documentation | Get Started | Vizro examples gallery
<picture> <source srcset="https://raw.githubusercontent.com/mckinsey/vizro/main/.github/images/vizro_spash_teaser.gif"> <img alt="Gif to demonstrate Vizro features" src="https://raw.githubusercontent.com/mckinsey/vizro/main/.github/images/vizro_spash_teaser_fallback.png" width="600"> </picture> <br> <br> <img src="https://raw.githubusercontent.com/mckinsey/vizro/main/.github/images/logo_watermarks.svg" width="300"> </div>
What is Vizro?
Vizro is an open-source Python-based toolkit.
Use it to build beautiful and powerful data visualization apps quickly and easily, without needing advanced engineering or visual design expertise.
Then customize and deploy your app to production at scale.
<div align="center"> <img src="https://raw.githubusercontent.com/mckinsey/vizro/main/.github/images/code_dashboard.png" width="100%"/> Use a few lines of simple low-code configuration, with in-built visual design best practices, to assemble high-quality multi-page prototypes. </div> <br>
The benefits of the Vizro toolkit include:
<div align="center"> <img src="https://raw.githubusercontent.com/mckinsey/vizro/main/.github/images/infographic.svg" width="800"/> </div> <br>
Visit our "How-to guides" for a more detailed explanation of Vizro features.
Why use Vizro?
Vizro helps you to build data visualization apps that are:
Quick and easy
Build apps in minutes. Use a few lines of simple configuration (via Pydantic models, JSON, YAML, or Python dictionaries) in place of thousands of lines of code.
Beautiful and powerful
Build high-quality multi-page apps without needing advanced engineering or visual design expertise. Use powerful features of production-grade BI tools, with in-built visual design best practices.
Flexible
Benefit from the capabilities and flexibility of open-source packages. Use the trusted dependencies of Plotly, Dash, and Pydantic.
Customizable
Almost infinite control for advanced users. Use Python, JavaScript, HTML and CSS code extensions.
Scalable
Rapidly prototype and deploy to production. Use the in-built production-grade capabilities of Plotly, Dash and Pydantic.
Visit "Why should I use Vizro?" for a more detailed explanation of Vizro use cases.
When to use Vizro?
Use Vizro when you need to combine the speed and ease of low-code Python tools, with production capabilities of JavaScript and BI tools, and the freedom of open source:
- Have an app that looks beautiful and professional by default.
- Enjoy the simplicity of low-code, plus the option to customize with code almost infinitely.
- Rapidly create prototypes which are production-ready and easy to deploy at scale.
How to use Vizro?
Vizro framework
Low-code framework for building dashboards.
The Vizro framework underpins the entire Vizro toolkit. It is a Python package (called vizro
).
Visit the documentation for more details.
Vizro visual vocabulary
Chart examples.
The visual vocabulary helps you to decide which chart type to use for your requirements, and offers sample code to create these charts with Plotly or embed them into a Vizro dashboard.
Visit the visual vocabulary to search for charts or get inspiration.
<a href="https://vizro-demo-visual-vocabulary.hf.space/"> <img src="https://raw.githubusercontent.com/mckinsey/vizro/main/.github/images/toolkit_visual_vocabulary.png" width="600"> </a>
Vizro examples gallery
Dashboard examples.
The dashboard examples gallery enables you to explore Vizro in action by viewing interactive example apps. You can copy the code to use as a template or starter for your next dashboard.
Visit the dashboard examples gallery to see the dashboards in action.
<a href="https://vizro.mckinsey.com/"> <img src="https://raw.githubusercontent.com/mckinsey/vizro/main/.github/images/toolkit_dashboard_examples.png" width="600"> </a>
Vizro-AI
Use LLMs to generate charts and dashboards.
Vizro-AI is a separate package (called vizro_ai
) that extends Vizro to incorporate LLMs. Use it to build interactive Vizro charts and dashboards, by simply describing what you need in plain English or other languages.
Visit the Vizro-AI documentation for more details.
<picture> <source srcset="https://raw.githubusercontent.com/mckinsey/vizro/main/.github/images/toolkit_vizro_ai.gif"> <img alt="Gif to demonstrate Vizro-AI" src="https://raw.githubusercontent.com/mckinsey/vizro/main/.github/images/toolkit_vizro_ai_fallback.png" width="600"> </picture>
Installation and first steps
pip install vizro
See the installation guide for more information.
The get started documentation explains how to create your first dashboard.
Packages
This repository is a monorepo containing the following packages:
Folder | Version | Documentation |
---|---|---|
vizro-core | Vizro Docs | |
vizro-ai | Vizro-AI Docs |
Community and development
We encourage you to ask and discuss any technical questions via the GitHub Issues. This is also the place where you can submit bug reports or request new features.
Want to contribute to Vizro?
The contributing guide explains how you can contribute to Vizro.
You can also view current and former contributors here.
Want to report a security vulnerability?
See our security policy.
License
vizro
is distributed under the terms of the Apache License 2.0.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.