{"name":"io.szum/charts","slug":"szum-charts","title":"Charts by Szum","description":"Create, inspect, manage, and render charts and data visualizations as SVG/PNG or interactive embeds.","url":"https://mcp.market/server/szum-charts","rating":null,"grade":"C","score":56,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":8,"stars":null,"forks":null,"downloads_week":null,"last_push_at":null,"license":null},"uptime":{"percent":100,"checks":19,"ok":19,"last_checked_at":"2026-09-24T04:31:17.694Z","last_ok_at":"2026-09-24T04:31:17.694Z","latency_ms":637},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":null,"website":"https://szum.io","version":"1.4.0","remotes":[{"type":"streamable-http","url":"https://szum.io/mcp"}],"packages":[],"tools":[{"name":"delete_chart","description":"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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9a-f]{32}$","description":"Opaque 32-character saved-chart id"}},"required":["id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_chart","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9a-f]{32}$","description":"Opaque 32-character saved-chart id"}},"required":["id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_chart_config","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9a-f]{32}$","description":"Opaque 32-character saved-chart id"}},"required":["id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_examples","description":"Use this when the model needs current, ready-to-use Szum chart configs or preferred semantic patterns. Optionally filters examples by mark type.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"mark_type":{"description":"Filter examples by mark type","type":"string","enum":["dot","line","barY","barX","areaY","areaX","pie","text","ruleX","ruleY"]}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_preview_state","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"previewId":{"type":"string","pattern":"^[0-9a-f]{16}$","description":"Opaque 16-character chart-preview id"}},"required":["previewId"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"list_charts","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"source":{"description":"Filter by one or more chart sources; omit to list all","anyOf":[{"type":"string","enum":["api","figma","app","mcp"]},{"minItems":1,"type":"array","items":{"type":"string","enum":["api","figma","app","mcp"]}}]},"sort":{"description":"Sort by creation time (default), update time, or title A-Z","type":"string","enum":["updated","created","title"]},"q":{"description":"Case-insensitive title substring search; trimmed and limited to 100 characters","type":"string"},"cursor":{"description":"Opaque nextCursor from the previous page","type":"string"},"limit":{"description":"Page size; defaults to 100 and has a maximum of 1000","type":"integer","minimum":1,"maximum":1000}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"list_marks","description":"Use this when choosing or configuring chart mark types. Returns every available mark with its properties and defaults.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"list_themes","description":"Use this when choosing a visual theme for a chart. Returns every available theme and guidance on where each works best.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"rename_chart","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9a-f]{32}$","description":"Opaque 32-character saved-chart id"},"title":{"type":"string","description":"New saved-chart title; trimmed and limited to 200 characters"}},"required":["id","title"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"render_chart","description":"Use this when the user wants to preview or generate a chart. Validate each generated or changed config 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 config. Suggestions do not block. Replace the complete config with suggestedConfig and revalidate before repair. 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"acknowledgeWarnings":{"description":"Set true only after the user explicitly approves every warning returned for this exact config","type":"boolean"},"config":{"type":"string","description":"Complete chart config JSON. Mark field references must match row keys. Chronological annual values use \"YYYY\" strings on an explicit UTC scale. Bar and area value axes stay linear and include zero. Explicit base-10 log scales require positive finite values and domains; use line or dot. Configure scales with top-level x/y; hide with display: false. Put shared data at chart level; use mark data for distinct rows. When rows share a bar position, map a series field to fill or stroke before setting group or aggregate."}},"required":["config"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"save_chart","description":"Use this when the user wants to permanently save and publish a chart from a Szum config. Validate each generated or changed config 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 config. Suggestions do not block. Replace the complete config with suggestedConfig and revalidate before repair. 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"acknowledgeWarnings":{"description":"Set true only after the user explicitly approves every warning returned for this exact config","type":"boolean"},"config":{"type":"string","description":"Complete chart config JSON. Mark field references must match row keys. Chronological annual values use \"YYYY\" strings on an explicit UTC scale. Bar and area value axes stay linear and include zero. Explicit base-10 log scales require positive finite values and domains; use line or dot. Configure scales with top-level x/y; hide with display: false. Put shared data at chart level; use mark data for distinct rows. When rows share a bar position, map a series field to fill or stroke before setting group or aggregate."},"idempotencyKey":{"type":"string","minLength":1,"maxLength":255,"description":"Stable retry key of at most 255 characters; reuse only for the exact same config"}},"required":["config"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"update_chart","description":"Use this when the user wants to replace and publish a saved chart's config while keeping its id and URLs. Validate each generated or changed config 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 config. Suggestions do not block. Replace the complete config with suggestedConfig and revalidate before repair. Refuses charts with unpublished editor changes; requires authentication and saved-chart storage.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"acknowledgeWarnings":{"description":"Set true only after the user explicitly approves every warning returned for this exact config","type":"boolean"},"id":{"type":"string","pattern":"^[0-9a-f]{32}$","description":"Opaque 32-character saved-chart id"},"config":{"type":"string","description":"Complete chart config JSON. Mark field references must match row keys. Chronological annual values use \"YYYY\" strings on an explicit UTC scale. Bar and area value axes stay linear and include zero. Explicit base-10 log scales require positive finite values and domains; use line or dot. Configure scales with top-level x/y; hide with display: false. Put shared data at chart level; use mark data for distinct rows. When rows share a bar position, map a series field to fill or stroke before setting group or aggregate."}},"required":["id","config"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"validate_chart","description":"Use this when a chart config will be rendered, saved, or updated. Validate each generated or changed config 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 config. Suggestions do not block. Replace the complete config with suggestedConfig and revalidate before repair. Read-only, free, and fast.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"config":{"type":"string","description":"Complete chart config JSON. Mark field references must match row keys. Chronological annual values use \"YYYY\" strings on an explicit UTC scale. Bar and area value axes stay linear and include zero. Explicit base-10 log scales require positive finite values and domains; use line or dot. Configure scales with top-level x/y; hide with display: false. Put shared data at chart level; use mark data for distinct rows. When rows share a bar position, map a series field to fill or stroke before setting group or aggregate."}},"required":["config"],"$schema":"http://json-schema.org/draft-07/schema#"}}],"scan":{"score":56,"grade":"C","scanned_at":"2026-09-24T05:05:29.861Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-24T05:05:29.824Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":17,"max":20,"notes":["remote reachable in 3085ms"]},"poisoning":{"score":15,"max":15,"notes":["13 tool descriptions checked"]},"auth":{"score":3,"max":15,"notes":["open endpoint exposes 2 write-action tools with no auth"]},"maintenance":{"score":3,"max":15,"notes":["no repository listed"]},"identity":{"score":4,"max":10,"notes":["verified namespace with website, no repo"]}},"findings":[{"id":"auth.open-write","severity":"high","component":"auth","title":"Write-action tools reachable without authentication"},{"id":"maint.no-repo","severity":"low","component":"maintenance","title":"No source repository listed"}],"inputs":{"probes":[{"url":"https://szum.io/mcp","reachable":true,"authRequired":false,"latencyMs":3085,"serverInfo":{"name":"Szum","version":"1.4.0"}}],"packages":[],"repo":{"found":false},"icon":{"url":"https://szum.io/icon.svg?icon.1w4tu6p7ba3r1.svg","source":"site"},"presence":{"stars":null,"forks":null,"downloadsWeek":null,"license":null,"lastPushAt":null,"score":8}}}},"grade_history":[],"reviews":[]}