Skip to main content
Glama
tureruygar-glitch

kicad10-mcp

arrange_row

Align multiple PCB parts in a row or column with fixed pitch or gap spacing, applying optional rotation, all in one undo step for KiCad.

Instructions

Line several parts up in a row or column in one undo step.

Args: references: Parts in order, e.g. ['R1', 'R2', 'R3']. start_x_mm, start_y_mm: Origin of the first part. pitch_mm: Fixed origin-to-origin spacing. If omitted, parts are packed courtyard-to-courtyard with gap_mm between them. direction: 'x' (row, left to right) or 'y' (column, top to bottom). gap_mm: Gap used when pitch_mm is omitted. angle_deg: Optional absolute rotation applied to every part.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
gap_mmNo
pitch_mmNo
angle_degNo
directionNox
referencesYes
start_x_mmYes
start_y_mmYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. It usefully discloses atomicity ('one undo step') and the fallback behavior of courtyard-to-courtyard packing when pitch_mm is omitted, which is real behavioral context. It is silent on permissions, whether existing placements or locks are affected, and error behavior for non-existent references.

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 one-line purpose, then a structured Args block where every entry adds distinct meaning. Slightly verbose in places (the multi-line pitch_mm entry) but nothing is wasted.

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?

An output schema exists, so return values need not be explained. For a mutation tool with 7 parameters and no annotations, the description covers purpose, atomicity, and all parameter semantics well. It could add one line on prerequisites (e.g., parts must exist / be unlocked) to be fully complete.

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

Parameters5/5

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

Schema coverage is 0%, so the description must carry all parameter meaning, and it does: it documents references ordering with an example, the start origin, the pitch-vs-gap interaction and fallback, direction values ('x' row / 'y' column), and angle_deg as an absolute rotation. This is comprehensive compensation for a completely undescribed 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+scope: 'Line several parts up in a row or column in one undo step.' The agent can distinguish this from single-item siblings like move_footprint or rotate_footprint. It does not explicitly name a sibling alternative like place_relative or batch_move_footprints, so the sibling differentiation is implied rather than stated.

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 'one undo step' phrasing implies this is the atomic way to arrange multiple parts at once, and the pitch/gap/direction semantics imply the batch-arrangement use case. However, there is no explicit when-to-use vs when-not guidance and no mention of alternatives such as place_relative for single-part placement.

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