x402-dataviz-mcp
Click on "Deploy 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., "@x402-dataviz-mcp Render a bar chart of my monthly expenses"
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.
x402-dataviz-mcp
A free MCP (Model Context Protocol) server that renders bar, line, and area charts from structured data and returns clean, hand-designed SVG. No API key, no payment, no rate limit games — just an MCP tool any MCP client can call.
This is the open funnel twin of a paid, x402-gated HTTP API:
x402-dataviz-poc.theliminalguy.workers.dev
— POST /chart, $0.01 USDC on Base per call via the
x402 payment protocol, for production/high-volume or
non-MCP (plain HTTP) use. Same renderer, same output, just billed per call
instead of free-via-MCP.
Why this exists
The x402 Bazaar (~14,800 agent-payable APIs at time of writing) has zero coverage in "structured data → clean chart image." This MCP server is the free/local half of filling that gap — try it for nothing via MCP; reach for the paid HTTP endpoint when you need it at volume or outside an MCP client.
Related MCP server: PlotMCP Server
What it does
One tool, render_chart, takes a chart type + structured data points and
returns a rendered SVG string. Rendering is hand-rolled (no headless
browser, no native binaries, no heavy charting framework) — just
string-built SVG, so it's fast with zero runtime dependency risk.
The design bar is the actual differentiator: a real categorical color palette (validated for colorblind-safety, not eyeballed), considered spacing, thin marks with rounded bar ends, 2px surface gaps between bars, ringed line markers, direct end-labels, and full light/dark theme support — not the default-blue/red/green look of a generic charting library.
Install & run
npx x402-dataviz-mcpOr add it to an MCP client config (e.g. Claude Desktop's
claude_desktop_config.json):
{
"mcpServers": {
"dataviz": {
"command": "npx",
"args": ["-y", "x402-dataviz-mcp"]
}
}
}Tool: render_chart
Input:
{
"type": "bar" | "line" | "area",
"title": "optional string",
"theme": "light" | "dark", // defaults to "light"
"data": [
{ "x": "Q1", "values": { "Revenue": 128000, "Cost": 84000 } },
{ "x": "Q2", "values": { "Revenue": 146500, "Cost": 91200 } }
]
}values can hold one or more named series; series colors are assigned from
a fixed, colorblind-validated order (never generated/cycled). A legend
renders automatically for 2+ series; a single series needs no legend (the
title already names it).
Output: an SVG string (as MCP tool text content) rendering the requested chart.
Local development
npm install
npm run dev # runs src/index.ts directly on stdio via tsx
npm run build # compiles to dist/ for the published npm packageWhen to use the paid HTTP twin instead
Use POST /chart
on the paid Worker instead of this MCP server when:
You're calling from outside an MCP client (plain HTTP, any language).
You need production/high-volume use and want to pay per call rather than rely on a free tool being available indefinitely.
Your agent already speaks x402 (e.g. via
x402-fetch/x402-axios) and can pay $0.01 USDC on Base per request.
Both routes call the exact same renderChart() function — output is
byte-for-byte identical.
License
MIT
Available Tools
1 toolrender_chartRender ChartA
Render a bar, line, or area chart from structured data and return it as an SVG string. Free, unauthenticated MCP tool — the open twin of the paid x402-gated dataviz HTTP API (https://x402-dataviz-poc.theliminalguy.workers.dev/chart), same renderer, no payment required.
Inputs: data (required), type (required), theme, title.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 1 tool
With only one tool in the server, there is zero possibility of confusing it with another tool. The purpose of the tool is clearly described, covering bar, line, and area charts.
The single tool name 'render_chart' follows a clean verb_noun pattern. With only one tool, naming consistency is trivially achieved.
The server contains exactly one tool, which feels thin for a typical MCP server. However, the scope is narrow (chart rendering), so the single tool is not entirely unreasonable, but it is borderline.
The tool covers the core function of rendering a chart, but lacks auxiliary operations such as data validation, chart configuration, or output handling. For a focused dataviz server, this may suffice but leaves some gaps for more complex workflows.
Maintenance
Related MCP Connectors
Bar-first MCP server for Tabula chart authoring, PNG rendering, and editor handoff.
Create, inspect, manage, and render charts and data visualizations as SVG/PNG or interactive embeds.
Chartbrew connects your data to dashboards. Explore data and create chart previews through MCP.
Darwin-hosted AntV bar, column and line charts, plus bounded CSV bar charts. Free PNG output.
Related MCP Servers
- AlicenseAqualityDmaintenanceA MCP server for data visualization. It exposes tools to render charts (line, bar, pie, scatter, heatmap, etc.) from data and returns plots as either image/text/mermaid diagram.24MIT
- FlicenseAqualityDmaintenanceAn MCP server that enables LLMs to generate high-quality SVG charts using matplotlib, supporting various plot types like line, bar, and heatmaps. It provides flexible configuration for dimensions and axis scales, returning either raw SVG content or paths to saved image files.9-
- AlicenseAqualityDmaintenanceA modern Python MCP server for rendering customizable charts (line, bar, pie, scatter, area, combined dashboards) with Plotly, supporting export to PNG, SVG, and base64, and terminal charts with ANSI output.91MIT
- AlicenseNot gradedqualityDmaintenanceA professional chart generation MCP server for Claude Code. Drop a charts-theme.json into any project and Claude can generate beautiful, on-brand charts output as slide-ready PNG and SVG files — fully local, no API keys required.MIT