Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Plotting MCP Servercreate a bar chart from this sales data showing revenue by product category"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
š Plotting MCP Server
A MCP (Model Context Protocol) server that transforms CSV data into beautiful visualizations. Built with Python and optimized for seamless integration with AI assistants and chat applications.
⨠Features
š Multiple Plot Types: Create line charts, bar graphs, pie charts, and world maps
š Geographic Visualization: Built-in support for plotting coordinate data on world maps using Cartopy
š§ Flexible Parameters: Fine-tune your plots with JSON-based configuration options
š± Chat-Ready Output: Returns base64-encoded PNG images perfect for AI chat interfaces
ā” Fast Processing: Efficient CSV parsing and plot generation with pandas and matplotlib
Installation
Using Makefile
Using uv
Usage
Running the Server
The server runs on port 9090 by default.
Tools
generate_plot
Transform your CSV data into stunning visualizations.
Parameters:
csv_data(str): CSV data as a stringplot_type(str): Plot type -line,bar,pie, orworldmapjson_kwargs(str): JSON string with plotting parameters for customization
Plotting Options:
Line/Bar Charts: Use Seaborn parameters (
x,y,huefor data mapping)World Maps: Automatic coordinate detection (
lat/latitude/yandlon/longitude/x)Customize with
s(size),c(color),alpha(transparency),marker(style)
Pie Charts: Supports single column (value counts) or two columns (labels + values)
Returns: Base64-encoded PNG image ready for display
š¤ AI Assistant Integration
Perfect for enhancing AI conversations with data visualization capabilities. The server returns plots as base64-encoded PNG images that display seamlessly in:
LibreChat: Direct integration for chat-based data analysis
Claude Desktop: Through
mcp-remotecommand to transform from HTTP transport to stdio
Custom AI Applications: Easy integration via MCP protocol
Development Tools: Compatible with any MCP-enabled environment
Image Format: High-quality PNG with configurable DPI and sizing
š ToolHive Deployment
Deploy and manage your plotting server effortlessly with ToolHive - a platform that provides containerized, secure environments for MCP servers across UI, CLI, and Kubernetes modes.
Benefits:
š Secure Containerization: Isolated environments with comprehensive security controls
āļø Multiple Deployment Options: UI, CLI, and Kubernetes support
š§ Developer-Friendly: Seamless integration with popular development tools
š Resources:
Build the Docker image
Run with ToolHive
Run locally
Run with ToolHive in K8s with ToolHive operator
Create a PVC for the MCP server. This is needed since the plotting libraries Matplotlib and Cartopy require a writable filesystem to cache data:
Deploy the MCP server in K8s. In the
toolhive-deployment.yaml, you can customize theimagefield to point to your image registry.
Once the MCP server is deployed, do port-forwarding
š ļø Development
Built with modern Python tooling for a great developer experience.
Tech Stack:
š Python 3.13+: Latest Python features
š Seaborn & Matplotlib: Professional-grade plotting
š Cartopy: Advanced geospatial visualization
ā” FastMCP: High-performance MCP server framework
š§ UV: Fast Python package management