Skip to main content
Glama

pcb_distribute_components

Evenly spaces selected PCB components along the X or Y axis by assigning each designator to equally spaced start-to-end coordinates while leaving the other axis unchanged.

Instructions

Evenly space components along an axis.

Moves each named component so its X (or Y) coordinate lands at equally-spaced stops from start to end. Order follows the designators list, designators="R1,R2,R3" with start=0 end=200 places R1 at 0, R2 at 100, R3 at 200 on the chosen axis. Y (or X) is untouched.

Args: designators: Comma-separated list of component designators axis: "x" or "y" (default "x") start: First position in mils end: Last position in mils

Returns: Dictionary with distribution result

Input Schema

NameRequiredDescriptionDefault
endNo
axisNox
startNo
designatorsYes

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.6.1

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are present, so the description carries the full behavioral burden. It helpfully discloses that components are moved, that the other axis is untouched, and that order follows the designators list, but it omits failure conditions, permission needs, and whether prior placement is overwritten.

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 description is front-loaded with the core behavior and follows with a useful concrete example, argument explanations, and return note. Every section contributes without redundancy.

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, return values need not be fully explained. The description covers the mutation behavior, axis behavior, ordering, units, and parameters well enough for invocation, though it could say more about prerequisite component existence or error handling.

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 description coverage is 0%, so the description must explain the parameters, and it does: designators are comma-separated, axis is x/y with default x, and start/end are positions in mils. It adds meaningful semantics beyond the bare schema titles.

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 and resource: evenly spacing components along an axis, with a concrete example. It is clear what the tool does, but it does not explicitly differentiate itself from nearby siblings such as pcb_align_components or pcb_move_components.

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 operation implies when the tool is useful—when named components need equal spacing along one axis. However, it gives no explicit when-not guidance and does not name alternatives like pcb_align_components or pcb_autoplace.

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