Data Visualization MCP Server
About
A Model Context Protocol (MCP) server that gives LLMs an interface to visualize data using Vega-Lite syntax. It provides tools to save data tables and generate visualizations.
Explore
- Save named data tables for later visualization.
- Generate Vega-Lite visualizations from saved data.
- Output as PNG image or text with complete specification.
- Integrates with Claude Desktop via MCP.
##
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Data Visualization MCP ServerCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
{
"mcpServers": {
"datavis": {
"command": "uv",
"args": [
"--directory",
"/absolute/path/to/mcp-datavis-server",
"run",
"mcp_server_datavis",
"--output_type",
"png" # or "text"
]
}
}
}
save_data
Save a table of data agregations to the server for later visualization
name
(string): Name of the data table to be saved
data
(array): Array of objects representing the data table
visualize_data
Visualize a table of data using Vega-Lite syntax
data_name
(string): Name of the data table to be visualized
vegalite_specification
(string): JSON string representing the Vega-Lite specification
The server offers two core tools:
- save_data
- Save a table of data agregations to the server for later visualization
- Input:
- name (string): Name of the data table to be saved
- data (array): Array of objects representing the data table
- Returns: success message
- visualize_data
- Visualize a table of data using Vega-Lite syntax
- Input:
- data_name (string): Name of the data table to be visualized
- vegalite_specification (string): JSON string representing the Vega-Lite specification
- Returns: If the --output_type is set to text, returns a success message with an additional artifact key containing the complete Vega-Lite specification with data. If the --output_type is set to png, returns a base64 encoded PNG image of the visualization using the MPC ImageContent container.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"data visualization mcp server": {
"datavis": {
"command": "uv",
"args": [
"--directory",
"/absolute/path/to/mcp-datavis-server",
"run",
"mcp_server_datavis",
"--output_type",
"png"
]
}
}
}
}
McpServers
{
"datavis": {
"command": "uv",
"args": [
"--directory",
"/absolute/path/to/mcp-datavis-server",
"run",
"mcp_server_datavis",
"--output_type",
"png"
]
}
}
Overview
A Model Context Protocol (MCP) server implementation that provides the LLM an interface for visualizing data using Vega-Lite syntax.Components
Tools
The server offers two core tools:- save_data
- Save a table of data agregations to the server for later visualization
- Input:
- name (string): Name of the data table to be saved
- data (array): Array of objects representing the data table
- Returns: success message
- visualize_data
- Visualize a table of data using Vega-Lite syntax
- Input:
- data_name (string): Name of the data table to be visualized
- vegalite_specification (string): JSON string representing the Vega-Lite specification
- Returns: If the --output_type is set to text, returns a success message with an additional artifact key containing the complete Vega-Lite specification with data. If the --output_type is set to png, returns a base64 encoded PNG image of the visualization using the MPC ImageContent container.
Usage with Claude Desktop
```python
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.


