Skip to main content
Glama

Add a Line Annotation

add_line_annotation

Draws a line on the logical workspace to separate sites, mark a WAN boundary, or underline a label, and returns the line's ID.

Instructions

Draw a line on the logical workspace, e.g. to separate sites, mark a WAN boundary, or underline a label. Returns the line's id.

Examples:

  • "Draw a red line between the HQ and branch halves of the topology"

  • "Underline the title note"

Input Schema

NameRequiredDescriptionDefault
colorNoRGB as 'r,g,b'0,0,0
end_xYesLogical-workspace coordinate in pixels
end_yYesLogical-workspace coordinate in pixels
widthNoLine width in pixels
start_xYesLogical-workspace coordinate in pixels
start_yYesLogical-workspace coordinate in pixels

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A4/5.0
Behavior4/5

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

Annotations declare readOnlyHint=false and destructiveHint=false, so the mutation profile is already known; the description usefully adds that the call returns the line's id, which is behavior not captured by annotations. It does not discuss whether the annotation is editable/deletable afterward, but that is minor.

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?

The purpose and return value are front-loaded in one sentence, followed by two short examples. Zero padding and no restatement of the name or title.

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?

With an output schema present and full schema coverage, the description need only cover intent and usage, which it does with examples. It could be slightly fuller by noting whether the line persists in the saved file or how it relates to get_annotations/delete_annotation, but nothing essential for correct invocation is missing.

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

Parameters3/5

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

Schema description coverage is 100%, with all six parameters documented (coordinates in logical-workspace pixels, RGB color pattern, width bounds), so the schema carries the semantics. The description only indirectly hints at color ('red line') and adds nothing substantive beyond the schema, so the baseline 3 applies.

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 ('Draw') and resource ('a line on the logical workspace') and gives concrete use cases (separating sites, marking WAN boundaries, underlining labels). It is distinguishable from add_circle_annotation and add_text_note by shape, though it never names those siblings explicitly.

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?

Provides clear when-to-use context through examples such as 'Draw a red line between the HQ and branch halves of the topology.' It does not state exclusions or point to the alternative annotation tools (circle, text note), so routing between annotation siblings is left to inference.

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