Skip to main content
Glama

함수 그래프 그리기

plot_function

Plot mathematical functions y=f(x) as SVG, PNG, or PDF with a preview and warnings for asymptotes, jumps, and domain gaps.

Instructions

Plot y = f(x) (SVG, PNG, PDF) with a preview; asymptotes, jumps and domain gaps come back as warnings. Measured data: use plot_data. Example: {"series": [{"expr": "sin(x)exp(-x/5)"}], "x_range": [0, "4pi"]} expr: sympy syntax in x (x**2, sqrt(x), exp(x), log(x)=ln, abs(x), pi, e). Check series[].parsed. Labels may use $...$. On failure: errors name the series and character; fix it and call again.

Input Schema

NameRequiredDescriptionDefault
nameNoFile name
titleNo
pointsNoData points to overlay
seriesYes
x_labelNo
x_rangeYes[min, max]; numbers or e.g. "2*pi"
y_labelNo
y_rangeNo[min, max]; empty = auto

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/5.0
Behavior4/5

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

Annotations only say the call is non-read-only, non-destructive, and closed-world; the description adds real value beyond that by disclosing that asymptotes, jumps, and domain gaps surface as warnings, that a preview is produced, and that errors identify the offending series and character. It still doesn't say where the file lands or what the preview contains.

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, then example, then syntax rules, then failure handling – a logical order with no filler sentences. The telegraphic fragments ('expr: sympy syntax in x') are dense but readable; a little more connective wording would help without adding length.

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 an 8-parameter plotting tool with no output schema, the description covers formats, warnings, syntax, and error recovery, which is most of what an agent needs. It leaves the overlay 'points' parameter and the meaning of 'preview' unexplained, which are the main remaining gaps.

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 50% schema coverage, the description compensates on the highest-risk parameters: it documents sympy expression syntax for series[].expr with concrete tokens (x**2, sqrt, log=ln, pi, e), shows x_range accepting strings like "4*pi", and explains $...$ label formatting. The remaining params (name, title, points, y_range) are left to the schema, which describes them only thinly.

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 (plot y = f(x)), names the output formats (SVG, PNG, PDF) and the preview, and explicitly contrasts itself with the sibling plot_data for measured data. An agent can distinguish it from plot_data and render_tikz without opening either schema.

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?

Explicitly routes measured-data cases to plot_data and provides a runnable example call plus a retry instruction on failure ('fix it and call again'). It does not distinguish itself from other siblings like render_tikz or export_document, so the routing guidance is clear but not exhaustive.

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