Skip to main content
Glama

ChartAnt

Create a chart that stays updated

create_living_chart

Save a chart, map, dashboard or report with a fixed link that always shows its latest data. Use when the user wants a chart they will update later, embed in a page, or send to Slack/email when it changes; for a one-off image use the generate_* tools. 'chart' is the same JSON as the generate_* tools: { type, title, data, ... } (e.g. { type: 'line', data: [{ time: 'Mon', value: 3 }] }). For a report with several charts and text, send { type: 'report', title, subtitle?, blocks: [...] } with the same blocks as create_report: its fixed link is a page, with PDF and PowerPoint download links using the same report ID, and a PNG of the whole report. Returns the chart id (for update_living_chart) and its fixed link. Each call creates a new chart. Needs a connection signed in to a free account (connector URL ending in /mcp/account). Without one it draws a one-off image and says it was not saved.

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": {
      "name": "<name>",
      "chart": "<chart>"
    },
    "name": "create_living_chart"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameYesA short name, e.g. 'Weekly sign-ups'.
chartYesChart definition: type, title, data and options, as for the generate_* tools.
stampNoDraw the last-updated timestamp in the title.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior4/5

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

Adds substantial behavior beyond the annotations: each call creates a new chart (consistent with idempotentHint=false), returns the chart id for update_living_chart plus the fixed link, and degrades to a one-off unsaved image without an account. It also describes the report variant's outputs (page, PDF/PowerPoint downloads, whole-report PNG). Only minor gap is no mention of the stamp parameter's effect.

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

Conciseness4/5

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

Front-loaded with purpose and the alternative, and nearly every sentence carries operational information (return values, report shape, account fallback). It is a dense single paragraph, so the report-output clause reads as a run-on, but nothing is wasted.

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

Completeness5/5

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

No output schema exists, yet the description covers returns (chart id and fixed link, report page plus PDF/PowerPoint/PNG links), side effects (new chart per call), and the no-account fallback. For a 3-parameter tool with a nested free-form object, this is complete.

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 earns more by explaining the nested 'chart' object's shape with an example ({ type: 'line', data: [...] }) and the report form ({ type: 'report', title, subtitle?, blocks }) with blocks matching create_report. That materially clarifies the one open-ended nested object. The 'stamp' parameter is left 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?

States a specific verb and resource ('Save a chart, map, dashboard or report with a fixed link that always shows its latest data') and explicitly contrasts itself with the generate_* tools. An agent can distinguish it from update_living_chart and the generate_* family 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 Guidelines5/5

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

Gives concrete when-to-use triggers (chart to update later, embed in a page, send to Slack/email on change) and names the alternative (generate_* for a one-off image). It also states the prerequisite: a connection signed in to a free account at the /mcp/account connector URL.

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.