Skip to main content
Glama

add_gp_stroke

Draw a single Grease Pencil stroke from local-space points, with optional layer, frame, radius taper, material, and cyclic closure for 2D drawings or animation.

Instructions

Draw one stroke in a Grease Pencil object.

Points are in the object's local space. cyclic closes the outline.

Args: object_name: Grease Pencil object (from create_grease_pencil). points: 2 to 10000 points, each [x, y, z]. layer: Layer to draw on; empty uses the active layer, a new name creates it. frame: Keyframe to draw into (drawings per frame make 2D animation). radius: Stroke radius in metres, one value or one per point (0.0001 to 10). Varying it tapers the line. cyclic: Close the stroke back to its first point. material: Grease Pencil material (create_gp_material); empty uses the object's first material.

Returns: Dict with the layer, frame and stroke count on that frame.

Input Schema

NameRequiredDescriptionDefault
frameNo
layerNo
cyclicNo
pointsYes
radiusNo
materialNo
object_nameYes

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv3.0.0

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does so well: it discloses coordinate space, that a non-empty unknown layer name silently creates a layer, that empty material falls back to the object's first material, and that per-point radius tapers the stroke. It omits mode/context requirements (e.g., object mode) and any limits on how strokes interact with existing frame data, keeping it from a 5.

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 the one-line purpose, then an Args block where each line carries distinct information. Slightly long, but no sentence is filler; the localized Args/Returns format is readable.

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?

An output schema exists and the description still summarizes the return (layer, frame, stroke count). Combined with thorough parameter semantics and disclosed fallback behaviors, an agent has everything needed to invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description compensates fully: every one of the 7 parameters is explained semantically — point count bounds (2 to 10000), radius range (0.0001 to 10) and scalar-vs-array behavior, layer creation vs active-layer fallback, and frame meaning for animation. This is far beyond what the bare schema provides.

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+resource: 'Draw one stroke in a Grease Pencil object,' which is unambiguous. It does not, however, distinguish itself from sibling tools like add_annotation_stroke or create_grease_pencil, which an agent could plausibly confuse it with.

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?

Prerequisites are implied clearly through parameter notes ('from create_grease_pencil', 'create_gp_material'), routing the agent to the right setup tools first. There is no explicit when-not-to-use guidance or comparison to add_annotation_stroke, so it stops short of a 5.

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

Deploy Server

Other Tools