Skip to main content
Glama

Line Chart

plot_line_chart
Read-onlyIdempotent

Create a line chart from data points (requires matplotlib).

Input Schema

NameRequiredDescriptionDefault
colorNoLine color (name or hex code, e.g., 'blue', '#2E86AB')
titleNoChart title string, e.g., 'Squares'Line Chart
x_dataYesX-axis data points, e.g., [1, 2, 3, 4]
y_dataYesY-axis data points, e.g., [1, 4, 9, 16]
x_labelNoX-axis label, e.g., 'Time'X
y_labelNoY-axis label, e.g., 'Distance'Y
show_gridNoWhether to display grid lines

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / show_grid / description
      Added value: +"Whether to display grid lines"
  2. Changed6 schema fields changed
    • addedInput schema / properties / color / description
      Added value: +"Line color (name or hex code, e.g., 'blue', '#2E86AB')"
    • addedInput schema / properties / title / description
      Added value: +"Chart title string, e.g., 'Squares'"
    • addedInput schema / properties / x_data / description
      Added value: +"X-axis data points, e.g., [1, 2, 3, 4]"
    • addedInput schema / properties / x_label / description
      Added value: +"X-axis label, e.g., 'Time'"
    • addedInput schema / properties / y_data / description
      Added value: +"Y-axis data points, e.g., [1, 4, 9, 16]"
    • addedInput schema / properties / y_label / description
      Added value: +"Y-axis label, e.g., 'Distance'"
  3. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -{
      -  "additionalProperties": true,
      -  "type": "object"
      -}New value: +null
  4. Changed8 schema fields changed
    • addedInput schema / additionalProperties
      Added value: +false
    • removedInput schema / properties / color / title
      Removed value: -"Color"
    • removedInput schema / properties / show_grid / title
      Removed value: -"Show Grid"
    • removedInput schema / properties / title / title
      Removed value: -"Title"
    • removedInput schema / properties / x_data / title
      Removed value: -"X Data"
    • removedInput schema / properties / x_label / title
      Removed value: -"X Label"
    • removedInput schema / properties / y_data / title
      Removed value: -"Y Data"
    • removedInput schema / properties / y_label / title
      Removed value: -"Y Label"
  5. First observed

TDQS

B3.1/5.0
Behavior3/5

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

The annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is covered. The description usefully adds that matplotlib is required, a genuine runtime dependency not captured by annotations. It still omits what the tool actually produces (inline image, saved file, or return object), which matters given there is no output schema.

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?

A single front-loaded sentence with no filler or redundancy. It is efficiently sized, though the parenthetical dependency note is the only content beyond a restatement of the name.

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

Completeness2/5

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

With 7 parameters, no output schema, and annotations covering only safety, the description should clarify the return behavior (image object, file path, or display side effect) and the constraint that x_data and y_data must be equal length. Neither is present, leaving an agent unable to predict the result of the call.

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 (x_data, y_data, color, labels, grid) is already documented with examples in the schema. The description adds nothing beyond 'data points' and therefore sits at the baseline for schema-documented tools.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/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 (create a line chart from data points), which is unambiguous on its own. It does not, however, distinguish itself from close siblings like plot_scatter, plot_function, or plot_financial_line, which an agent would need to choose between.

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

Usage Guidelines2/5

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

There is no guidance on when to prefer a line chart over plot_scatter, plot_function, or plot_box_plot, nor any mention of prerequisites beyond the matplotlib dependency. The agent must infer selection criteria from the tool name alone.

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.