# Charts by Szum

> Create, inspect, manage, and render charts and data visualizations as SVG/PNG or interactive embeds.

- name: io.szum/charts
- version: 2.0.0
- connection class: R0 (autonomous)
- trust: 82/100 flags: no-repository
- quality: 72/100 (needs work)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/io.szum%2Fcharts
- tools: https://api.protogrid.dev/v1/servers/io.szum%2Fcharts/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "charts": {
      "type": "http",
      "url": "https://szum.io/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 99
- freshness: 100
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-97% +updated-24d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 72/100 (needs work)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 93 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 14 of 14 tools declare readOnlyHint or destructiveHint
- warn `tools.directory_hints`: 2 of 14 tools declare all four hints; missing: render_chart (idempotentHint); save_chart (idempotentHint); get_chart (idempotentHint); …
- pass `tools.token_cost`: about 3,652 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 25 (weight 15)

- warn `stability.changes`: 22 tool changes in 30 days
- fail `stability.rug_pull`: 1 tools kept their name but changed most of their description in 30 days; review before trusting them

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 14, about 3,652 tokens to load them all
- tool set hash: 7e10ba4a998866a060f8ed4064f3f8f0
- tools last changed: 2026-10-13T16:57:57.823Z
- badge: [![protogrid quality](https://protogrid.dev/badge/io.szum/charts.svg)](https://protogrid.dev/servers/io.szum/charts)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-13 `get_schema` changed (inputSchema, outputSchema)
- 2026-10-13 `get_examples` changed (description, inputSchema, outputSchema)
  - before: 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. Data is illustrative. Empty matches mean no example satisfies every filter; remove a filter to broaden the search.
  - after: 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 cites RIAA reports. Empty matches mean no example satisfies every filter; remove a filter to broaden the search.
- 2026-10-13 `list_chart_types` changed (outputSchema)
- 2026-10-13 `validate_chart` changed (outputSchema)
- 2026-10-13 `update_chart` changed (outputSchema)
- 2026-10-13 `get_chart_document` changed (outputSchema)
- 2026-10-13 `save_chart` changed (outputSchema)
- 2026-10-13 `render_chart` changed (outputSchema)
- 2026-09-26 `get_chart_config` removed
  - 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.
- 2026-09-26 `list_marks` removed
  - Use this when choosing or configuring chart mark types. Returns every available mark with its properties and defaults.

Full history: https://api.protogrid.dev/v1/servers/io.szum%2Fcharts/changes

## Remotes

- https://szum.io/mcp (streamable-http, auth none, reachable true, uptime30d 0.9652174)

## Packages

_none_

## Tools (14)

- `delete_chart`: 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.
- `get_chart`: 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.
- `get_chart_document`: Use 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.
- `get_examples`: 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 cites RIAA reports. Empty matches mean no example satisfies every filter; remove a filter to broaden the search.
- `get_preview_state`: 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.
- `get_schema`: 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 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.
- `list_charts`: 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 published document, not draft storage.
- `list_chart_types`: Use this when choosing a chart family. Returns every current chart type with its shared and family-specific fields.
- `list_themes`: Use this when choosing a visual theme for a chart. Returns every available theme and guidance on where each works best.
- `rename_chart`: 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.
- `render_chart`: 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 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.
- `save_chart`: 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. 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.
- `update_chart`: 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 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.
- `validate_chart`: 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 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.
