Skip to main content
Glama
sheares

easyeda-mcp-fix

by sheares

pcb_manage_layers

Destructive

Manage PCB layer properties and visibility: get all layers, select the active layer, show/hide, lock/unlock, modify, add/remove custom layers, and set copper layer count.

Instructions

Manage PCB layers. Actions:

  • get_all: get all layers with properties

  • select: set active layer (layer: string)

  • set_visible: show layer(s) (layer optional; setOtherLayerInvisible optional for solo mode)

  • set_invisible: hide layer(s) (layer optional; setOtherLayerVisible optional)

  • lock: lock layer(s) (layer optional)

  • unlock: unlock layer(s) (layer optional)

  • set_copper_count: set copper layers (count: 2,4,6,...,32). WARNING: REDUCING the count permanently discards all copper (tracks, pours, vias' inner connections) on the removed inner layers. No undo, and no backup snapshot is taken. Export the board first (pcb_export_to_file or document_save_to_file) if the layers being removed hold routing.

  • modify: modify layer properties (layer: string, property: {name?, type?, color?, transparency?})

  • add_custom: add a new custom layer

  • remove: remove a custom layer (layer: string). WARNING: deletes the layer AND everything drawn on it. No undo, no backup snapshot. Export first if in doubt.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
countNoCopper layer count (for set_copper_count)
layerNoLayer name(s)
actionYesAction to perform
documentYesTarget document UUID — auto-switches to this document before executing. Get UUIDs from list_instances or editor_get_open_tabs.
propertyNoProperties to modify (for modify action)
instance_idNoTarget EasyEDA instance ID (8-char hex). Required when multiple instances are connected. Omit when only one instance is connected (auto-selected). Use list_instances to see connected instances.
setOtherLayerVisibleNoShow all other layers (for set_invisible)
setOtherLayerInvisibleNoHide all other layers (for set_visible)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.6.5

TDQS

A4.6/5.0
Behavior5/5

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

Annotations declare destructiveHint=true, but the description goes well beyond that: it specifies exactly what is destroyed ('permanently discards all copper (tracks, pours, vias' inner connections) on the removed inner layers') and that there is 'No undo, and no backup snapshot'. That is precisely the kind of consequence detail an agent needs before invoking a destructive mutation.

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 purpose followed by a scannable bulleted action list; warnings are placed inline with the actions they affect. No filler sentences, and each action line earns its place.

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 destructive multi-action tool with no output schema, the description covers the destructive consequences thoroughly and explains the parameter-per-action mapping. It only lightly covers return values (only get_all is described as returning 'layers with properties'), leaving other actions' responses implicit.

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 coverage is 100%, so baseline is 3, but the description adds genuine meaning by mapping parameters to actions ('layer optional; setOtherLayerInvisible optional for solo mode', 'count: 2,4,6,...,32'), which the flat schema cannot express. It does not cover instance_id/document, but those are already documented in the schema.

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 ('Manage PCB layers') and then enumerates all ten actions with a one-line purpose for each (get_all, select, set_visible, lock, set_copper_count, etc.). This clearly separates it from siblings like pcb_manage_rule_config or pcb_manage_net_rules without needing to open the 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 per-action context and, critically, prerequisite guidance for the risky paths ('Export the board first (pcb_export_to_file or document_save_to_file) if the layers being removed hold routing'). It stops short of explicit when-not/alternative routing (e.g., get_all vs pcb_get_all_primitives), so it is clear context rather than full routing.

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