Skip to main content
Glama

ChartAnt

Generate Waterfall Chart

generate_waterfall_chart
Read-onlyIdempotent

Draw a waterfall chart of how a starting value becomes a final value through gains and losses (profit bridge, budget variance). Data [{category, value, isTotal?}]; positive values go up, negative down, isTotal rows show the running total. 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_waterfall_chart"
  }
}

Input Schema

NameRequiredDescriptionDefault
dataYesData for waterfall chart, it should be an array of objects. Each object must contain a `category` field. For regular items, a `value` field is also required. The `isIntermediateTotal` field marks intermediate subtotals, and the `isTotal` field marks the final total. For example, [{ category: 'Initial', value: 100 }, { category: 'Increase', value: 50 }, { category: 'Subtotal', isIntermediateTotal: true }, { category: 'Decrease', value: -30 }, { category: 'Total', isTotal: true }].
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.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint/idempotentHint/non-destructive/closed-world, so the safety profile is covered. The description adds real value beyond them by disclosing the return artifacts (hosted PNG link, share page, alt text, editable PowerPoint/Excel links) and the rendering rule that positives go up and negatives down. It does not mention rate limits or persistence/version behavior, which sibling tools like list_chart_versions hint at.

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 sentences, front-loaded with purpose, then the data contract, then the outputs — no filler or repetition. Each clause carries distinct information an agent needs.

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 tool with a nested style object and no output schema, the description covers the essentials: what is drawn, the shape of the data array, and what is returned. The style/theme/width parameters are self-documented in the schema, so the modest remaining gap is acceptable.

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 100%, so the baseline is 3, but the description adds meaning the schema does not state outright: directionality of positive vs. negative values and the fact that isTotal rows display the running total rather than a supplied value. Remaining parameters (style, theme, brandTheme, dimensions) are left entirely to their schema descriptions.

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 ("Draw a waterfall chart") and immediately frames the domain use cases (profit bridge, budget variance), which is exactly what separates this from the many other generate_*_chart siblings. An agent can pick this over generate_bar_chart from the description alone.

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?

Gives concrete usage contexts ("how a starting value becomes a final value through gains and losses", "profit bridge, budget variance") that tell the agent when this chart type is the right choice. It stops short of naming alternatives or exclusions (e.g., when a plain bar chart is preferable), so it is clear context without explicit routing.

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.