Skip to main content
Glama

ChartAnt

Generate Violin Chart

generate_violin_chart
Read-onlyIdempotent

Draw a violin plot: the shape of the distribution of values in each category. Data [{category, value, group?}] with one row per observation. For medians and quartiles use generate_boxplot_chart. Returns a hosted PNG link, a share page, alt text and editable PowerPoint/Excel links.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "data": "<data>"
    },
    "name": "generate_violin_chart"
  }
}

Input Schema

NameRequiredDescriptionDefault
dataYesData for violin chart, such as, [{ category: 'Category A', value: 10 }], when the data is grouped, the 'group' field is required, such as, [{ category: 'Category B', value: 20, group: 'Group A' }].
styleNoStyle configuration for the chart with a JSON object, optional.
themeNoSet the theme for the chart, optional, default is 'default'.default
titleNoSet the title of chart.
widthNoSet the width of chart, default is 600.
heightNoSet the height of chart, default is 400.
axisXTitleNoSet the x-axis title of chart.
axisYTitleNoSet the y-axis title of chart.
brandThemeNoName of a brand theme saved on the user's account (their colours and footer), only when the user asks for their theme. Or "colorblind" for colours that people with colour-vision deficiency can tell apart (anyone can use it).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4/5.0
Behavior3/5

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

The annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description adds genuinely new behavior by disclosing the return artifacts: a hosted PNG link, a share page, alt text, and editable PowerPoint/Excel links, which matters because there is no output schema. It adds nothing about how grouped violins are rendered or whether generated artifacts persist, so it adds useful but not rich behavioral context beyond the annotations.

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?

Three short sentences, front-loaded with the visualization type and its distinguishing semantics, followed by data shape, the sibling alternative, and return values. No filler and no repetition of annotation-covered safety information.

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?

For a 9-parameter chart generator with no output schema, the description covers the essential pieces: what the chart shows, the required data granularity, the closest competing tool, and what the caller receives. It could go further on grouping behavior (how the optional 'group' field splits violins) and on brandTheme usage, which is left entirely to the schema.

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

Parameters3/5

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

Schema description coverage is 100%, so every parameter including the nested data fields, style palette/texture/startAtZero, theme and brandTheme is already documented in the schema. The description's 'one row per observation' and the {category, value, group?} shape restate the schema's own example almost verbatim. Baseline 3 is appropriate because the schema does the heavy lifting.

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?

The description states a specific verb and resource ('Draw a violin plot') and immediately defines its semantic scope ('the shape of the distribution of values in each category'), which is exactly what separates a violin plot from its siblings. It even names generate_boxplot_chart as the tool for medians and quartiles, so an agent can distinguish this tool without opening any schema.

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?

It gives an explicit routing rule: use generate_boxplot_chart when the user wants medians and quartiles. That is a real when-to-use/when-not decision rather than implied guidance. It does not cover adjacent distribution alternatives such as generate_histogram_chart, so it stops short of exhaustive exclusion guidance.

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.