HoloViz MCP Server
Allows loading Kaggle datasets by URL for profiling and visualization.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@HoloViz MCP ServerCreate an interactive scatter plot of tips data"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
What is DataViz MCP?
DataViz MCP connects an AI assistant to a local Panel server. The assistant can inspect data, generate Python visualization code, validate it, render it as an interactive web page, review the result in a browser, and refine it before sharing the final visualization.
It supports two complementary workflows:
MCP mode: create and inspect visualizations from VS Code, Cursor, Claude, and other MCP clients.
Standalone mode: submit, browse, edit, and publish visualizations from a local web interface.
AI-assisted visualization

Standalone visualization workspace

Related MCP server: Chart-Output MCP Server
Why DataViz MCP?
Capability | What it provides |
Natural-language workflow | Ask an assistant to inspect data, create a chart, or build an interactive dashboard. |
Adaptive data loading | Detect simple, multidimensional, remote, and large datasets before selecting a renderer. |
Large-data visualization | Use Datashader-backed rasterization for dense datasets. |
Multidimensional data | Inspect NetCDF and tabular dimensions with Xarray and HoloViews support. |
Broad library support | Render hvPlot, HoloViews, Panel, Bokeh, Plotly, Altair, Matplotlib, Seaborn, and more. |
Visual review | Capture browser screenshots so the assistant can inspect clipping, layout, and readability. |
Safe iteration | Validate syntax, imports, extensions, and common security issues before rendering. |
Persistent results | Store snippets in SQLite with stable local URLs and full-text search. |
Resilient service | Monitor the Panel process, check health, and restart it when required. |
How it works
flowchart LR
U[User request] --> A[AI assistant]
A --> M[DataViz MCP server]
M --> V{Request type}
V -->|Inspect data| L[load_data]
V -->|Render code| S[show]
V -->|Review output| C[screenshot]
V -->|Text result| E[evaluate]
L --> P[Profile and select strategy]
P --> R[Panel rendering service]
S --> Q[Validation pipeline]
Q --> R
R --> B[Interactive browser view]
C --> B
R --> D[(SQLite snippets)]The MCP process coordinates tools and validation. A separate Panel process renders the visual output, while SQLite stores snippets and their publication state.
Automatic data strategy
flowchart TD
A[Local path or remote URL] --> B[Inspect format and metadata]
B --> C{Dataset shape}
C -->|Large or dense| D[Datashader-backed hvPlot]
C -->|Multidimensional| E[HoloViews or Xarray]
C -->|Ordinary tabular data| F[hvPlot]
D --> G[Interactive Panel view]
E --> G
F --> GSource location and data shape are treated separately. A remote dataset can still be simple, multidimensional, or large.
Quick start
1. Install
Python 3.12 or later is required. The pydata extra installs the broad visualization stack.
uv tool install "dataviz-mcp[pydata]"
pls install-browser
pls --versionYou can also use pip inside a virtual environment:
python -m venv .venv
source .venv/bin/activate
pip install "dataviz-mcp[pydata]"
pls install-browserWindows PowerShell activation:
python -m venv .venv
.venv\Scripts\Activate.ps1
pip install "dataviz-mcp[pydata]"
pls install-browserSee the complete installation guide for pixi, uv, pip, Windows, and environment-specific instructions.
2. Connect an MCP client
DataViz MCP can add its configuration without replacing your other MCP servers:
pls install vscodeOther supported targets include:
pls install cursor
pls install claude-desktop
pls install windsurf
pls install cline
pls install gemini
pls install kiro
pls install copilotFor manual VS Code configuration, find the executable first:
which plsThen create .vscode/mcp.json:
{
"servers": {
"dataviz-mcp": {
"type": "stdio",
"command": "/absolute/path/to/pls",
"args": ["mcp"]
}
}
}Always use the absolute executable path. Restart the MCP connection after changing the package or local server code.
3. Ask for a visualization
Try a direct request in your MCP client:
Create an interactive scatter plot that compares departure delay with arrival delay. Use Datashader if the dataset is large and explain the visible pattern.
Or inspect data without creating a chart:
Analyze this dataset, summarize its structure and quality, and recommend useful visualizations without creating a plot yet.
MCP tools
Tool | Purpose |
| Inspect CSV, JSON, JSONL, NDJSON, Parquet, and NetCDF sources, then optionally create a suitable plot. |
| Validate and publish visualization code as an interactive Panel page. |
| Render a private draft and capture the browser output for visual review. |
| Apply a focused revision to stored visualization code. |
| Execute a text-only Python check without opening a visualization. |
The packaged dataviz-plot-selection skill guides chart
choice, renderer selection, visual integrity, and screenshot review. Its guidance is included in the
MCP server instructions automatically.
Data support
load_data accepts local paths and HTTP(S) URLs for:
CSV
JSON
JSONL and NDJSON
Parquet
NetCDF (
.nc)
The tool counts or estimates rows before retaining data, profiles large inputs from a bounded sample,
and reports the full detected shape separately from the sample size. Use visualize=False to return
schema, missing values, duplicate counts, descriptive statistics, preview records, and chart
recommendations without creating a visualization.
Run from the terminal
Start the standalone server:
pls serveStart the stdio MCP server:
pls mcpCheck the local Panel service:
pls statusThe longer dataviz-mcp command is also available, but pls is easier to type.
Visual review workflow
sequenceDiagram
participant U as User
participant A as AI assistant
participant M as DataViz MCP
participant P as Panel server
U->>A: Request a visualization
A->>M: screenshot(code)
M->>P: Validate and render private draft
P-->>A: Screenshot and diagnostics
A->>M: edit(draft_id) when needed
A->>M: show(draft_id)
M->>P: Publish reviewed result
P-->>U: Interactive visualization URLThis workflow separates visual checking from publication. A draft can be revised without exposing an unfinished result in the public feed.
Security
DataViz MCP executes Python supplied by a user or AI assistant with the privileges of the account that started the process. Validation is a guardrail, not a sandbox.
Run it only in an environment where you are comfortable executing the submitted code.
Do not expose the local service port to an untrusted network.
Review generated code when it accesses files, credentials, or external services.
Use an isolated virtual environment for demonstrations and development.
Documentation
Development
Clone the project and install the development environment:
git clone https://github.com/SuMayaBee/DataViz-MCP.git
cd DataViz-MCP
pixi install
pixi run postinstall
pixi run testSee the contributing guide for environment setup, testing, linting, documentation, and pull request guidance.
Contributing
Contributions, bug reports, documentation improvements, and visualization examples are welcome.
Fork the repository.
Create a focused branch.
Add the change and its tests or documentation.
Run the test and lint tasks.
Open a pull request with a clear explanation and screenshots when the UI changes.
License
See the repository license for usage and redistribution terms.
This server cannot be deployed
Maintenance
Related MCP Connectors
Renders interactive Chart.js charts and dashboards inline in AI conversations.
Create, read and live-edit visual boards, Kanban plans, Gantt timelines and diagrams with AI agents.
- OleanderOAuthdev.oleander
The all-in-one data stack for agents. Upload files, run SQL, evolve tables, and render charts.
Renders interactive Chart.js charts and dashboards inline in AI conversations. Supports bar, line, area, pie, doughnut, scatter, and radar charts with multi-chart dashboard grids.
Related MCP Servers
- AlicenseAqualityAmaintenanceRenders 45+ interactive chart types, dashboards, and KPI widgets directly inside AI conversations. Supports drill-down, live API polling, 20 themes, and one-click export to PNG, PowerPoint, and A4 documents.4068 npm49Functional Source , Version 1.1, MIT Future
- AlicenseAqualityDmaintenanceEnables AI agents to generate and render charts as PNG, SVG, or WebP images directly in chat interfaces. Supports Chart.js specifications and natural language descriptions for creating visualizations from data.39 npm1MIT
- AlicenseNot gradedqualityNot gradedmaintenanceEnables AI agents to generate beautiful, presentation-ready charts (SVG + PNG) with zero setup, supporting various chart types and styling options.25 npmMIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to create interactive charts, diagrams, and tables displayed on a real-time dashboard, supporting multiple data sources with privacy-focused local execution.1MIT