Skip to main content
Glama
groundplane-studio

fusion-electronics-mcp

place_clusters

DestructiveIdempotent

Place passive components around the ICs, connectors, or parts they serve using rules. Preview moves with dry_run=true, then apply them with dry_run=false.

Instructions

Place passives around the part they serve, by rule (the user's patterns: pin -> part -> rail and series parts along the pin's escape, tees too, decaps standing across the column first, bridges along the package edge, chains such as LED + resistor following the part they hang off; connector pins at a board edge escape into the board). Main parts (ICs, connectors) and fixed never move; keep lists members to leave where they are (hand-made power stages, deliberate rows). dry_run=true (default) returns the moves and a before/after picture; then run with dry_run=false to move them (one undo step). Traces on moved parts' nets are not moved: rip them up first (not pour nets) and re-route with route_close.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
keepNo
fixedNo
dry_runNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already flag destructive=true and idempotent=true, and the description adds genuine context beyond them: main parts and `fixed` never move, `keep` members stay, application is 'one undo step', and traces on moved nets are left behind. This materially warns the agent about side effects and reversibility.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded, but the body is a dense run-on paragraph heavy with semicolons and parentheticals, making it harder to parse than needed. Every clause is relevant, but structure and readability suffer.

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 complex, no-output-schema mutation tool it covers purpose, defaults, effect scope, safety/reversibility, and the rip-up prerequisite, and it even describes the dry_run return ('moves and a before/after picture'). Only the identifier conventions for keep/fixed remain unspecified.

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 carries the full burden and does define all three parameters: `keep` (members to leave alone), `fixed` (never move), and `dry_run` (default returns moves vs. applies them). The semantics are covered, though the exact identifier format expected for keep/fixed is not specified.

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 ('place passives around the part they serve, by rule') and enumerates the actual placement rules, so an agent understands exactly what operation it performs. It never names the neighboring siblings (move_part, suggest_placement_moves, score_placement) to differentiate itself, so it stops short of a 5.

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?

Gives a clear workflow: dry_run=true returns the moves plus a before/after picture, then run with dry_run=false to apply, and it states the rip-up prerequisite for traces on moved nets ('rip them up first... and re-route with route_close'). It lacks any explicit when-not or comparison against alternative placement tools.

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