Skip to main content
Glama

pcb_snap_to_grid

Aligns a PCB component to the nearest grid point by rounding its X and Y coordinates to the specified grid size for precise board layout.

Instructions

Snap a component to the nearest grid point.

Rounds the component's X and Y position to the nearest multiple of the specified grid size.

Args: designator: Component reference designator (e.g., "U1", "R5") grid_size: Grid spacing in mils (default 50)

Returns: Dictionary with designator, old and new positions, and grid_size

Input Schema

NameRequiredDescriptionDefault
grid_sizeNo
designatorYes

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.6.1

TDQS

A3.5/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 full burden. It does disclose the exact transformation performed (position rounded to a multiple of grid_size), which is genuinely useful behavioral detail, but it says nothing about the mutation's side effects: whether it requires write access to an active board, whether it can be undone, or whether it affects other objects or the component's locked state.

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?

Front-loaded with the one-line purpose, then a precise sentence on the rounding behavior, then structured Args. Nothing is padded or redundant.

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?

For a small two-parameter mutation tool this covers purpose, both parameters, and the return shape (redundant given the output schema, but harmless). What is missing is context about the required editing state or document, which matters because there are no annotations to fall back on.

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 compensate and largely does: designator is defined as a component reference designator with examples ("U1", "R5"), and grid_size is given a unit (mils) plus its default (50). Only minor gaps remain, such as whether grid_size must be positive or whether values must align with the document grid.

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+effect: "Snap a component to the nearest grid point" and clarifies it rounds X and Y to the nearest multiple of the grid size. That is unambiguous, but it never distinguishes itself from neighboring tools that also move components (pcb_align_components, pcb_move_components, obj_set_grid).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use or when-not-to-use guidance and no prerequisites (e.g. an active PCB document or a selected component). An agent must infer the trigger from the name alone and gets no help choosing between this and pcb_align_components or pcb_move_components.

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