szum avatar

Charts by Szum

io.szum/charts

Turns JSON configs into chart images through szum.io's rendering API. You pass a flat JSON object with marks (barY, line, dot, areaY, etc.), data arrays, and optional theme properties, and get back SVG or PNG output. The config format is deliberately simple with obvious field names, which makes it easy for Claude to generate correct charts without much prompting. Useful when you want visual output during analysis sessions instead of just describing trends in text. Supports composable marks so you can layer multiple chart types, and includes six preset themes (modern, editorial, dark, neon, pastel, technical) that you can customize. Works over streamable HTTP so charts render progressively as Claude generates the config.

tools
16
transport
HTTP
last updated
Nov 2, 2026

Install

From registry metadata
$ npx add-mcp https://szum.io/mcp --name charts

Run in your terminal. add-mcp asks which agents to add it to (Claude Code, Codex, Cursor and more). Add -g to install it for every project.

Review the command, arguments and environment values before installing. MCP servers run with your local permissions.

Other ways

Claude Code

$ claude mcp add --transport http charts https://szum.io/mcp

Run in your terminal. Add --scope user to make it available in every project.

Tools

Verified live · 16 tools

Verified live against the running server on Nov 6, 2026.

render_chartUse this when the user wants to preview or generate a chart. Validate each generated or changed chart input once before rendering, saving, or updating. Do not revalidate unchanged input; a successful render preflights it for later saves or updates. Errors block; warnings requi...3 params

Use this when the user wants to preview or generate a chart. Validate each generated or changed chart input once before rendering, saving, or updating. Do not revalidate unchanged input; a successful render preflights it for later saves or updates. Errors block; warnings requi...

Parameters* required
acknowledgeWarningsboolean
Set true only after the user explicitly approves every warning returned for this exact request
request*string
Complete current ChartDocument JSON with version, config, and data, plus optional presentation, size, and output. Use the same document for validation, rendering, and saving; version must match con...
sharedThemestring
Name of a shared theme from list_themes' workspaceThemes. The chart uses that theme and stays linked to it, so later edits to the theme reach the chart. When omitted and the document sets neither t...
save_chartUse this when the user wants to permanently save and publish a Szum chart document. Validate each generated or changed chart input once before rendering, saving, or updating. Do not revalidate unchanged input; a successful render preflights it for later saves or updates. Error...5 params

Use this when the user wants to permanently save and publish a Szum chart document. Validate each generated or changed chart input once before rendering, saving, or updating. Do not revalidate unchanged input; a successful render preflights it for later saves or updates. Error...

Parameters* required
acceptLossesarray
Compatibility loss codes explicitly accepted by the user for this save
acknowledgeWarningsboolean
Set true only after the user explicitly approves every warning returned for this exact document
document*string
Complete current ChartDocument JSON with version, config, and data, plus optional presentation, size, and output. Use the same document for validation, rendering, and saving; version must match con...
idempotencyKeystring
Stable retry key of at most 255 characters; reuse only for the exact same document
sharedThemestring
Name of a shared theme from list_themes' workspaceThemes. The chart uses that theme and stays linked to it, so later edits to the theme reach the chart. When omitted and the document sets neither t...
list_chartsUse this when the user wants to find charts in their saved library. Returns paginated metadata and URLs, not chart documents; requires authentication. Draft-only editor charts have publishedAt null, hasDraft true, and sizeBytes 0 because sizeBytes measures only the stored publ...6 params

Use this when the user wants to find charts in their saved library. Returns paginated metadata and URLs, not chart documents; requires authentication. Draft-only editor charts have publishedAt null, hasDraft true, and sizeBytes 0 because sizeBytes measures only the stored publ...

Parameters* required
authorstring
An authorId from a listed chart, or "former" for charts whose author has left the workspace; omit to list every author
cursorstring
Opaque nextCursor from the previous page
limitinteger
Page size; defaults to 100 and has a maximum of 1000
qstring
Case-insensitive title substring search; trimmed and limited to 100 characters
sortstring
Sort by creation time (default), update time, or title A-Zone of updated · created · title
sourcevalue
Filter by one or more chart sources; omit to list all
get_chartUse this when the user identifies a saved chart by id and wants to view it or retrieve its metadata and URLs. Displays the published chart when available and does not return its document; requires authentication.1 params

Use this when the user identifies a saved chart by id and wants to view it or retrieve its metadata and URLs. Displays the published chart when available and does not return its document; requires authentication.

Parameters* required
id*string
Opaque 32-character saved-chart id
get_chart_documentUse this when the user identifies a saved chart by id and needs its complete published Szum document for inspection or reuse, or an earlier version's document from list_chart_versions. Does not return a newer editor draft; requires authentication.2 params

Use this when the user identifies a saved chart by id and needs its complete published Szum document for inspection or reuse, or an earlier version's document from list_chart_versions. Does not return a newer editor draft; requires authentication.

Parameters* required
id*string
Opaque 32-character saved-chart id
versioninteger
Version number from list_chart_versions; omit for the published document
list_chart_versionsUse this when the user wants to see a saved chart's earlier publications, find one to read with get_chart_document, or pick one to restore with restore_chart_version. Returns versions newest first with who published each, from where and what changed; requires authentication.4 params

Use this when the user wants to see a saved chart's earlier publications, find one to read with get_chart_document, or pick one to restore with restore_chart_version. Returns versions newest first with who published each, from where and what changed; requires authentication.

Parameters* required
cursorstring
Opaque nextCursor from the previous page
id*string
Opaque 32-character saved-chart id
limitinteger
Page size; defaults to 100 and has a maximum of 1000
namedboolean
List only versions that were given a name
get_preview_stateUse this when the Szum chart App needs to restore a rendered preview as its current transient or saved view. It is read-only, owner-scoped when authenticated, and hidden from the model.1 params

Use this when the Szum chart App needs to restore a rendered preview as its current transient or saved view. It is read-only, owner-scoped when authenticated, and hidden from the model.

Parameters* required
previewId*string
Opaque 16-character chart-preview id
update_chartUse this when the user wants to replace and publish a saved chart's document while keeping its id and URLs. Validate each generated or changed chart input once before rendering, saving, or updating. Do not revalidate unchanged input; a successful render preflights it for later...6 params

Use this when the user wants to replace and publish a saved chart's document while keeping its id and URLs. Validate each generated or changed chart input once before rendering, saving, or updating. Do not revalidate unchanged input; a successful render preflights it for later...

Parameters* required
acceptLossesarray
Compatibility loss codes explicitly accepted by the user for this update
acknowledgeWarningsboolean
Set true only after the user explicitly approves every warning returned for this exact document
document*string
Complete current ChartDocument JSON with version, config, and data, plus optional presentation, size, and output. Use the same document for validation, rendering, and saving; version must match con...
id*string
Opaque 32-character saved-chart id
sharedThemevalue
Name of a shared theme from list_themes' workspaceThemes. The chart uses that theme and stays linked to it, so later edits to the theme reach the chart. When omitted, the chart keeps its current li...
titlestring
Library title; omit to keep a renamed title, while a title that still follows the document follows the new one; an empty title follows the document
restore_chart_versionUse this when the user wants a saved chart to go back to an earlier version from list_chart_versions. Publishes that version's document again as a new version, keeping the chart's id and URLs, so the version it replaces stays restorable. Refuses charts with unpublished editor...3 params

Use this when the user wants a saved chart to go back to an earlier version from list_chart_versions. Publishes that version's document again as a new version, keeping the chart's id and URLs, so the version it replaces stays restorable. Refuses charts with unpublished editor...

Parameters* required
acceptLossesarray
Compatibility loss codes explicitly accepted by the user for restoring an older document
id*string
Opaque 32-character saved-chart id
version*integer
Version number from list_chart_versions
rename_chartUse this when the user wants to change a saved chart's library title without changing its document, publication state, or public URLs; requires authentication.2 params

Use this when the user wants to change a saved chart's library title without changing its document, publication state, or public URLs; requires authentication.

Parameters* required
id*string
Opaque 32-character saved-chart id
title*string
New saved-chart title; trimmed and limited to 200 characters
delete_chartUse this when the user explicitly wants to permanently delete one saved chart. Deletion cannot be undone, and retrying an already completed deletion succeeds; requires authentication.1 params

Use this when the user explicitly wants to permanently delete one saved chart. Deletion cannot be undone, and retrying an already completed deletion succeeds; requires authentication.

Parameters* required
id*string
Opaque 32-character saved-chart id
list_themesUse this when choosing a visual theme for a chart. Returns every built-in theme with guidance on where each works best and, when signed in, the workspace's shared themes.

Use this when choosing a visual theme for a chart. Returns every built-in theme with guidance on where each works best and, when signed in, the workspace's shared themes.

No parameters. Call it with no arguments.

validate_chartUse this when a chart request or document will be rendered, saved, or updated. Validate each generated or changed chart input once before rendering, saving, or updating. Do not revalidate unchanged input; a successful render preflights it for later saves or updates. Errors blo...1 params

Use this when a chart request or document will be rendered, saved, or updated. Validate each generated or changed chart input once before rendering, saving, or updating. Do not revalidate unchanged input; a successful render preflights it for later saves or updates. Errors blo...

Parameters* required
chart*string
Complete current ChartDocument JSON with version, config, and data, plus optional presentation, size, and output. Use the same document for validation, rendering, and saving; version must match con...
list_chart_typesUse this when choosing a chart family. Returns every current chart type with its shared and family-specific fields.

Use this when choosing a chart family. Returns every current chart type with its shared and family-specific fields.

No parameters. Call it with no arguments.

get_examplesGet complete Szum documents for validation, rendering, or saving, with guidance on when to use each pattern. No filters returns one starter per chart type. Any filter searches the complete catalog; all supplied filters intersect. Most data is illustrative; the Vinyl waterfall...4 params

Get complete Szum documents for validation, rendering, or saving, with guidance on when to use each pattern. No filters returns one starter per chart type. Any filter searches the complete catalog; all supplied filters intersect. Most data is illustrative; the Vinyl waterfall...

Parameters* required
chart_typestring
Filter examples by chart typeone of column · bar · line · area · scatter · pie
example_idstring
Retrieve an exact ID from an earlier example result. Intersects any other supplied filters.
featuresarray
Return examples teaching every selected feature. Annotations explain data; references mark fixed values or statistics; ranges encode start/end values; intervals show lower/upper bounds around scatt...
purposestring
Filter by the primary chart question. Distribution means categorical frequencies, not automatic histogram binning. Range means bounded values, time spans, or uncertainty.one of comparison · change · trend · composition · relationship · distribution
get_schemaUse this before authoring an unfamiliar field instead of probing validate_chart for errors. Returns the JSON Schema for the whole Szum document, covering config, data, presentation, size, and output, with every referenced definition included. Pass chart_type to keep only that...1 params

Use this before authoring an unfamiliar field instead of probing validate_chart for errors. Returns the JSON Schema for the whole Szum document, covering config, data, presentation, size, and output, with every referenced definition included. Pass chart_type to keep only that...

Parameters* required
chart_typestring
Keep only the config variants for this chart type. Pass it whenever the family is known.one of column · bar · line · area · scatter · pie

Sponsors

Details

Website
szum.io
Categories
Design & Creative, Data & Analytics
Transport
HTTP
Registry
MCP registry, active
Resources
3
Tools verified
Nov 6, 2026

Related Design & Creative MCP servers

View all
1mechreaper007x avatarClipacanvasmechreaper007x/clipacanvasRender HTML, CSS, SVG, and Canvas animations to MP4 locally via Playwright/Chromium and FFmpeg.0stars
2had0yun avatarGopeakhad0yun/godot-mcpGoPeak — The most comprehensive MCP server for Godot Engine. 95+ tools, LSP, DAP, screenshots.0stars
3tldraw avatarTldrawtldraw/tldrawDraw and visually collaborate with your agents on tldraw's canvas.47.7Kstars
4nteract avatarSemioticnteract/semioticVerified React chart generation: select, validate, repair, render, and inspect charts through MCP.2.7Kstars
5sceneview avatarSceneviewsceneview/sceneview3D & AR SDK for Android, iOS, Web — API docs, samples, validation, and code generation.1.2Kstars
6jingcheng-chen avatarRhinoMCPjingcheng-chen/rhinomcpProvides a two-way MCP bridge between Rhino and AI agents to create, inspect, and script 3D models.401stars