Skip to main content
Glama

ChartAnt

Generate Line Chart

generate_line_chart
Read-onlyIdempotent

Draw a line chart of values over time (daily users, monthly revenue, prices). Data [{time, value, group?}] with one line per group. For filled volumes use generate_area_chart; for one small chart per group use generate_small_multiples. 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_line_chart"
  }
}

Input Schema

NameRequiredDescriptionDefault
dataYesData for line chart, it should be an array of objects, each object contains a `time` field and a `value` field, such as, [{ time: '2015', value: 23 }, { time: '2016', value: 32 }], when the data is grouped by time, the `group` field should be used to specify the group, such as, [{ time: '2015', value: 23, group: 'A' }, { time: '2015', value: 32, group: 'B' }].
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.
animatedNotrue for an animated GIF (bars grow, lines draw, pies sweep open) instead of a still PNG; for email, slides and chat posts. The first frame is the finished chart.
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 establish that this is a safe, idempotent, non-destructive, non-open-world read/generate operation, so the description doesn't need to restate safety. It earns credit for disclosing the return artifacts — hosted PNG link, share page, alt text, editable PowerPoint/Excel links — which the agent cannot know from annotations and which matters since there is no output schema. It stops short of covering persistence, versioning, or what the animated variant produces.

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?

Four short sentences, front-loaded with the purpose, then the data contract, then sibling routing, then return values. No hedging and no sentence that could be deleted without losing routing or output 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 ten-parameter chart generator with full schema coverage and no output schema, the definition covers purpose, data shape, alternatives, and return artifacts adequately. The one loose thread is the animated/GIF output mode, which the schema documents but the description never mentions, leaving the agent unaware that a non-PNG artifact is possible.

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 all ten parameters, including the nested data item fields and the style sub-object, are already documented, and the baseline applies. The description adds only the compact "{time, value, group?} with one line per group" framing, which mildly clarifies how group maps to visual output. Most styling and layout behavior is left entirely to 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?

"Draw a line chart of values over time" gives a specific verb and resource, and the parenthetical use cases (daily users, monthly revenue, prices) pin down the data shape it suits. It explicitly disambiguates from generate_area_chart and generate_small_multiples, so an agent can pick it without opening a schema.

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

Usage Guidelines5/5

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

The description names two concrete alternatives together with the condition that selects each: filled volumes go to generate_area_chart, one small chart per group goes to generate_small_multiples. That is exactly the when-not/alternative routing an agent needs, leaving little to inference.

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.