mcp-vegalite-server
by: isaacwasserman
mcp vegalite server
📌Overview
Purpose: To provide a Model Context Protocol (MCP) server that enables the visualization of data using Vega-Lite syntax for large language models (LLMs).
Overview: The Data Visualization MCP Server is designed to facilitate data management and visualization, allowing users to save data tables and generate visual representations in a straightforward manner using Vega-Lite specifications.
Key Features:
-
Data Saving Tool (
save_data
): This tool allows users to save data tables for later use in visualizations. It stores the data with a specific name and provides confirmation upon successful saving. -
Data Visualization Tool (
visualize_data
): This feature enables the visualization of saved data tables based on Vega-Lite specifications. It can output the results in either a textual format containing the Vega-Lite specification or as a base64 encoded PNG image of the visualization, catering to different user needs.
Data Visualization MCP Server
Overview
A Model Context Protocol (MCP) server implementation that provides an interface for visualizing data using Vega-Lite syntax.
Components
Tools
The server offers two core tools:
-
save_data
Saves a table of data aggregations to the server for later visualization.
Input:name
(string): Name of the data table to be saveddata
(array): Array of objects representing the data table
Returns: success message.
-
visualize_data
Visualizes a table of data using Vega-Lite syntax.
Input:data_name
(string): Name of the data table to be visualizedvegalite_specification
(string): JSON string representing the Vega-Lite specification
Returns:- If
--output_type
is set totext
: success message with an artifact key containing the complete Vega-Lite specification including data. - If
--output_type
is set topng
: base64 encoded PNG image of the visualization using the MPCImageContent
container.
Usage with Claude Desktop
# Add the server to your claude_desktop_config.json
{
"mcpServers": {
"datavis": {
"command": "uv",
"args": [
"--directory",
"/absolute/path/to/mcp-datavis-server",
"run",
"mcp_server_datavis",
"--output_type",
"png" # or "text"
]
}
}
}