Skip to main content
Glama

Generate chart

generate_chart

Render a chart to a hosted image; returns a URL to embed in markdown as title. Types: bar (grouped vertical), horizontal_bar (best for long category names or ranked lists), stacked_bar (part-to-whole across categories), line / area (trend over an ordered axis), pie / doughnut (share-of-total of ONE series).

Input Schema

NameRequiredDescriptionDefault
typeYesPick the type that best fits the data.
titleYes
labelsYesCategory labels (x axis; slice labels for pie/doughnut).
seriesYesOne or more series; each values array aligns with labels. pie/doughnut use the first series only.
valueSuffixNoe.g. '%' or null.

Output Schema

NameRequiredDescriptionDefault
urlNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations (readOnlyHint=false, idempotentHint=false) tell the agent this creates a resource and repeated calls are not idempotent; the description corroborates by stating it renders to a hosted image and returns a URL, i.e. a new artifact per call. It does not mention lifetime/stability of the hosted URL or any rate limits, leaving a small gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One compact sentence pair: purpose and return format first, then a dense semicolon-separated type glossary. Every clause carries either output-format or type-selection information; nothing is padded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description need not explain return values, yet it usefully notes the URL/markdown embedding. It covers type choice and pie-series limitation, but is silent on constraints such as how many series the grouped/stacked types accept or label/value alignment requirements, which the schema only partially implies.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 80%, so the baseline is 3, but the description earns an extra point by explaining the semantics of the enum beyond the raw value list (grouped vertical vs ranked lists vs part-to-whole) and by flagging that pie/doughnut consume only the first series. It adds no syntax guidance for title/labels/series or valueSuffix beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Render a chart to a hosted image') and immediately specifies the output artifact ('returns a URL to embed in markdown as ![title](url)'). No sibling tool competes for this purpose, so an agent can route here unambiguously.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The type list is effectively decision guidance: 'horizontal_bar (best for long category names or ranked lists)', 'pie / doughnut (share-of-total of ONE series)'. That tells the agent when each option fits. It does not cover when-not-to-use or call-level prerequisites, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources