MCP Connector

Generate Data Visualizations with Vega-Lite

Vega-Lite MCP Server lets AI assistants save data tables and generate Vega-Lite charts as PNG images or specifications.


77
Spark score
out of 100
Updated May 2025
Version 1.0.0
Models
universal

Add to Favorites

Why it matters

Enable Large Language Models to generate data visualizations directly from data tables. This asset allows LLMs to save data and create visual representations using Vega-Lite syntax, outputting them as PNG images or JSON specifications.

Outcomes

What it gets done

01

Save aggregated data tables for visualization.

02

Generate visualizations using Vega-Lite specifications.

03

Output visualizations as PNG images or JSON.

04

Integrate data directly into Vega-Lite specifications.

Install

Add it to your toolbox

Run in your project directory:

curl -fsSL https://spark.entire.vc/get/vb-vega-lite | bash

Capabilities

Tools your agent gets

save_data

Save an aggregated data table to the server for subsequent visualization

visualize_data

Visualize a data table using Vega-Lite syntax

Overview

Vega-Lite MCP Server

Vega-Lite MCP Server lets an AI assistant save a named data table and then visualize it with a Vega-Lite specification, returning either a rendered PNG image or the full specification as an artifact. Use it when an assistant needs to turn data it has computed into a chart within the conversation; set output_type to png for an inline rendered image.

What it does

Vega-Lite MCP Server gives an LLM a simple interface for visualizing data using Vega-Lite syntax. An assistant first saves a table of data aggregations to the server under a name, then generates a chart by supplying a Vega-Lite JSON specification referencing that data - getting back either the full Vega-Lite spec with data embedded, or a rendered PNG image, depending on server configuration.

When to use - and when NOT to

Use this when you want an assistant to turn tabular data it has computed or been given into a chart - bar charts, line plots, scatter plots, or any Vega-Lite-expressible visualization - directly inside a conversation. It's a straightforward save-then-visualize workflow, not a full BI or dashboarding tool. It is not useful if you need interactive, client-side rendered charts inside the chat itself when running in --output_type text mode - that mode returns the specification as an artifact rather than a rendered image, so you need png mode for an inline image.

Capabilities

  • save_data: saves a named table of data (an array of objects) to the server for later visualization.
  • visualize_data: renders a saved data table using a supplied Vega-Lite JSON specification; returns either a success message with the full spec as an artifact (text output mode) or a base64-encoded PNG image (png output mode).

How to install

Add the server to claude_desktop_config.json:

{
  "mcpServers": {
    "datavis": {
        "command": "uv",
        "args": [
            "--directory",
            "/absolute/path/to/mcp-datavis-server",
            "run",
            "mcp_server_datavis",
            "--output_type",
            "png"
        ]
    }
  }
}

Set --output_type to png for a rendered image or text for the raw Vega-Lite specification with data included.

Who it's for

Anyone using an AI assistant to explore or present data who wants charts generated directly from conversation - turning a computed table into a Vega-Lite visualization without leaving the chat interface.

Source README

MseeP.ai Security Assessment Badge

Data Visualization MCP Server

smithery badge

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

# 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"
        ]
    }
  }
}

FAQ

Common questions

Discussion

Questions & comments · 0

Sign In Sign in to leave a comment.