Skip to main content
Glama

add_bus_label

Add bus labels to KiCad schematics to identify multi-bit signals with range notation, such as DATA[0..7] or RGB[R,G,B], at specified positions.

Instructions

Add a bus label to the schematic.

Bus labels identify multi-bit signals using range notation. Examples: "DATA[0..7]", "ADDR[0..15]", "RGB[R,G,B]"

Args: text: Label text with bus notation (e.g., "DATA[0..7]") position: Label position as (x, y) tuple in mm rotation: Label rotation in degrees (0, 90, 180, 270), defaults to 0 size: Text size in mm, defaults to 1.27 (KiCAD standard) ctx: MCP context for progress reporting (optional)

Returns: Dictionary with success status and bus label information

Examples: >>> # Add 8-bit data bus label >>> result = await add_bus_label( ... text="DATA[0..7]", ... position=(75.0, 48.0) ... )

>>> # Add RGB bus label
>>> result = await add_bus_label(
...     text="RGB[R,G,B]",
...     position=(100.0, 50.0)
... )

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sizeNo
textYes
positionYes
rotationNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It discloses the return shape at a high level and that ctx is for progress reporting, but says nothing about prerequisites (e.g. must a schematic be loaded), whether the change is persisted or in-memory only, idempotency, or error behavior for malformed bus notation.

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-loads the purpose before Args/Returns/Examples, and the Args block is tight and informative. The two worked examples earn their place by showing valid bus-notation syntax, though the Returns line is vague and adds little.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/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, and parameters are well covered. The remaining gap is behavioral: for a mutating tool with no annotations it never states prerequisites or side effects, leaving the agent without enough to call it safely in context.

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 0%, so the description must compensate and largely does: it documents all four parameters, including the allowed rotation values (0/90/180/270) and the size default of 1.27 mm with a KiCAD-standard rationale. This is meaningful added meaning beyond the bare undescriptioned schema.

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 ('Add a bus label to the schematic') and explains what a bus label is with concrete notation examples like 'DATA[0..7]'. It does not explicitly contrast itself with the sibling add_label for single-bit signals, so an agent must infer the distinction from the name.

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 description implies usage by defining bus labels as multi-bit signal identifiers with range-notation examples, which guides when this tool applies. However, it never states when NOT to use it or names add_label as the alternative for scalar signals, so routing between the two label tools 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.