Vizro logo

Vizro

OrganizationPopular
mckinsey

Vizro is a low-code toolkit for building high-quality data visualization apps.

Publishermckinsey
Repositoryvizro
LanguagePython
Forks
269
Stars
3.7K
Available tools
6
Transport typestdio
Categories
LicenseApache-2.0
Links
  • Connect tools to AI workflows

    Vizro exposes MCP capabilities that can be used by compatible AI clients and agents.

  • 6 available tools

    Browse the callable actions below, including names and descriptions when provided by the server.

  • Ready-to-copy setup

    Use the installation snippets to configure this server in your preferred MCP client.

  • Open source signals

    3.7K stars and 269 forks from the linked repository.

Vizro is a low-code toolkit for building high-quality data visualization apps

Python version PyPI version License Documentation OpenSSF Best Practices

Documentation | Get Started

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.

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:

  • Components: charts, tables, cards, KPI indicators, forms and more.
  • Controls: filters and parameters, using a range of selectors such as drop-down menus and sliders.
  • Actions: interactions between components, drill-throughs, export functionality and more.
  • Layouts: grid layouts or flexible containers, with a range of pre-set styles.
  • Navigation: a range of app layout and navigation settings, including nested page hierarchies.

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 the "How-to guides" for a more detailed explanation of Vizro features.

Why use Vizro?

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.

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?

Explore a few live demos to see different Vizro dashboards in action:

Browse the full Vizro Gallery for more examples.

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.

Vizro-MCP

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.

Vizro-AI

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.

Installation and first steps

console
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:

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.

Installation

TypingMind
Prerequisites:

Node.js 18+

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

Available Tools

  • get_vizro_chart_or_dashboard_plan

    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
    
  • get_model_json_schema

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

  • 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
    
    Returns:
        Data info object containing information about the dataset.
    
  • load_and_analyze_data

    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
    
  • validate_dashboard_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.
    
    Returns:
        ValidationResults object with status and dashboard details
    
  • validate_chart_code

    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
    

Use Vizro MCP with multiple AI models

TypingMind connects MCP tools at the workspace level, so once Vizro is connected, you can use it with different AI models in TypingMind instead of setting it up separately for each model. This MCP runs locally through the TypingMind MCP connector on your device.

Setup guide to use the local connector

Use this when the MCP server needs access to local files, apps, or private resources on your computer.

1

Open the MCP settings

In TypingMind, go to Settings, Advanced Settings, then Model Context Protocol and choose Setup Connector.

  1. Open TypingMind in your browser.
  2. Click the Settings icon.
  3. Go to Advanced Settings.
  4. Open the Model Context Protocol section.
  5. Click Setup Connector and choose This Device.
TypingMind MCP connector setup screen with This Device selected
2

Run the connector command

Choose This Device, copy the command from TypingMind, and run it in Terminal. Keep the process running while you use MCP.

  1. Copy the setup command shown by TypingMind.
  2. Open Terminal on macOS or Windows Terminal on Windows.
  3. Paste and run the command.
  4. Approve the package install if Terminal asks you to proceed.
  5. Keep the Terminal window running while using MCP tools.
3

Add Vizro as a server

When the connector status is Ready, click Edit Servers and paste the MCP server configuration.

  1. Wait until the connector status shows Ready.
  2. Click Edit Servers.
  3. Paste the Vizro MCP server configuration.
  4. Save the server list.
  5. Refresh if you want to confirm the connector is still ready.
TypingMind MCP settings showing active server and Edit Servers button
{
  "mcpServers": {
    "vizro": {
      "command": "npx",
      "args": [
        "-y",
        "vizro-mcp"
      ]
    }
  }
}
4

Use it across models

Save the server list, open Plugins, enable the Vizro MCP tools, then select any supported AI model in TypingMind and use the tools in chat or assign them to an AI agent.

  1. Open the Plugins page in TypingMind.
  2. Enable the Vizro MCP tools.
  3. Start a chat and choose the AI model you want to use.
  4. Use the MCP tools in chat or assign them to an AI agent.
  5. Switch to another AI model whenever needed without reconnecting MCP.
TypingMind chat using enabled MCP tools with a selected AI model
Can you use Vizro to help me with this task?
Vizro
Sure. I read it.
Here is what I found using Vizro.

Frequently asked questions

What is the Vizro MCP server used for?

Vizro is an MCP server that lets compatible AI clients connect to external tools and context. In TypingMind, you can add this MCP server once and make its tools available in your AI workspace.

Can I use Vizro MCP with multiple AI models in TypingMind?

Yes. TypingMind connects MCP tools at the workspace level, so you can use Vizro with different AI models such as Claude, ChatGPT, Gemini, or other models you have configured in TypingMind without setting up the MCP server separately for each model.

Why use Vizro MCP with TypingMind?

TypingMind is one of the best frontends for LLM chat because it brings multiple AI models, prompts, plugins, AI agents, API keys, and MCP tools into one workspace. With Vizro connected, you can use its MCP tools across your preferred models while keeping your chat workflow organized in TypingMind.

How do I connect Vizro MCP to TypingMind?

Vizro runs through the TypingMind local MCP connector. This is best when the MCP server needs access to local files, desktop apps, command-line tools, or private resources on your computer.

What tools does Vizro MCP provide in TypingMind?

Vizro exposes 6 MCP tools that can be enabled from the TypingMind Plugins page and used in chat or assigned to AI agents.

Do I need to share my API keys with TypingMind to use Vizro MCP?

No. TypingMind is local-first and lets you keep your model providers, API keys, prompts, and MCP configuration under your control. If Vizro requires authentication, add the required headers, OAuth settings, or local configuration for that MCP server when you create the connection.

Related MCP Servers

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇