Charts by Szum
Server Details
Render and share charts and data visualizations as SVG/PNG images or embeds from a JSON config.
- 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.
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.
Tool Definition Quality
Average 4.1/5 across 6 of 6 tools scored.
Each tool has a clearly distinct purpose: providing examples, listing marks, listing themes, rendering, saving, and validating. No two tools could be confused for the same task.
All tool names follow a consistent verb_noun pattern with lowercase underscore (e.g., get_examples, render_chart). No deviations or mixed conventions.
Six tools is well-scoped for a chart creation server, covering essential operations without unnecessary bloat.
Covers core lifecycle: examples, options, rendering, validation, and saving. Minor gaps include no explicit update or delete for saved charts, but the scope appears focused on creation.
Available Tools
6 toolsget_examplesARead-onlyInspect
Get current, ready-to-use chart configs that demonstrate preferred semantic patterns, including built-in labels. Optionally filter by mark type.
| Name | Required | Description | Default |
|---|---|---|---|
| mark_type | No | Filter examples by mark type |
Output Schema
| Name | Required | Description |
|---|---|---|
| examples | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true and destructiveHint=false, so description adds value by describing the output as 'ready-to-use chart configs' with 'built-in labels'. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with the primary action. Every word is necessary and there is no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a simple input schema and an output schema present, the description provides adequate context. Mentioning 'built-in labels' adds helpful detail without being verbose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single parameter mark_type. Description adds 'optionally filter by mark type' which aligns with schema but does not add significant meaning beyond the enum description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Get current, ready-to-use chart configs' with specific verb and resource. Distinguishes from sibling tools like list_marks and render_chart by focusing on examples and semantic patterns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description mentions optional filtering by mark type but provides no guidance on when to use this tool versus alternatives (e.g., list_marks for listing available marks). No explicit when-not-to-use or prerequisites are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_marksARead-onlyInspect
List all available mark types with their specific properties and defaults.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| marks | Yes | |
| shared | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the description adds minimal behavioral context. It simply restates that the tool lists mark types with properties, which is consistent but not additive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no unnecessary words. It front-loads the purpose efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters, provided annotations (readOnlyHint, destructiveHint), and an existing output schema, the description is complete. No missing information for an agent to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, and schema coverage is 100%. The description adds meaning by specifying the output content (properties and defaults) beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'list' and the resource 'all available mark types' with their properties. However, it does not differentiate from the sibling tool 'list_themes', which performs a similar listing function for themes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'list_themes' or other siblings. The usage is only implied: when details about mark types are needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_themesARead-onlyInspect
List all available chart themes with guidance on where each works best.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| themes | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, so the description adds value by mentioning 'guidance on where each works best' without contradicting annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence of 12 words, action-first, no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Zero parameters and an output schema exist; the description sufficiently explains the tool's purpose for a simple list operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so baseline is 4. Description adds no parameter info but none is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List all available chart themes' using a specific verb and resource, and distinguishes from sibling tools like get_examples, render_chart, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for obtaining themes with guidance, but does not explicitly state when to use it versus siblings or provide exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
render_chartAInspect
Render and validate a chart config, store it for 10 minutes, and return a public image URL. A fetched image may remain cached for up to 1 hour. Authenticated calls use the account's render allowance.
| Name | Required | Description | Default |
|---|---|---|---|
| config | Yes | JSON string of the chart configuration |
Output Schema
| Name | Required | Description |
|---|---|---|
| view | Yes | |
| title | Yes | |
| format | Yes | |
| imageUrl | Yes | |
| mimeType | Yes | |
| expiresAt | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Disclosure goes beyond annotations: stores for 10 minutes, caches up to 1 hour, uses render allowance. Annotations indicate mutation but not destructive, and description adds valuable behavioral details without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no fluff, efficient and front-loaded. Every sentence provides essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given single parameter, output schema exists, and description explains return value (public image URL), it is fully complete for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter (config) with 100% schema description coverage. The tool description does not add meaning beyond the schema's 'JSON string of the chart configuration', so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it renders and validates a chart config, stores it temporarily, and returns a public URL. It distinguishes from siblings like validate_chart and save_chart by mentioning storage duration and caching.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context for when to use (to get a temporary public image URL) and mentions render allowance for authenticated calls. Does not explicitly state when not to use or compare to alternatives, but the storage/caching details guide appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
save_chartAInspect
Save and publish a chart config to permanent public Image and Embed URLs, and return Edit and Studio management URLs. Requires authentication and uses saved-chart storage.
| Name | Required | Description | Default |
|---|---|---|---|
| config | Yes | JSON string of the chart configuration |
Output Schema
| Name | Required | Description |
|---|---|---|
| view | Yes | |
| title | Yes | |
| format | Yes | |
| editUrl | Yes | |
| embedUrl | Yes | |
| imageUrl | Yes | |
| mimeType | Yes | |
| manageUrl | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnlyHint=false and destructiveHint=false. The description adds that the operation requires authentication, uses saved-chart storage, and returns specific URLs. It does not contradict annotations, but lacks details on side effects (e.g., whether it overwrites existing charts) or error conditions. With annotations present, the description adds some value but not extensive behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two succinct sentences with no waste. The key action, outputs, and prerequisites are front-loaded. Every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists (though not shown) and the single parameter, the description covers core behavior: saves config, returns URLs, requires auth, uses specific storage. It could mention that the operation is irreversible or provide ordering hints (e.g., validate first), but overall it is adequately complete for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter config, which is described as 'JSON string of the chart configuration'. The description adds context by stating the config is used to save and publish, but does not elaborate on format or constraints beyond the schema. Baseline 3 is appropriate as the schema already handles documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Save and publish') and resource ('chart config'), and lists the outputs (permanent Image/Embed URLs, Edit/Studio management URLs). It distinguishes itself from siblings (e.g., render_chart, validate_chart) by emphasizing persistence and management URLs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions that authentication is required and that it uses saved-chart storage, implying use when a chart needs to be permanently published. However, it does not explicitly state when to use it versus alternatives (e.g., render_chart for temporary output), nor does it provide exclusion criteria or preconditions beyond authentication.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_chartARead-onlyInspect
Check a chart config against the current schema without creating an image. Use when validation itself is requested or while debugging.
| Name | Required | Description | Default |
|---|---|---|---|
| config | Yes | JSON string of the chart configuration to validate |
Output Schema
| Name | Required | Description |
|---|---|---|
| valid | Yes | |
| errors | Yes | |
| message | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Matches annotations (read-only, non-destructive) and adds context: 'without creating an image.' Annotations already disclose safety, so description adds value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, highly efficient, no redundancy. Front-loaded with verb+resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose, usage, behavior, and differentiates from siblings. Output schema handles return details; description is complete for this simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear parameter description. Description does not add extra semantics; baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it validates a chart config against schema without creating an image. Distinguishes from render_chart and save_chart by emphasizing no image creation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Use when validation itself is requested or while debugging,' providing clear context for when to invoke versus siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!