plotting-mcp
MCP server that transforms CSV data into visualizations
Install / Use
claude mcp add StacklokLabs -- npx -y github:StacklokLabs/plotting-mcpIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
Data & AnalyticsSupported Platforms
Our assessment of plotting-mcp
plotting-mcp scores 73/100 on our quality scale, 550th of 595 Data & Analytics skills we index.
Its MCP Server is 4.3 KB long, well organised into 20 sections with 10 code examples: a solid amount of guidance for an agent.
It has 10 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated 22 days ago, so plotting-mcp is actively maintained.
- Our last check on 2026-10-21 found the source still online.
- It is released under the Apache-2.0 license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 92/100, with 1 caution from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
Safety scan
No issues foundOur scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful.
AI review by kimi-k2.7-code on 2026-09-24. Automated pattern scan on 2026-09-24. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.
plotting-mcp compared with similar skills
All 4 of these similar skills score higher than plotting-mcp; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| plotting-mcp (this skill)by StacklokLabs | 73 | 10 | 22d ago | MCP Server |
| Agent-Reachby Panniantong | 100 | 109.2k | today | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 78.9k | today | CLAUDE.md |
| CowAgentby zhayujie | 100 | 47.8k | today | CLAUDE.md |
| Scraplingby D4Vinci | 100 | 97.9k | today | MCP Server |
Frequently asked questions
- How do I install plotting-mcp?
- Run
claude mcp add StacklokLabs -- npx -y github:StacklokLabs/plotting-mcp. The install tabs above show the steps for each supported agent. - Which AI agents does plotting-mcp work with?
- It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
- Is plotting-mcp safe to use?
- Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful. It is Apache-2.0-licensed and scores 92/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is plotting-mcp still maintained?
- The repository was last updated 22 days ago, so plotting-mcp is actively maintained.
Skill content
View source on GitHub📊 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 install
Using uv
uv sync
Usage
Running the Server
uv run plotting-mcp
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)
- Customize with
- 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:latest
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:
kubectl apply -f toolhive-pvc.yaml
- Deploy 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.yaml
- Once 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 check
Related Skills
Agent-Reach
109.2kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
headroom
78.9kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
CowAgent
47.8kOpen-source personal AI assistant & Agent Harness. Plans tasks, runs tools and skills, self-evolves with memory and knowledge. Multi-agent, multi-model, multi-channel. Lightweight, extensible, one-line install.
Scrapling
97.9k🕷️ The BEST Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
