Skip to main content
Glama

Server Details

Render chart images from JSON configs via a simple HTTP API. Six themes, ten marks, PNG/SVG output. No client-side JavaScript, no installs – just a URL that returns an image. MCP tools include render, validate, list themes, and browse examples.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.3/5 across 13 of 13 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool targets a distinct operation on charts or chart resources. There is no overlap in purpose; e.g., get_chart retrieves metadata, get_chart_config retrieves the published config, and list_charts lists saved charts.

Naming Consistency5/5

All tools follow a consistent verb_noun (or verb_noun_noun) pattern in snake_case, e.g., delete_chart, list_marks, validate_chart. No mixing of conventions.

Tool Count5/5

With 13 tools, the server covers CRUD, rendering, validation, and auxiliary operations (list marks/themes, examples) without being bloated or undersized.

Completeness4/5

The tool set covers creation, reading, updating, deletion, rendering, and validation. A minor gap is the lack of a tool to retrieve a draft config separately from the published one, as noted in get_chart_config.

Available Tools

13 tools
delete_chartDelete chart
Destructive
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesOpaque 32-character saved-chart id

Output Schema

ParametersJSON Schema
NameRequiredDescription
deletedYes
get_chartGet chart
Read-only
Inspect

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 config; requires authentication.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesOpaque 32-character saved-chart id

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYesOpaque 32-character saved-chart id
viewYes
titleYesSaved chart title
sourceYesChart origin; an open set of string values
editUrlYes
embedUrlYesInteractive-embed URL
imageUrlYesRendered-image URL
configUrlYesOwner-only chart-config endpoint
createdAtYesISO-8601 creation timestamp
manageUrlYes
sizeBytesYesCompressed size of the stored published config, excluding drafts; 0 means no published config has been stored yet
updatedAtYesISO-8601 last-update timestamp
publishedAtYesISO-8601 publish timestamp, or null when public URLs are dark
get_chart_configGet chart config
Read-only
Inspect

Use this when the user identifies a saved chart by id and needs its complete published Szum config for inspection or reuse. Does not return a newer editor draft; requires authentication.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesOpaque 32-character saved-chart id

Output Schema

ParametersJSON Schema
NameRequiredDescription
xNo
yNo
dataNo
colorNo
marksYes
scaleNo
themeNo
titleNo
widthNo
footerNoCaption below the chart (a source line, methodology note, date). URLs, bare domains, and [label](url) links in it are auto-detected and rendered as inline links on every surface.
formatYes
heightNo
localeNoLocale identifier accepted by JavaScript Intl and associated with the chart content, such as en, pl, or zh-Hant.
marginNo
versionYes
subtitleNo
plotWidthNo
plotHeightNo
attributionNoShow a small "Made with Szum" credit in the bottom-right. Always on for free and keyless renders; Creator and Pro omit it by default and set true to opt in.
headerAlignNo
themeOverridesNo
get_examplesGet example charts
Read-only
Inspect

Use this when the model needs current, ready-to-use Szum chart configs or preferred semantic patterns. Optionally filters examples by mark type.

ParametersJSON Schema
NameRequiredDescriptionDefault
mark_typeNoFilter examples by mark type

Output Schema

ParametersJSON Schema
NameRequiredDescription
examplesYes
get_preview_stateGet chart preview state
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
previewIdYesOpaque 16-character chart-preview id

Output Schema

ParametersJSON Schema
NameRequiredDescription
chartNo
statusYes
list_chartsList charts
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoCase-insensitive title substring search; trimmed and limited to 100 characters
sortNoSort by creation time (default), update time, or title A-Z
limitNoPage size; defaults to 100 and has a maximum of 1000
cursorNoOpaque nextCursor from the previous page
sourceNoFilter by one or more chart sources; omit to list all

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsYes
totalNoExact match count, present only for title searches
nextCursorYesOpaque cursor for the next page, or null on the last page
list_marksList mark types
Read-only
Inspect

Use this when choosing or configuring chart mark types. Returns every available mark with its properties and defaults.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
marksYes
sharedYes
list_themesList themes
Read-only
Inspect

Use this when choosing a visual theme for a chart. Returns every available theme and guidance on where each works best.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
themesYes
rename_chartRename chartInspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesOpaque 32-character saved-chart id
titleYesNew saved-chart title; trimmed and limited to 200 characters

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYesOpaque 32-character saved-chart id
viewYes
titleYesSaved chart title
sourceYesChart origin; an open set of string values
editUrlYes
embedUrlYesInteractive-embed URL
imageUrlYesRendered-image URL
configUrlYesOwner-only chart-config endpoint
createdAtYesISO-8601 creation timestamp
manageUrlYes
sizeBytesYesCompressed size of the stored published config, excluding drafts; 0 means no published config has been stored yet
updatedAtYesISO-8601 last-update timestamp
publishedAtYesISO-8601 publish timestamp, or null when public URLs are dark
render_chartRender chartInspect

Use this when the user wants to preview or generate a chart from a Szum config after preflighting a generated or materially changed config with validate_chart. Stores a one-hour preview and returns a public image URL; authenticated calls use the account's render allowance.

ParametersJSON Schema
NameRequiredDescriptionDefault
configYesJSON string of the chart configuration. Axes use top-level x and y; hide one with y.display false or x.display false, never axes, scales, or an axis flag. Put shared rows in top-level data when multiple marks use them; use mark-level data only for a layer with different rows. A categorical fill or stroke field creates color series; group only chooses stack or dodge after that field exists and never creates a series by itself. When multiple rows share a bar position, map their series field to fill or stroke, or aggregate to one row per position. For annual time series, use ISO dates such as 1960-01-01 with x.type utc and tickFormat %Y; bare numeric years are linear values.

Output Schema

ParametersJSON Schema
NameRequiredDescription
viewYes
titleYes
formatYes
imageUrlYes
mimeTypeYes
expiresAtYes
save_chartSave chartInspect

Use this when the user wants to permanently save and publish a chart from a Szum config. Returns permanent public Image and Embed URLs plus Edit and Studio links; requires authentication and saved-chart storage.

ParametersJSON Schema
NameRequiredDescriptionDefault
configYesJSON string of the chart configuration. Axes use top-level x and y; hide one with y.display false or x.display false, never axes, scales, or an axis flag. Put shared rows in top-level data when multiple marks use them; use mark-level data only for a layer with different rows. A categorical fill or stroke field creates color series; group only chooses stack or dodge after that field exists and never creates a series by itself. When multiple rows share a bar position, map their series field to fill or stroke, or aggregate to one row per position. For annual time series, use ISO dates such as 1960-01-01 with x.type utc and tickFormat %Y; bare numeric years are linear values.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
viewYes
titleYes
formatYes
editUrlYes
embedUrlYes
imageUrlYes
mimeTypeYes
manageUrlYes
update_chartUpdate chart
Destructive
Inspect

Use this when the user wants to replace and publish a saved chart's config while keeping its id and URLs. Refuses charts with unpublished editor changes; requires authentication and saved-chart storage.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesOpaque 32-character saved-chart id
configYesJSON string of the chart configuration. Axes use top-level x and y; hide one with y.display false or x.display false, never axes, scales, or an axis flag. Put shared rows in top-level data when multiple marks use them; use mark-level data only for a layer with different rows. A categorical fill or stroke field creates color series; group only chooses stack or dodge after that field exists and never creates a series by itself. When multiple rows share a bar position, map their series field to fill or stroke, or aggregate to one row per position. For annual time series, use ISO dates such as 1960-01-01 with x.type utc and tickFormat %Y; bare numeric years are linear values.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYesOpaque 32-character saved-chart id
viewYes
titleYesSaved chart title
sourceYesChart origin; an open set of string values
editUrlYes
embedUrlYesInteractive-embed URL
imageUrlYesRendered-image URL
configUrlYesOwner-only chart-config endpoint
createdAtYesISO-8601 creation timestamp
manageUrlYes
sizeBytesYesCompressed size of the stored published config, excluding drafts; 0 means no published config has been stored yet
updatedAtYesISO-8601 last-update timestamp
publishedAtYesISO-8601 publish timestamp, or null when public URLs are dark
validate_chartValidate chart config
Read-only
Inspect

Use this when preflighting the first render, save, or update of a generated or materially changed Szum config, or when the user asks to validate or debug one. Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
configYesJSON string of the chart configuration. Axes use top-level x and y; hide one with y.display false or x.display false, never axes, scales, or an axis flag. Put shared rows in top-level data when multiple marks use them; use mark-level data only for a layer with different rows. A categorical fill or stroke field creates color series; group only chooses stack or dodge after that field exists and never creates a series by itself. When multiple rows share a bar position, map their series field to fill or stroke, or aggregate to one row per position. For annual time series, use ISO dates such as 1960-01-01 with x.type utc and tickFormat %Y; bare numeric years are linear values.

Output Schema

ParametersJSON Schema
NameRequiredDescription
validYes
errorsYes
messageYes

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources