Skip to main content
Glama

add_path

Create a bezier path layer from [x,y] points to draw a visual stroke or an invisible motion guide for animating layers along a custom route.

Instructions

Create a bezier path layer from an array of [x,y] points. role="visual" draws a stroke; role="motion" is an invisible guide for assign_motion_path. Points are in layer-local px; set x/y to position the path.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "id": "<id>",
      "points": "<points>"
    },
    "name": "add_path"
  }
}

Input Schema

NameRequiredDescriptionDefault
xNoLayer x position
yNoLayer y position
idYesUnique layer id
nameNoDisplay name
roleNovisual or motion (default visual)
closedNoClose the path into a loop (default false)
pointsYesArray of [x,y] pairs, e.g. [[0,0],[100,50],[200,0]]
requestIdNo
sessionIdNo
strokeColorNoStroke hex color
strokeWidthNoStroke width in px
expectedRevisionNo

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 this is a mutation (readOnlyHint=false) in a closed world. The description adds useful behavior the annotations cannot convey: a motion path is invisible and exists only as a guide for assign_motion_path, and points live in layer-local space. It omits error behavior, which layer stack the new layer lands in, and what requestId/expectedRevision do.

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?

Three tight sentences, front-loaded with the core action, then the role distinction, then the coordinate/positioning note. No redundancy and no filler.

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 a 12-parameter creation tool with no output schema, the description covers the essential decision points (role, point format, positioning) and is sufficient to call it correctly. Minor gaps remain around concurrency-related params (expectedRevision, requestId) and which scene/layer stack receives the new layer, but these are standard conventions.

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 75%, so most parameters are already documented, but the description still adds meaning beyond the schema by specifying the coordinate frame (layer-local px) for points and how x/y position the whole path. role and points semantics are reinforced rather than merely repeated. It says nothing about closed, strokeColor, or the revision/session parameters.

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 gives a specific verb and resource ("Create a bezier path layer from an array of [x,y] points") and clarifies the two modes via role. It does not explicitly distinguish this from siblings like add_spline or add_layer, leaving an agent to infer that those create different layer types.

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

Usage Guidelines3/5

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

The role semantics imply when each mode applies ("role=\"visual\" draws a stroke; role=\"motion\" is an invisible guide for assign_motion_path"), which is real usage guidance tied to a named sibling. However, there is no explicit statement of when to choose this tool over add_spline or add_layer, so usage remains implied rather than directed.

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