Charts by Szum
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Create, inspect, manage, and render charts and data visualizations as SVG/PNG or interactive embeds.
| Author | io.szum |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 4096 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"Charts by Szum": {
"url": "https://szum.io/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (14)
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 require explicit user approval for the exact chart input. Rendering may add layout warnings to the semantic findings before an action proceeds. Suggestions do not block. A suggestedDocument is a complete, validated replacement. Review the proposed changes before using it; validate again only if you modify it. Stores a 1 hour preview and returns public image URLs. Authenticated previews use the account's render allowance, and each image produced from a returned URL is another render. Anonymous previews are complimentary; their images use the anonymous image allowance.
Parameters:
request(required) — 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 config.version. Semantic field roles must match row keys. Chronological annual values use YYYY strings on an explicit UTC scale. Column and bar charts with long, wide, or count values, and all area charts, use linear value scales. Their inferred domains include zero, while an explicit domain excluding zero produces a warning. Base-10 log roles and explicit log domains require positive finite values; use line, scatter, or ranged columns and bars.sharedTheme— string — 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 theme nor themeOverrides, the workspace's default theme applies, if it has one.acknowledgeWarnings— boolean — Set true only after the user explicitly approves every warning returned for this exact request
Hints: read-only no · destructive no · idempotent not declared · open-world yes
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. Errors block; warnings require explicit user approval for the exact chart input. Rendering may add layout warnings to the semantic findings before an action proceeds. Suggestions do not block. A suggestedDocument is a complete, validated replacement. Review the proposed changes before using it; validate again only if you modify it. Supply one idempotencyKey per intended chart and reuse it for retries. Returns permanent public Image and Embed URLs plus Edit and Studio links; requires authentication and saved-chart storage.
Parameters:
document(required) — 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 config.version. Semantic field roles must match row keys. Chronological annual values use YYYY strings on an explicit UTC scale. Column and bar charts with long, wide, or count values, and all area charts, use linear value scales. Their inferred domains include zero, while an explicit domain excluding zero produces a warning. Base-10 log roles and explicit log domains require positive finite values; use line, scatter, or ranged columns and bars.sharedTheme— string — 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 theme nor themeOverrides, the workspace's default theme applies, if it has one.acceptLosses— array — Compatibility loss codes explicitly accepted by the user for this saveidempotencyKey— string — Stable retry key of at most 255 characters; reuse only for the exact same documentacknowledgeWarnings— boolean — Set true only after the user explicitly approves every warning returned for this exact document
Hints: read-only no · destructive no · idempotent not declared · open-world yes
list_chartsread-onlyUse 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 published document, not draft storage.
Parameters:
q— string — Case-insensitive title substring search; trimmed and limited to 100 characterssort— string — Sort by creation time (default), update time, or title A-Zlimit— integer — Page size; defaults to 100 and has a maximum of 1000author— string — An authorId from a listed chart, or "former" for charts whose author has left the workspace; omit to list every authorcursor— string — Opaque nextCursor from the previous pagesource— Filter by one or more chart sources; omit to list all
Hints: read-only yes · destructive no · idempotent not declared · open-world no
get_chartread-onlyUse 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:
id(required) — string — Opaque 32-character saved-chart id
Hints: read-only yes · destructive no · idempotent not declared · open-world no
get_chart_documentread-onlyUse this when the user identifies a saved chart by id and needs its complete published Szum document for inspection or reuse. Does not return a newer editor draft; requires authentication.
Parameters:
id(required) — string — Opaque 32-character saved-chart id
Hints: read-only yes · destructive no · idempotent not declared · open-world no
get_preview_stateread-onlyUse 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:
previewId(required) — string — Opaque 16-character chart-preview id
Hints: read-only yes · destructive no · idempotent yes · open-world no
update_chartdestructiveUse 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 saves or updates. Errors block; warnings require explicit user approval for the exact chart input. Rendering may add layout warnings to the semantic findings before an action proceeds. Suggestions do not block. A suggestedDocument is a complete, validated replacement. Review the proposed changes before using it; validate again only if you modify it. Refuses charts with unpublished editor changes; requires authentication and saved-chart storage.
Parameters:
id(required) — string — Opaque 32-character saved-chart iddocument(required) — 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 config.version. Semantic field roles must match row keys. Chronological annual values use YYYY strings on an explicit UTC scale. Column and bar charts with long, wide, or count values, and all area charts, use linear value scales. Their inferred domains include zero, while an explicit domain excluding zero produces a warning. Base-10 log roles and explicit log domains require positive finite values; use line, scatter, or ranged columns and bars.title— string — 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 documentsharedTheme— 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 link unless the document sets a different theme of its own. Pass null to keep the document's own theme and end the link.acceptLosses— array — Compatibility loss codes explicitly accepted by the user for this updateacknowledgeWarnings— boolean — Set true only after the user explicitly approves every warning returned for this exact document
Hints: read-only no · destructive yes · idempotent not declared · open-world yes
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.
Parameters:
id(required) — string — Opaque 32-character saved-chart idtitle(required) — string — New saved-chart title; trimmed and limited to 200 characters
Hints: read-only no · destructive no · idempotent not declared · open-world no
delete_chartdestructiveUse 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:
id(required) — string — Opaque 32-character saved-chart id
Hints: read-only no · destructive yes · idempotent yes · open-world yes
list_themesread-onlyUse 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.
Hints: read-only yes · destructive no · idempotent not declared · open-world no
validate_chartread-onlyUse 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 block; warnings require explicit user approval for the exact chart input. Rendering may add layout warnings to the semantic findings before an action proceeds. Suggestions do not block. A suggestedDocument is a complete, validated replacement. Review the proposed changes before using it; validate again only if you modify it. Read-only, free, and fast.
Parameters:
chart(required) — 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 config.version. Semantic field roles must match row keys. Chronological annual values use YYYY strings on an explicit UTC scale. Column and bar charts with long, wide, or count values, and all area charts, use linear value scales. Their inferred domains include zero, while an explicit domain excluding zero produces a warning. Base-10 log roles and explicit log domains require positive finite values; use line, scatter, or ranged columns and bars.
Hints: read-only yes · destructive no · idempotent not declared · open-world no
list_chart_typesread-onlyUse this when choosing a chart family. Returns every current chart type with its shared and family-specific fields.
Hints: read-only yes · destructive no · idempotent not declared · open-world no
get_examplesread-onlyGet 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 cites RIAA reports. Empty matches mean no example satisfies every filter; remove a filter to broaden the search.
Parameters:
purpose— string — Filter by the primary chart question. Distribution means categorical frequencies, not automatic histogram binning. Range means bounded values, time spans, or uncertainty.features— array — 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 scatter observations.chart_type— string — Filter examples by chart typeexample_id— string — Retrieve an exact ID from an earlier example result. Intersects any other supplied filters.
Hints: read-only yes · destructive no · idempotent not declared · open-world no
get_schemaread-onlyUse 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 family's config variants; omitting it returns every family and is much larger. Generated value lists are summarized rather than enumerated; validate_chart remains the authority.
Parameters:
chart_type— string — Keep only the config variants for this chart type. Pass it whenever the family is known.
Hints: read-only yes · destructive no · idempotent not declared · open-world no
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.