Data Visualization MCP Server

by Mavline

1 stars
349 downloads
Not rated
GitHub

About

LLM-connected data visualization workflow using Vega-Lite.

Details

Author
Mavline
GitHub stars
1
Downloads
349
Categories
Search

- Save named tabular datasets for later visualization.
- Generate Vega-Lite visualizations from saved datasets.
- Return visualization output as text/spec or PNG images.
- Support stdio transport for local MCP clients.
- Include an SSE/FastAPI path for integration experiments.
- Store generated visualization files locally during runs.

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:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Data Visualization MCP Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install using uv or another Python environment manager with Python 3.10+. Run the server with uv run mcp_server_vegalite --output-type png for PNG output or uv run mcp_server_vegalite --output-type text for text/spec artifacts. The server exposes two core tools: one to save a named table of JSON-like rows, and another to accept a Vega-Lite specification, attach the saved data, render the chart, and return the result.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "data visualization mcp server": {
            "mcp-server-vegalite": {
                "command": "uv",
                "args": [
                    "sync"
                ]
            }
        }
    }
}

McpServers

{
    "mcp-server-vegalite": {
        "command": "uv",
        "args": [
            "sync"
        ]
    }
}

LLM-connected Data Visualization Workflow

What this project demonstrates

This project demonstrates a technical integration layer that lets an LLM-connected workflow store tabular data and render Vega-Lite visualizations. The repository implements a Model Context Protocol server, but the business-facing proof is broader: connecting language-model workflows to structured data and chart generation.

The project is useful as proof of work for AI-assisted reporting, data visualization workflows, analytics prototypes, and integration layers between LLMs and business data.

Use case

A user or AI workflow has tabular data and needs to turn it into a chart without manually moving between tools. The server exposes tools for saving table-like data and generating a Vega-Lite visualization from that saved data. Output can be returned as text/spec data or as a PNG image.

Features

- Save named tabular datasets for later visualization.
- Generate Vega-Lite visualizations from saved datasets.
- Return visualization output as text/spec artifacts or PNG images.
- Support stdio transport for local MCP clients.
- Include an SSE/FastAPI path for integration experiments.
- Store generated visualization files locally during runs.

Technical stack

- Runtime: Python 3.10+.
- Protocol layer: Model Context Protocol Python SDK.
- API/server experiments: FastAPI and uvicorn.
- Visualization: Vega-Lite through vl-convert-python.
- Packaging: pyproject.toml with a console script entrypoint.

Architecture

The server exposes two core tools. The first saves a named table of JSON-like rows. The second accepts a Vega-Lite specification, attaches the saved data, renders the chart, and returns either a visualization artifact or PNG image content. This keeps the data handoff explicit and makes the visualization step reproducible.

How to run locally

Prerequisites:

- Python 3.10 or newer.
- uv or another Python environment manager.

Install and run with uv:

uv sync
uv run mcp_server_vegalite --output-type png

Alternative output:

uv run mcp_server_vegalite --output-type text

Portfolio notes

This repository can mention MCP for technical readers, but acty.dev should not sell MCP as a standalone service line. The client-facing framing is LLM-connected data visualization and analytics workflow integration.

This repository is a portfolio/proof-of-work project. It does not include private client data, production credentials, internal datasets, or confidential business logic.

Related acty.dev proof page: /examples/llm-data-visualization/.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.