Plotting

Transforms CSV data into visualizations (line, bar, pie, world map) with base64 PNG output for chat and AI integrations.
  • python

7

GitHub Stars

python

Language

5 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "stackloklabs-plotting-mcp": {
      "command": "uvx",
      "args": [
        "--from",
        "/path/to/plotting-mcp",
        "plotting-mcp",
        "--transport=stdio"
      ]
    }
  }
}

Plotting MCP Server turns CSV data into ready-to-use visuals. It supports multiple chart types, geospatial maps, and chat-friendly PNG outputs, making it easy to integrate data visualizations into AI-assisted workflows and chat interfaces.

How to use

You interact with the Plotting MCP Server through an MCP-enabled client. Start by running the server locally or in your deployment, then send it CSV data along with a requested plot type and optional configuration. The server will return a base64-encoded PNG image that you can display directly in chats or UI panels.

Typical workflows include transforming a CSV snippet into: line charts, bar graphs, pie charts, or a world map. You can customize the visuals using a JSON-based set of plotting parameters to control mapping, colors, sizes, transparency, and markers. For geographic plots, the server automatically detects coordinates and plots them on a world map, with options to tweak style and appearance.

The output is designed for chat-friendly interfaces, delivering a high-quality PNG image that can be embedded or displayed inline in conversations and dashboards.

How to install

Prerequisites you need before installing: Python 3.13 or newer, npm/uvx tooling if you plan to run MCP commands through your preferred runtime, and container tooling if you choose Docker-based deployment.

Option 1: Local installation using common MCP tooling

make install
uv sync

Option 2: Run the server directly with the MCP runtime

uv run plotting-mcp

The server will be available by default on port 9090.

## Additional notes and deployment options

Docker-based deployment is supported. Build a Docker image for the plotting MCP server and run it in any container-enabled environment.

ToolHive provides deployment options for UI, CLI, and Kubernetes modes. You can deploy locally via ToolHive or export to Kubernetes and expose the MCP server as needed. If you are deploying on Kubernetes, ensure a writable filesystem is available for the plotting libraries to cache data.

For local testing, you can generate a plot by sending your CSV data and specifying the plot type and any customization parameters. The returned image is a base64-encoded PNG suitable for embedding in chats or dashboards.

## Examples and troubleshooting

Common plot types you can request include: line, bar, pie, and worldmap. For line and bar charts, map your CSV columns to x, y, and optionally hue. For world maps, coordinates are detected from latitude/longitude fields.

If you encounter issues starting the server, verify you are using Python 3.13+, ensure all plotting libraries (Seaborn, Matplotlib, Cartopy) are installed, and confirm that the port 9090 is not in use by another process.

## Available tools

### generate\_plot

Transforms CSV data into visualizations by plotting data according to the specified type (line, bar, pie, worldmap) and customization options. Returns a base64-encoded PNG image.
Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational
Plotting MCP Server - stackloklabs/plotting-mcp | VeilStrat