Generate beautiful, presentation-ready charts (SVG + PNG). Supports 14+ chart types.
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"io-github-mortenator-charta": {
"command": "<see-readme>",
"args": []
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Charta MCP is a Model Context Protocol server that lets AI coding agents generate beautiful, presentation-ready charts (SVG + PNG) with zero setup.
No automated test available for this server. Check the GitHub README for setup instructions.
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
No package registry to scan.
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 / design
MCP server for accessing Figma plugin console logs and screenshots via Cloudflare Workers or local mode
MCP Server for GCP environment for interacting with various Observability APIs.
Official Miro MCP server - Supports context to code and creating diagrams, docs, and data tables.
⚡ A Simple / Speedy / Secure Link Shortener with Analytics, 100% run on Cloudflare.
MCP Security Weekly
Get CVE alerts and security updates for io.github.mortenator/charta and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
Charta MCP is a Model Context Protocol server that lets AI coding agents generate beautiful, presentation-ready charts (SVG + PNG) with zero setup.
npx @charta/mcp
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"charta": {
"command": "npx",
"args": ["@charta/mcp"]
}
}
}
Add to .cursor/mcp.json (project) or ~/.cursor/mcp.json (global):
{
"mcpServers": {
"charta": {
"command": "npx",
"args": ["@charta/mcp"]
}
}
}
Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"charta": {
"command": "npx",
"args": ["@charta/mcp"]
}
}
}
generate_chartGenerate a chart and return an SVG string.
Input:
{
"type": "waterfall",
"title": "Revenue Bridge Q1→Q2",
"data": [
{"label": "Q1 Revenue", "value": 500, "isTotal": true},
{"label": "+ New Deals", "value": 120},
{"label": "- Churn", "value": -45},
{"label": "- Discounts", "value": -30},
{"label": "Q2 Revenue", "value": 545, "isTotal": true}
],
"style": {"theme": "dark", "accentColor": "#7C5CFC"}
}
Output:
{
"chartId": "chart_1234567890_abc123",
"type": "waterfall",
"svg": "<svg ...>...</svg>"
}
list_chart_typesList all supported chart types with descriptions and data shapes.
No input required.
Output: Array of { type, description, dataShape, example }
get_chart_schemaGet the full JSON schema for a specific chart type.
Input: { "type": "waterfall" }
Output: JSON Schema object
save_chartSave a chart to disk as SVG or PNG.
Input:
{
"chartId": "chart_1234567890_abc123",
"outputPath": "/tmp/revenue-bridge.png",
"format": "png"
}
Output: { "path": "/tmp/revenue-bridge.png", "bytes": 48291 }
describe_chartGiven your data and intent, get a chart type recommendation.
Input:
{
"data": [{"label": "Q1", "value": 100}, {"label": "Q2", "value": 120}],
"context": "Show revenue growth over quarters"
}
Output:
{
"recommended": "line",
"reason": "Time series context — line chart is the clearest for continuous data.",
"alternatives": ["area", "bar"]
}
| Type | Description | Best For |
|---|---|---|
bar | Vertical bars | Comparing values across categories |
grouped-bar | Side-by-side bars | Comparing multiple series per category |
stacked-bar | Stacked bars | Composition + total across categories |
waterfall | Floating bars with connectors | Financial bridges, P&L, variance analysis |
line | Connected line | Trends, time series |
area | Filled area under line | Volume/magnitude of trends |
pie | Circular proportions | Part-to-whole (≤6 categories) |
donut | Pie with center metric | Part-to-whole + total callout |
scatter | X-Y points | Correlation between two variables |
bubble | X-Y points + size | Three-variable relationships |
gantt | Horizontal timeline bars | Project schedules, task durations |
mekko | Variable-width stacked bars | Market share, segment analysis |
radar | Spider/web chart | Multi-dimensional profiles |
heatmap | Color-coded grid | Patterns across two categorical dimensions |
Note: These show the MCP JSON-RPC protocol. In practice your agent calls the tools directly.
echo '{"jsonrpc":"2.0","method":"tools/list","params":{},"id":1}' | npx @charta/mcp
echo '{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "generate_chart",
"arguments": {
"type": "bar",
"title": "Monthly Sales",
"data": [
{"label": "Jan", "value": 120},
... [View full README on GitHub](https://github.com/mortenator/charta-mcp#readme)