by mckinsey
Build high-quality data visualization apps quickly with low‑code configuration, leveraging Plotly, Dash, and Pydantic while allowing deep customisation through Python, JavaScript, HTML, and CSS.
Vizro provides a low‑code framework for creating multi‑page, production‑ready data visualization dashboards. Configuration can be expressed as Pydantic models, JSON, YAML, or plain Python dictionaries, eliminating the need for extensive boilerplate code while still supporting advanced customisation.
pip install vizro
vizro
package internally sets up a Plotly‑Dash server). Example minimal code snippet:
import vizro as vz
# Define a simple dashboard configuration
dashboard = vz.Dashboard(
components=[vz.Plot(...), vz.Table(...)]
)
dashboard.run()
Q: Do I need to know Dash or Plotly beforehand? A: No. Basic low‑code configuration is sufficient, though familiarity helps when extending with custom code.
Q: Which Python versions are supported? A: Python 3.9 – 3.13.
Q: Can I deploy the app on cloud platforms? A: Yes. Since Vizro runs on top of Dash, it can be containerised and deployed to any platform that supports a standard Python web server.
Q: How does Vizro differ from full‑stack dashboard frameworks? A: It abstracts most boilerplate into declarative configuration, dramatically reducing development time while still allowing deep customisation when needed.
Q: What is Vizro‑MCP? A: An optional Model Context Protocol server that works with LLM clients (e.g., Cursor, Claude Desktop) to generate dashboards step‑by‑step.
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.
In just a few lines of simple low-code configuration, with in-built visual design best practices, you can quickly assemble high-quality, multi-page prototypes, that are production-ready.
Every Vizro app is defined by a simple configuration, using these high-level categories:
Configuration can be written in multiple formats including Pydantic models, JSON, YAML or Python dictionaries for added flexibility of implementation.
Optional high-code extensions enable almost infinite customization in a modular way, combining the best of low-code and high-code - including bespoke visual formatting and custom components.
Visit our "How-to guides" for a more detailed explanation of Vizro features.
The benefits of the Vizro toolkit include:
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.
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:
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.
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 Model Context Protocol (MCP) server for Vizro.
Vizro-MCP works alongside an LLM to help you create Vizro dashboards and charts. It provides tools and templates to create a functioning Vizro chart or dashboard step-by-step.
Compatible with MCP-enabled LLM clients such as Cursor or Claude Desktop.
Use LLMs to generate charts and dashboards.
Vizro-AI dashboard generation is no longer actively developed and is superseded by Vizro-MCP. Vizro-AI supports only chart generation from version 0.4.0.
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.
pip install vizro
See the installation guide for more information.
The get started documentation explains how to create your first dashboard.
This repository is a monorepo containing the following packages:
Folder | Version | Documentation |
---|---|---|
vizro-core | Vizro Docs | |
vizro-ai | Vizro-AI Docs | |
vizro-mcp | Vizro-AI Docs |
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.
The contributing guide explains how you can contribute to Vizro.
You can also view current and former contributors here.
See our security policy.
vizro
is distributed under the terms of the Apache License 2.0.
Please log in to share your review and rating for this MCP.
Discover more MCP servers with similar functionality and use cases
by antvis
mcp-server-chart is a Model Context Protocol (MCP) server developed by AntV that generates over 25 types of visual charts. It provides robust chart generation and data analysis capabilities, integrating with various AI clients and platforms.
by reading-plus-ai
mcp-server-data-exploration is an MCP server designed for autonomous data exploration on CSV-based datasets. It acts as a personal Data Scientist assistant, providing intelligent insights with minimal effort.
by Canner
Wren Engine is a semantic engine designed for Model Context Protocol (MCP) clients and AI agents, enabling accurate and context-aware access to enterprise data.
by GongRzhe
A Model Context Protocol (MCP) server for generating various types of charts using QuickChart.io, enabling chart creation through MCP tools.
by ergut
mcp-bigquery-server is a Model Context Protocol (MCP) server that enables Large Language Models (LLMs) to securely and efficiently interact with Google BigQuery datasets. It acts as a translator, allowing LLMs to query and analyze data in BigQuery using natural language instead of SQL.
by isaacwasserman
Provides tools for saving data tables and generating Vega‑Lite visualizations via an MCP interface, supporting both textual specifications and PNG image output.
by surendranb
Google Analytics MCP Server is a Python-based tool that enables Large Language Models (LLMs) to access and analyze Google Analytics 4 (GA4) data using natural language, providing conversational querying of over 200 GA4 dimensions and metrics.
by tinybirdco
Provides a Model Context Protocol server implementation for Tinybird, allowing analytics agents to forward data to Tinybird's platform.
by GongRzhe
JSON-MCP-Server is a JSON Model Context Protocol (MCP) server that enables Large Language Models (LLMs) to query and manipulate JSON data. It provides advanced data interaction capabilities through standardized tools and JSONPath syntax.