Vega-Lite

Vega-Lite

Generate visualizations from fetched data using the VegaLite format and renderer.

93
Stars
24
Forks
0
Releases

Overview

A Model Context Protocol (MCP) server implementation that provides the LLM an interface for visualizing data using Vega-Lite syntax. The server exposes two core tools: save_data for persisting a data table under a given name, and visualize_data for rendering the saved data as a Vega-Lite visualization by supplying the data_name and a Vega-Lite specification in JSON string form. Output behavior is configurable via the --output_type flag: textual mode returns a success message plus an artifact containing the full Vega-Lite spec with embedded data, while PNG mode returns a base64-encoded image through the ImageContent container. The README also shows how to wire this server into Claude Desktop by adding an MCP server entry with an output_type option, enabling prompts to request and receive visualizations as either specs or rendered images.

Details

Owner
isaacwasserman
Language
Python
License
Updated
2025-12-07

Features

save_data

Save a table of data aggregations to the server for later visualization. Input: name (string): data table name; data (array): array of objects representing the data table. Returns: a success message.

visualize_data

Visualize a saved data table using Vega-Lite. Input: data_name (string) and vegalite_specification (string) containing a JSON Vega-Lite spec. Returns: text output with a success message and an artifact containing the complete Vega-Lite spec with data, or a PNG image via ImageContent when output_type is png.

Output type configurability

Configure output_type to text or png to receive either the Vega-Lite spec (with data) or a base64-encoded PNG image of the visualization.

Audience

Data ScientistsVisualize saved data tables via Vega-Lite in LLM-assisted workflows.
LLM DevelopersExpose data visualization capabilities to language models through MCP endpoints.
Claude Desktop users / BI engineersIntegrate visualization capabilities into workflows using Claude Desktop config with --output_type settings.

Tags

MCPdata visualizationVega-Litevega-liteLLMdata storagevisualizationImageContentClaude Desktop