Renders MatPlotLibNet charts to PNG, SVG or PDF from a JSON spec an AI agent writes.
MCPpedia last refreshed this data
io.github.xkqg/matplotlibnet is an MCP server that renders MatPlotLibNet charts to PNG, SVG or PDF from a JSON spec an AI agent writes. Its tool list has not been published yet over stdio, sse and http, requires no API key, and scores 88/100 on MCPpedia's security, maintenance and efficiency rubric.
Config is the same across clients - only the file and path differ.
{
"mcpServers": {
"io-github-xkqg-matplotlibnet": {
"args": [
"-y",
"@matplotlibnet/angular"
],
"command": "npx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Renders MatPlotLibNet charts to PNG, SVG or PDF from a JSON spec an AI agent writes.
Run this in your terminal to verify the server starts. Then let us know if it worked - your result helps other developers.
npx -y '@matplotlibnet/angular' 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 @matplotlibnet/angular 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 ai-ml / design
A cross-platform desktop application for managing AI Agents and MCP Servers. 一款用于管理AI智能体与MCP服务器的跨平台桌面应用程序。
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Design tokens from any live site: colours, type, spacing, components, drift against a baseline.
An open-source AI agent that brings the power of Gemini directly into your terminal.
MCP Security Weekly
Get CVE alerts and security updates for io.github.xkqg/matplotlibnet and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
MatPlotLibNet is a charting library for C#, .NET 10 and .NET 8, inspired by matplotlib. It draws 91 chart types and saves them as SVG, PNG, PDF or an animated GIF, straight from your server code. It does not need a JavaScript framework, a WebView or a hosted service.
It has a fluent API and it works with dependency injection. It ships with 148 colormaps, 30 themes, 13 map
projections with embedded Natural Earth data, LaTeX-style MathText, text in any script, O(1) streaming (57 of its 59
technical indicators have a streaming form), a control room (Plt.OpsDashboard() — KPI tiles, state timelines, one shared trend window),
and an MCP server so an AI agent can draw with it. Charts render natively in Blazor, WPF, MAUI, Avalonia, Uno and
ASP.NET Core, inside a Verso notebook cell, and TypeScript clients are there for Angular, React and Vue.
1.29.0 puts shapes on an axes and lets an axis show another unit. A rectangle, a polygon, an arrow, a circle, an
ellipse, a wedge and an arc (AddPatch) are placed in data coordinates and bend with the axes they stand on, as
matplotlib's patches do: on a log axis a circle bends and a straight edge stays straight. They count in the automatic
range, a labelled one has a row in the legend, and they travel through JSON and the MCP server. A top or side axis can
show the same values in another unit through a function and its inverse (Link with an AxisTransform: degrees
Celsius against Fahrenheit, a frequency against its period), as matplotlib's secondary_xaxis and secondary_yaxis
do. The top X axis now follows its own tick locator and scale, a series on it follows a log primary Y axis, a
translucent line or text keeps its opacity in the SVG, a figure built with AddSubPlot(rows, cols, index) keeps its
cell through JSON, and the MCP server draws a spec that holds shapes, spans or annotations and no series. The three
rows that were still to come on the roadmap are done.
1.28.0 draws more of what matplotlib draws. Stairs, VLines, HLines and Triplot join the chart verbs, and a
sixth family of verbs (Psd, Csd, Cohere, MagnitudeSpectrum, PhaseSpectrum, AngleSpectrum, Acorr,
Xcorr) draws a sampled signal in the frequency domain, and its correlation, with matplotlib's defaults; the twelve
bring the chart verbs to thirty-eight. A contour label follows its line, upright and in the line's colour; a figure
carries text, a legend and an image of its own (FigText, FigLegend, FigImage), drawn on a figure with no subplot
too; and an inset marks the region it zooms into (IndicateZoom). The spectrogram windows each frame once and draws
its rows at the frequencies they are, a line that is downsampled keeps its gaps, and a line set to LineStyle.None
draws no line. A figure's texts, legend and images and an inset's zoom travel through JSON and the MCP server.
1.27.0 finishes the roadmap. A word cloud, a chord diagram, a ternary plot and a Piper diagram are new charts, a selection in one chart can light the same rows in another, and an animation can be saved as one SVG that steps through its frames. A live chart sends its own gestures, one handler interface receives them, and several viewers of one chart share it by design. The native controls return Home to the first view, the MAUI view reaches the same functions, and the Window