Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"visualization-mcp-server": {
"args": [
"matplotlib"
],
"command": "uvx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
A powerful Model Context Protocol (MCP) server for creating interactive data visualizations using matplotlib. This server provides comprehensive visualization tools including relationship graphs, scatter plots, 3D visualizations, and more.
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
uvx 'matplotlib' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
Checked matplotlib against OSV.dev.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in analytics
MCP Server for GCP environment for interacting with various Observability APIs.
⚡ A Simple / Speedy / Secure Link Shortener with Analytics, 100% run on Cloudflare.
MCP server for InsightSentry financial data API - market data, options, screeners, and more
MCP server for Google Lighthouse performance metrics
MCP Security Weekly
Get CVE alerts and security updates for Visualization Mcp Server and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
A powerful Model Context Protocol (MCP) server for creating interactive data visualizations using matplotlib. This server provides comprehensive visualization tools including relationship graphs, scatter plots, 3D visualizations, and more.

$ python3 -m venv .venv --upgrade-deps
$ source .venv/bin/activate
$ pip install "mcp[cli]" httpx
$ pip install matplotlib numpy pandas networkx
git clone https://github.com/xlisp/visualization-mcp-server.git
cd visualization-mcp-server
python visualization_server.py
"visualization": {
"command": "/Users/clojure/Desktop/visualization-mcp-server/.venv/bin/python",
"args": [
"/Users/clojure/Desktop/visualization-mcp-server/visualization_server.py"
]
}
The server provides several visualization tools that can be called via MCP protocol:

Create network diagrams to show relationships between entities:
# Example: Show relationships between A, B, C, D
nodes = ["Alice", "Bob", "Charlie", "Diana"]
edges = [["Alice", "Bob"], ["Bob", "Charlie"], ["Alice", "Charlie"], ["Charlie", "Diana"]]
# Call: create_relationship_graph(nodes, edges, "Social Network")
Parameters:
nodes: List of node namesedges: List of connections (pairs of node names)title: Graph title (optional)node_size: Size of nodes (default: 1000)font_size: Label font size (default: 12)Create basic scatter plots with optional labels and colors:
# Example: Basic scatter plot
x_data = [1, 2, 3, 4, 5]
y_data = [2, 5, 3, 8, 7]
labels = ["Point A", "Point B", "Point C", "Point D", "Point E"]
# Call: create_scatter_plot(x_data, y_data, labels, title="My Scatter Plot")
Parameters:
x_data: X-axis valuesy_data: Y-axis valueslabels: Point labels (optional)colors: Point colors (optional)title, x_label, y_label: Chart labelssize: Point size (default: 50)Visualize data points grouped by categories:
# Example: Classification visualization
x_data = [1, 2, 3, 4, 5, 6]
y_data = [2, 3, 1, 5, 4, 6]
categories = ["Type A", "Type A", "Type B", "Type B", "Type C", "Type C"]
# Call: create_classification_plot(x_data, y_data, categories)
Parameters:
x_data: X-axis valuesy_data: Y-axis valuescategories: Category labels for each pointtitle, x_label, y_label: Chart labels
Create 3D plots with multiple visualization types:
# Example: 3D scatter plot
x_data = [1, 2, 3, 4, 5]
y_data = [2, 4, 1, 5, 3]
z_data = [3, 1, 4, 2, 5]
# Call: create_3d_plot(x_data, y_data, z_data, plot_type="scatter")
Parameters:
x_data, y_data, z_data: 3D coordinatesplot_type: "scatter", "surface", or "wireframe"title, x_label, y_label, z_label: Chart labels# create_histogram(data, bins=30, title="Distribution")
# create_line_plot(x_data, y_data, line_style="-", color="blue")
# create_heatmap(data_matrix, x_labels, y_labels, colormap="viridis")