Skip to main content
Glama
tureruygar-glitch

kicad10-mcp

configure_netclasses

Create or update net classes and assign nets in a .kicad_pro file, deriving track widths from IPC-2221 current rules or fixed values. Close the KiCad project first so settings are not overwritten.

Instructions

Create/update net classes and assign nets to them in the .kicad_pro file. Widths can be derived from current (IPC-2221) instead of fixed numbers.

The project must be CLOSED in KiCad (both editors): KiCad keeps project settings in memory and would overwrite this change on its next save. Reopen it afterwards and the nets pick up their classes.

Args: classes: One object per class, e.g. [{"name": "Power", "current_a": 1.5, "nets": ["+5V", "VMOT"]}, {"name": "Motor", "current_a": 2.5, "nets": ["AO1", "AO2"]}, {"name": "Signal", "track_width_mm": 0.25, "nets": ["/*"]}] Keys: name (required); nets (names or KiCad wildcard patterns - plain names also match their '/NAME' root-sheet form); current_a (sizes the track via IPC-2221) or track_width_mm; clearance_mm; via_diameter_mm; via_drill_mm; priority (lower wins when patterns overlap). project_path: .kicad_pro file or its folder; default = project of the open board. temp_rise_c: Temperature rise used for current-based widths. copper_oz: Copper weight used for current-based widths. replace_patterns: Drop all existing net-class patterns first.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
classesYes
copper_ozNo
temp_rise_cNo
project_pathNo
replace_patternsNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations the description carries the full burden and does well: it explains that KiCad would overwrite the change on next save, that replace_patterns drops all existing patterns (a destructive effect), and that priority 'lower wins' on overlap. It does not cover permissions or failure modes, but for a local file-editing tool the disclosure is strong.

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?

The purpose and the project-must-be-closed constraint are front-loaded before the args. The args block is long but every line documents a distinct key or behavior, so it earns its space; only mild verbosity keeps it off a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 5-parameter mutation tool with no annotations and an output schema already present, the description supplies the preconditions, per-field semantics, nesting example and destructive behavior needed to call it correctly. Nothing material is missing.

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 description coverage is 0%, so the description must compensate, and it does: it enumerates the classes object keys (name required, nets with KiCad wildcard/root-sheet matching, current_a IPC-2221 sizing vs track_width_mm, clearance_mm, via_diameter_mm, via_drill_mm, priority) and explains project_path, temp_rise_c, copper_oz and replace_patterns, with a concrete example.

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?

States a specific verb+resource ('Create/update net classes and assign nets to them') plus the target artifact (.kicad_pro file). An agent can distinguish it from read-only siblings like list_netclasses and get_netclass_config without opening a schema.

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 critical precondition ('The project must be CLOSED in KiCad ... Reopen it afterwards') and the current-vs-fixed width choice. However it never explicitly routes to alternatives (e.g. use list_netclasses/get_netclass_config to inspect first), so it is clear context rather than full when/when-not/alternative guidance.

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