# easyeda-pro-mcp [Health: Active]

**Category:** 📐 Architecture & Design  
**Repository:** https://github.com/VLab-Software/easyeda_mcp  
**GitHub Stars:** 42  
**npm Downloads (last month):** 1206  
**Views:** 9  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/easyeda-pro-mcp

## Description
MCP server and EasyEDA Pro extension bridge for live project assistance.

## Tools
Capabilities this server exposes over MCP:

- **easyeda_live_status** — Checks whether the EasyEDA Pro extension is connected and reports active document/capability information.
- **easyeda_doctor** — Returns a structured diagnosis of the local MCP bridge, EasyEDA Pro extension connection state, protocol compatibility, active document context, and suggested next steps.
- **easyeda_get_context** — Summarizes active project, active document, selection, and editor context from the open EasyEDA Pro instance.
- **easyeda_find_component** — Finds a component by designator, name, value, footprint, or property in the active EasyEDA Pro project.
- **easyeda_find_net** — Finds a net by name and returns available connections or metadata from the active project.
- **easyeda_schematic_snapshot** — Returns a structured snapshot of the active schematic: components, pins, nets, wires, labels, and confidence metadata.
- **easyeda_list_schematic_components** — Lists normalized schematic components with designator, value/name, footprint, position, and key properties.
- **easyeda_get_component_pins** — Returns all known pins for a schematic component, including pin number, pin name, position, and net when available.
- **easyeda_trace_net** — Shows the pins, components, wires, labels, and ports associated with a schematic net.
- **easyeda_trace_component** — Groups a schematic component's connections by pin and net, with evidence for each connection.
- **easyeda_find_unconnected_pins** — Identifies schematic pins without a confirmed net in the normalized EasyEDA Pro data.
- **easyeda_validate_schematic_area** — Runs generic read-only schematic checks against selected components/nets or the whole schematic.
- **easyeda_verify_connections** — Runs generic read-only connection assertions against the active schematic, including pin/net checks and passive paths through resistors, capacitors, inductors, diodes, or LEDs.
- **easyeda_navigate_component** — Navigates/highlights a component in the EasyEDA Pro editor when the extension can locate it.
- **easyeda_navigate_region** — Navigates to coordinates or a rectangular region in the active EasyEDA Pro PCB/document.
- **easyeda_zoom_board** — Zooms the active PCB editor to the board outline.
- **easyeda_export_bom** — Exports a BOM from the active EasyEDA Pro project through the extension.
- **easyeda_export_netlist** — Exports a netlist from the active EasyEDA Pro schematic or PCB through the extension.
- **easyeda_export_gerber** — Exports Gerber fabrication files from the active EasyEDA Pro PCB through the extension.
- **easyeda_export_pdf** — Exports a PDF from the active EasyEDA Pro document through the extension.
- **easyeda_export_cpl** — Exports the Pick and Place / Centroid (CPL) file from the active EasyEDA Pro PCB for SMT assembly (e.g. JLCPCB).
- **easyeda_run_drc** — Executes the native EasyEDA Pro PCB Design Rule Check (DRC) on the active board and reports rule violations, clearings, and errors.
- **easyeda_get_pcb_layers** — Returns the layer stackup and configuration of the active EasyEDA Pro PCB, including signal/copper layers, mechanical layers, colors, and visibility.
- **easyeda_get_routing_status** — Analyzes the PCB routing status, total nets, completion percentage, unrouted net connections (ratsnest), and optional net lengths.
- **easyeda_list_pcb_components** — Lists normalized PCB components with designator, footprint, placement layer, coordinates, and rotation angle.
- **easyeda_highlight_net** — Visually highlights a specified net on the EasyEDA Pro PCB canvas, or clears all highlighted nets.
- **easyeda_get_selection** — Returns components, pins, or primitives currently selected by the user on the active schematic or PCB canvas.
- **easyeda_search_library** — Searches the EasyEDA / LCSC component catalog by keyword, LCSC part number (e.g. C1523), or manufacturer part number.
- **easyeda_get_drc_rules** — Reads the active PCB's current configuration, named profiles, or net/net-by-net/region rule tables. Returns raw editor JSON and method availability; fields retain editor units. Does not run DRC or write rules.
- **easyeda_prepare_drc_edit** — Prepares one typed DRC operation without writing. Creates a new named rule profile, replaces the current configuration, or replaces an entire net/net-by-net/region table. Show all before/after data and obtain human approval for its editId. No implicit PCB save. Profiles persist when explicitly created.
- **easyeda_get_drc_edit_result** — Query a retained DRC edit after execution or timeout. Never reapply an uncertain edit. Results live only in this extension instance.
- **easyeda_confirmed_action** — Runs a mutating EasyEDA Pro action after human approval. For editDrcRules pass params:{editId} and the exact prepared confirmation. Saving the PCB remains separate.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "easyeda-pro-mcp": {
    "command": "npx",
    "args": ["-y","@vlabsoftware/easyeda-pro-mcp"]
  }
}
```

## Documentation

## What easyeda-pro-mcp does

easyeda-pro-mcp links an MCP-compatible AI client with a live project in EasyEDA Pro. Its companion extension runs inside the editor and provides the connection to the MCP server, allowing an agent to work with structured schematic and PCB data rather than screenshots or manually exported files.

The server supports read-oriented design inspection, including schematic and PCB snapshots, component and pin information, net tracing, and checks for unconnected pins. It also supports programmatic assertions for common circuit requirements such as pull-up or pull-down arrangements, decoupling capacitors, and USB-C 5.1k CC paths.

For PCB work, agents can read active design rules, saved profiles, and net or region tables. Proposed rule changes can be previewed before confirmed updates are applied, followed by readback verification. Editor navigation can focus components or regions, and the integration can export BOM, netlist, Gerber, and PDF files.

## How it works

The integration has two local pieces: the `@vlabsoftware/easyeda-pro-mcp` MCP process launched by the AI client, and the `easyeda_mcp_bridge.eext` extension installed in EasyEDA Pro. Communication uses MCP over local stdio, with the bridge available through `ws://127.0.0.1:8765`.

EasyEDA Pro must have the relevant schematic or PCB project open. After installing or enabling the extension, the bridge can reconnect from the EasyEDA Pro toolbar when necessary. A diagnostic tool named `easyeda_doctor` can check bridge health; `easyeda_schematic_snapshot` inspects the open schematic, and `easyeda_verify_connection` supports connection verification workflows.

## Setup and configuration

Node.js 20 or newer and EasyEDA Pro 2.3.0 or newer are required. The quickest setup is:

```bash
npx -y @vlabsoftware/easyeda-pro-mcp setup
```

This configures detected clients and places the EasyEDA extension package in the Downloads folder or the current directory. Install that `.eext` package through EasyEDA Pro’s Extensions Manager, enable “Allow interactive with external” for the bridge, and open the target project.

The MCP server can also be added manually with a standard stdio configuration:

```json
{
  "mcpServers": {
    "easyeda-pro": {
      "command": "npx",
      "args": ["-y", "@vlabsoftware/easyeda-pro-mcp"]
    }
  }
}
```

On Windows GUI clients, use `cmd` with `/c` before the `npx` arguments. The setup command also supports client-specific configuration for detected installations. Building from source uses `npm install`, `npm run setup:local`, and optionally `npm run setup:clients`.

## Limitations and notes

The workflow depends on EasyEDA Pro being installed, the bridge extension being enabled, and a project being open in the editor. The server is designed for local use rather than a remote hosted connection. Inspection is read-only by default; actions that change the project or design rules require explicit human confirmation. Supported platforms are Windows, macOS, and Linux. The project is released under the MIT license.

_Full upstream README: https://allmcps.com/mcp/easyeda-pro-mcp/readme_

