Skip to main content
Glama

connect

Links two existing Excalidraw shapes by ID with a bound arrow, optionally adding a label.

Instructions

Connect two existing shapes by ID with a bound arrow.

Input Schema

NameRequiredDescriptionDefault
labelNo
elbowedNo
opacityNo
font_sizeNo
roughnessNo
source_idYes
target_idYes
font_familyNo
strokeColorNo
strokeStyleNo
strokeWidthNo

Output Schema

NameRequiredDescriptionDefault
arrow_idYes
label_idYes
source_idYes
target_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.1

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare destructiveHint=false, idempotentHint=false, and openWorldHint=false, so the safety profile is partly covered. The description adds real value with "bound," telling the agent the arrow stays attached to the shapes, but it omits what happens on an invalid ID, whether calling twice creates two arrows (relevant given idempotentHint=false), and any required preconditions.

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 zero filler and no repetition. It is efficient, though the brevity is partly the cause of the documentation gaps captured in other dimensions rather than a virtue in itself.

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?

An output schema exists, so return values need not be explained, but for an 11-parameter mutation tool the description is far too thin. An agent cannot tell what the styling parameters do, what units or defaults apply, or how the connector behaves relative to add_arrow.

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

Parameters2/5

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

Schema description coverage is 0% across 11 parameters, so the description must carry the burden and it does not. Only source_id/target_id are implicitly explained; label, elbowed, opacity, font_size, font_family, roughness, strokeColor, strokeStyle, and strokeWidth are entirely undocumented in both schema and description.

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?

"Connect two existing shapes by ID with a bound arrow" names a specific verb (connect), the resource (two existing shapes), and the mechanism (by ID, bound arrow). This distinguishes it reasonably well from add_arrow, though it never explicitly names add_arrow as the alternative for a free-floating arrow.

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?

Usage is only implied: "existing shapes" signals the shapes must already exist, so an agent infers it should call add_rectangle/add_circle first. There is no explicit when-to-use vs when-not, and no mention of add_arrow or update_element as alternatives for other connector needs.

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