Skip to main content
Glama

실험 데이터 그래프·맞춤

plot_data

Create graphs of measured data with error bars and fitted curves, returning equations with standard errors and R² for lab reports.

Instructions

Plot measured data with error bars and fit a curve (equation with ± standard errors, R²). For lab reports. Example: {"series": [{"x": [0.1, 0.2, 0.3], "y": [0.52, 0.98, 1.55], "yerr": 0.05}], "fit": "linear", "x_label": "m (kg)"} Or paste CSV/markdown table text in table and pick columns by header name; "2.3 ± 0.1" is value ± error. fit: linear, poly2, poly3, exponential, power, log. On failure: errors name the series/column/row; fix it and call again.

Input Schema

NameRequiredDescriptionDefault
fitNonone
nameNoFile name
log_xNo
log_yNo
tableNoCSV/markdown table text with a header row
titleNo
seriesNoOr use table
x_labelNo
y_labelNo
x_columnNotable: x column (default first)
y_columnsNotable: y columns (default the rest)
xerr_columnNotable: x error column
yerr_columnsNotable: y error columns

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, openWorldHint=false, and the description adds error behavior ('errors name the series/column/row; fix it and call again') plus the statistical content of the result. However it never says what the call actually produces or writes, which matters because a non-read-only tool with a `name` ('File name') parameter presumably creates a file.

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 purpose sentence, then a compact JSON example, then the table alternative and the fit list; no filler sentences. The density of punctuation-separated clauses makes it slightly harder to scan than an ideally structured description.

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

Completeness3/5

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

For a 13-parameter tool with no output schema, the description covers the two input paths, fit options, and failure recovery, which is substantial. It omits the return artifact (image path/reference) and the log-axis and labeling parameters, leaving real gaps for a moderately complex tool.

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?

With only 54% schema coverage, the description compensates on the highest-risk parameters: it shows the `series` element shape (x, y, yerr), enumerates the fit modes, and explains the non-obvious table semantics (column selection by header name, and that '2.3 ± 0.1' means value ± error). It still leaves log_x/log_y, title, per-series fit override, and exact xerr/yerr forms undocumented.

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?

States a specific verb and resource ('Plot measured data') plus the outputs it produces (error bars, fitted equation with standard errors, R²) and its intended use ('For lab reports'). The scoping word 'measured' implicitly separates it from plot_function, but no sibling is named explicitly, so it falls just short of a 5.

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 a concrete worked example for the series path and an explicit alternative input path ('Or paste CSV/markdown table text in `table` and pick columns by header name'), plus enumerated fit modes. It lacks explicit when-not-to-use guidance versus plot_function or render_tikz.

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