Self-hosted analytics
Dashboards your agents can drive.
Self-hosted analytics. Built for autonomy.
86 chart types138 MCP tools294 API endpoints0 bytes egress
What goes in
One deterministic renderer · No CDNs, no telemetry, no third parties
What comes out
The engine that renders clarity at scale.
86 chart types, one deterministic renderer. Same input, same output, every time.
charts below rendered by the engine, from this repo's real data
86
chart types
From bar to sankey. Built in, battle tested.
138
MCP tools
One stdio server. Agents get every control.
294
API endpoints
Render, analyze, schedule, report.
0
bytes egress
No CDNs, no telemetry, no third parties.



Shown: the VizPane console with demo data.

For agents
Your agents drive every chart.
A key-protected REST API and a 138-tool MCP server give agents the same controls you have: render charts, assemble dashboards, schedule monitors, file reports.
- POST /api/render
- POST /api/agent/dashboard
- POST /api/analyze
Analyst
An analyst inside the engine.
Every render can ship with KPIs, outliers, and a written narrative. VizPane reads the rows, flags what moved, and explains the trend in plain language.
commits read
200
this repo
days scanned
79
one window
peak, one day
39
flagged

Privacy
Your data never leaves the building.
VizPane runs on your hardware, renders on your CPU, and answers only to your keys. No CDNs, no telemetry, no third parties.
data in
local only

data out
never offsite
Setup
Running in three steps.
- 01
Register a key
POST your project's name to /api/register. The key comes back once, then guards every call.
- 02
Render anything
Send rows to /api/render. Sanitized SVG or PNG comes back, deterministic and cached.
- 03
Hand it to agents
Point any agent at the MCP server. All 138 tools, same key, same guardrails.
curl -X POST http://localhost:7733/api/register -d '{"name":"my-project"}'curl -X POST http://localhost:7733/api/render -H "x-api-key: $KEY" -d @chart.jsonVIZPANE_API_KEY=$KEY npm run mcp
Self-hosted · zero data egress