Skip to main content
Glama
groundplane-studio

fusion-electronics-mcp

import_netlist_from_kicad

Builds a Fusion Electronics schematic from a KiCad PCB netlist, mapping refdes or footprint names to library parts and translating KiCad pad names.

Instructions

Build the schematic of a KiCad board in this design. part_map maps a KiCad refdes OR footprint name to 'DEVICE@LIBRARY' (device = device set + variant), e.g. {"R1": "RES_0402_1K_1%@MY_PASSIVES", "RJ45-TH_RJSAE538402": "CONN_RJ45_2X1_HC-RJ45-059A@MCP Library"}. Mounting holes (no pads) are skipped; add them on the board with add_hole.

style="blocks" (default) draws a reviewable schematic: each IC/connector with its passives wired to it (series parts inline, caps and pull-ups hanging off the net, LED/FET drivers stacked), labels only on nets that leave a block, ground and rails as power symbols, blocks packed onto framed sheets. It needs ground_symbol and power_symbol ('DEVICE@LIBRARY'; a power symbol whose net name follows its value, e.g. GPLIB's bars) or FUSION_MCP_GROUND_SYMBOL / FUSION_MCP_POWER_SYMBOL, and frame or FUSION_MCP_SHEET_FRAME for new sheets. pad_map translates KiCad pad names to library pad names where they differ, by refdes or footprint ({"D_SMB": {"1": "C", "2": "A"}}; one-pad parts map themselves). preview_only=true lays it out and writes an HTML preview without drawing it (parts are added once to read their symbols, then removed). Every pin is checked afterwards. style="grid" places parts in rows with a labelled stub on every pin (the old behaviour). dry_run=true reports the plan without changing anything.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
skipNo
frameNo
sheetNo
styleNoblocks
dry_runNo
pad_mapNo
part_mapYes
pcb_pathYes
power_symbolNo
preview_onlyNo
ground_symbolNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false and destructiveHint=false, and the description meaningfully adds behavioral detail: mounting holes are skipped, preview_only temporarily adds then removes parts, every pin is validated afterwards, and environment-variable fallbacks (FUSION_MCP_GROUND_SYMBOL, FUSION_MCP_POWER_SYMBOL, FUSION_MCP_SHEET_FRAME) exist. It doesn't state whether an existing schematic is overwritten or what happens on re-run beyond idempotentHint=false, so it's strong but not exhaustive.

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?

Purpose and the two core map parameters are front-loaded, then style modes, then flags. The prose is dense but each sentence carries real information (skipped holes, mode semantics, symbol fallbacks). Slightly sprawling given the multiple parenthetical example strings, but nothing is purely 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 an 11-parameter tool with nested objects, no output schema, and zero schema-level param descriptions, the description is unusually complete — it explains the layout semantics, the required companion inputs, and the safety modes. It leaves a minor gap around what the tool returns/reports and how it interacts with pre-existing schematic content.

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 carry the load, and it does for 8 of 11 parameters (part_map, pad_map, style, preview_only, dry_run, ground_symbol, power_symbol, frame). skip, sheet, and pcb_path are left unexplained, so it falls short of full compensation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence states a specific verb and resource — 'Build the schematic of a KiCad board in this design' — which immediately distinguishes it from the sibling import tools (import_routing_from_kicad, import_placement_from_kicad). The two mapping parameters (part_map, pad_map) are explained with concrete examples, so the agent knows exactly what the tool consumes and produces.

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?

The description clearly frames the operating modes: preview_only lays out an HTML preview without drawing, dry_run reports the plan without changing anything, and style='blocks' (default) vs style='grid' (old behaviour) are contrasted. It also redirects mounting holes to add_hole. What's missing is any explicit 'use this instead of X' routing relative to siblings, so it stops short of a 5.

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