Plotting MCP Server
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
make installUsing uv
uv syncUsage
Running the Server
uv run plotting-mcpThe 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
{
"mcpServers": {
"plotting": {
"command": "uvx",
"args": [
"--from", "/path/to/plotting-mcp",
"plotting-mcp", "--transport=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
docker build -t plotting-mcp .Run with ToolHive
Run locally
thv run --name plotting-mcp --transport streamable-http plotting-mcp:latestRun 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:
kubectl apply -f toolhive-pvc.yamlDeploy the MCP server in K8s. In the
toolhive-deployment.yaml, you can customize theimagefield to point to your image registry.
kubectl apply -f toolhive-deployment.yamlOnce the MCP server is deployed, do port-forwarding
kubectl port-forward svc/mcp-plotting-mcp-proxy 9090:9090🛠️ 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
Code Quality
# Format code and fix linting issues
make format
# Type checking
make typecheck
# Or use uv directly
uv run ruff format .
uv run ruff check --fix .
uv run ty checkThis server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/StacklokLabs/plotting-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server