MCP Directory

How to add Vizro-MCP to Cursor

MCP server that works alongside an LLM to build validated Vizro charts and dashboards. Paste the config into ~/.cursor/mcp.json and restart Cursor.

Last updated June 14, 2026 · 3.7k · stdio · no auth · official

Cursor config for Vizro-MCP

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

Requires `uv` (the Python package runner). Install it from https://docs.astral.sh/uv/ if `uvx` is not found.

Setup steps

  1. 1Open Cursor → Settings → MCP → Add new MCP server (or edit ~/.cursor/mcp.json directly).
  2. 2Paste the Vizro-MCP config below into the "mcpServers" object.
  3. 3Fill in placeholder secrets, then save.
  4. 4Cursor reloads MCP servers automatically — check Settings → MCP for a green status dot.
  5. 5Ask Cursor to use one of Vizro-MCP's tools to confirm it's connected.

Before you start

  • An MCP-enabled LLM client (Claude Desktop, Cursor, or VS Code)
  • uv (for the uvx install) OR Docker (for the containerized install)
  • For local-data dashboards with the Docker setup, mounting your data directory/file into the container

What Vizro-MCP can do in Cursor

get_vizro_chart_or_dashboard_plan

Returns instructions for creating a Vizro chart or dashboard. Should be called FIRST when asked to create Vizro things; call again with advanced_mode=True if plain JSON config is no longer sufficient (e.g. custom CSS, components or actions).

get_model_json_schema

Returns the JSON schema for a specified Vizro model (e.g. Card, Dashboard, Page, Graph, Grid), so the model knows the exact valid configuration shape. Flags deprecated models and points to replacements.

get_sample_data_info

When the user provides no data, returns metadata for a built-in sample dataset (iris, tips, stocks, or gapminder) suited to different chart types.

load_and_analyze_data

Loads a local file (absolute path) or remote URL into a pandas DataFrame and returns detailed structure/metadata. Supports CSV, JSON, HTML, Excel (.xls/.xlsx), ODS and Parquet. Read-only (uses pd.read_*).

validate_dashboard_config

Validates a complete Vizro dashboard model configuration against the Pydantic models. On success returns runnable Python code and, for remote data, a PyCafe live-preview link (opened in the browser when auto_open is true). Should be run after every iteration.

validate_chart_code

Validates a user-created Vizro chart (a ChartPlan plus dataset metadata) and optionally opens the PyCafe preview link in a browser.

Security

The server only reads data and never writes, deletes or modifies data on your machine; data loading uses pandas read functions. There is currently no authentication to manage access, so run Vizro-MCP locally only and not as a hosted server. The load_and_analyze_data tool reads local files/URLs, and validate_dashboard_config / validate_chart_code can open a PyCafe live-preview link in your browser (disable via auto_open=false). Data is sent to your model vendor through your host LLM application; users are responsible for use of any third-party generative AI tools and their outputs.

Vizro-MCP + Cursor FAQ

Where is the Cursor config file?

Cursor reads MCP servers from ~/.cursor/mcp.json. Paste the Vizro-MCP config there under the "mcpServers" key and restart the client.

Is Vizro-MCP safe to use with Cursor?

The server only reads data and never writes, deletes or modifies data on your machine; data loading uses pandas read functions. There is currently no authentication to manage access, so run Vizro-MCP locally only and not as a hosted server. The load_and_analyze_data tool reads local files/URLs, and validate_dashboard_config / validate_chart_code can open a PyCafe live-preview link in your browser (disable via auto_open=false). Data is sent to your model vendor through your host LLM application; users are responsible for use of any third-party generative AI tools and their outputs.

Which LLM clients are supported?

Vizro-MCP is best used with Claude Desktop, Cursor or VS Code, but it works with most LLM products that support MCP server configuration. For best results the docs recommend a high-performing model (e.g. claude-4-sonnet) rather than an 'auto' setting.

How do I install it?

Add a standard mcpServers block to your client. The uv option uses command 'uvx' with args ['vizro-mcp'] (install uv first). Alternatively, use Docker with command 'docker' and args ['run','-i','--rm','mcp/vizro']; mount your data directory with --mount to access local files.

Is my data safe?

The server only reads data and never writes, deletes or modifies anything on your machine; data loading uses pandas read functions. Note that there is currently no authentication, so it should be run locally rather than as a hosted server, and your prompts/data are sent to your model vendor via your host LLM application.

View repo Full Vizro-MCP page