microcharts
About
Find, wire, and render microcharts — word-sized React charts with generated alt text.
Details
- Author
- ganapativs
- Categories
- Developer Tools
Jump to
Setup
Install microcharts in your MCP client (Claude Desktop, Cursor, Windsurf, and others).
Repository: https://github.com/ganapativs/microcharts
Follow the installation instructions in the repository README, then restart your MCP client.
An MCP server and Vercel AI-SDK toolset formicrocharts— let a modelfindthe right word-sized chart,getexactly how to wire it, andrenderit to a finished SVG with real alt text.
microcharts is built so a model canwritecharts. This is how a modelcallsthem: not "emit some grammar and hope the client renders it," but a tool call that returns the real library's static SVG, honest by construction, with the generateddescribeSeriesaccessible name attached.
- Runs on your machine.stdio server, distributed on npm. Nothing is hosted; no account, no key, no data leaves.
- Works anywhere.The render tool returns self-contained SVG, so a chat surface that can't run React can still show a real chart.
- Zero setup.npx @microcharts/mcp— the package brings its own copy of@microcharts/react.
Add it to any MCP client. ForClaude Desktop(claude_desktop_config.json) orCursor(.cursor/mcp.json):
{ "mcpServers": { "microcharts": { "command": "npx", "args": ["-y", "@microcharts/mcp"] } } }
That's it — the client spawns the server over stdio on demand.
Rank the catalog against a plain-language question. Start here when you know the question, not the chart.
find_microchart({ question: "is it trending?" }) → [{ slug: "sparkline", name: "Sparkline", why: "inline trend", dataShape: "number[]" }, …]
Everything needed to wire one chart: import paths, its props plus the shared props, data shape, best/avoid guidance, a copy-runnable example, andsample— that same example as JSON props, ready to pass straight torender_microchart.
get_microchart({ slug: "bullet" }) → { staticImport: "@microcharts/react/bullet", props: [...], example: { code: "<Bullet value={72} target={80} bands={[50, 90]} title=\"Quota\" />" }, sample: { value: 72, target: 80, bands: [50, 90], title: "Quota" }, … }
Every chart takes its own data shape —number[]for a sparkline,{ label, value }[]for a dot plot,{ open, high, low, close }[]for OHLC — sosampleis the shortest path from "which chart" to "a render that works".
render_microchart(type, data?, props?, format?)
Render to a finished, self-contained SVG plus its generated alt text. Pass the series asdata; put other props (value,target,curve,color,width) inprops.
render_microchart({ type: "sparkline", data: [132, 148, 141, 165, 159, 182] }) → { svg: "<svg …><style>…</style>…</svg>", summary: "Trending up 38%. Range 132 to 182. Last value 182.", mimeType: "image/svg+xml", width: 80, height: 20 }
formatis"svg"(default, styles embedded — drops into any surface) or"bare"(no CSS, for pages that already load@microcharts/react/styles.css).
Missing or wrong-shaped data is rejected by name rather than passed through to React, so a caller gets"dot-plot" needs \data. Data shape: { label, value }[]. Call get_microchart("dot-plot") for a ready-to-render sample. instead of a stack trace. Oversized payloads are refused too — a microchart is a word-sized mark.
It also exposes two resources:microcharts://catalog(every chart + metadata) andmicrocharts://agent-setup(the prompt for wiring microcharts into a codebase).
The same three capabilities ship as AI-SDK tools (on the/ai-sdksubpath, so the core never pulls inai):
import { microchartsTools } from "@microcharts/mcp/ai-sdk"; import { streamText } from "ai"; const result = streamText({ model, tools: microchartsTools, prompt: "Summarise this quarter and show the revenue trend as a chart.", });
The functions are exported directly too —findChart,getChart,renderChart— if you want them without the tool wrapper.
This server bundles the chart catalog and renders with@microcharts/react(installed as a normal dependency). Its version tracks its own changes; a compatible library is pulled in automatically. The library version a given snapshot was cut from is on themicrocharts://catalogresource.
- Docs:https://microcharts.dev/docs/mcp
- Library:@microcharts/react
- Source:https://github.com/ganapativs/microcharts/tree/main/packages/mcp
This is a web browser that enables your coding agent, such as Claude Code, to visit websites on your behalf and assist you in identifying bugs or creating UI test cases.
Create crafted UI components inspired by the best 21st.dev design engineers.
Bring agent evaluations, observability, and synthetic test set generation directly into your IDE for free with Galileo's new MCP server
An MCP server to help AI assistants to answer questions and generate AccelByte Extend SDK code more effectively .
MCP server for AI Diagram Maker — generate beautiful software engineering diagrams directly inside Cursor, Claude Desktop, Claude Code, or any MCP-compatible AI agent
ALAPI MCP Tools,Call hundreds of API interfaces via MCP
AI-powered SVG animation generator that transforms static files into animated SVG components using the Allyson platform
MCP server that gives AI assistants on-demand access to 1,500+ amCharts docs, ~300 code examples, and 1000+ class API references.
APIMatic MCP Server is used to validate OpenAPI specifications using APIMatic. The server processes OpenAPI files and returns validation summaries by leveraging APIMatic’s API.
One shared context layer for AI agents and humans — live API specs, DB schemas, and versioned contracts across repos so every agent and teammate works from the same source of truth.
Build and deploy full-stack Next.js apps with 98 tools for React, AWS, and MongoDB
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





