Skip to main content
Glama

render_chart

Turns your data rows into interactive bar, line, area, pie, or scatter charts in the chat UI, making comparisons and trends clear.

Instructions

Render an interactive chart in the chat UI.

Use whenever the user asks to show / plot / visualize / graph / compare data, or when a chart makes the answer clearer than text. Call this AFTER fetching the rows with the data tools (e.g. get_castable_data) or computing them with execute_sas_code, then pass the rows in as data. Keep data small — aggregate or limit to just the rows you want to chart.

The chart is drawn by the user interface from this call; the tool itself does no plotting and returns the normalized chart spec.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataYesList of row objects, e.g. [{"month": "Jan", "sales": 120}, ...].
titleYesChart title.
x_keyYesField for the x-axis / category (for pie, the slice label).
y_keysYesField(s) plotted as series / values (for pie or scatter, one or two).
stackedNoFor bar/area, stack the series instead of grouping them.
subtitleNoOptional subtitle.
chart_typeYesOne of bar, line, area, pie, scatter.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It usefully reveals that 'The chart is drawn by the user interface from this call; the tool itself does no plotting and returns the normalized chart spec,' which clarifies what the tool actually does and its non-computational role. It could add more about response structure or error/limit behavior, but the disclosure provided is meaningful and beyond the schema.

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?

The description is compact and well-structured: first sentence states the core purpose, second covers when to use and how to source data, and third clarifies behavioral mechanics. Every sentence earns its place, and there is no redundant or filler content. It is appropriately sized for the tool's complexity.

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?

Given the tool has a rich input schema (100% coverage), an output schema, and clear sibling-tool context, the description provides sufficient completeness. It covers when to use the tool, how to prepare data, the fact that no plotting occurs in the tool itself, and that it returns a chart spec. No major gaps remain for an agent to select and invoke the tool correctly.

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 schema already documents all parameters well. The description adds valuable semantic context beyond the schema by explaining that 'data' should be the rows fetched from data tools or computed via execute_sas_code, and by advising to aggregate or limit rows to keep the payload small. This helps the agent understand the intended source and shape of the data parameter without repeating 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?

The description states a specific verb and resource: 'Render an interactive chart in the chat UI.' It clearly distinguishes this tool from sibling data/ML tools by focusing on visualization and explicitly noting it produces a chart spec for the UI rather than performing analysis. The purpose is unambiguous and does not overlap with any sibling tool.

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 provides explicit when-to-use guidance: 'Use whenever the user asks to show / plot / visualize / graph / compare data, or when a chart makes the answer clearer than text.' It also gives sequencing instructions, telling the agent to call this AFTER fetching rows with data tools or computing them with execute_sas_code, and advises keeping data small. This is clear, actionable usage guidance with no ambiguity.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/raedaldweik/SAS_MCP_Server_personal'

If you have feedback or need assistance with the MCP directory API, please join our Discord server