Easyeda
FreeNot checkedEnables MCP clients like Claude Code to control a running EasyEDA Pro instance for PCB design automation, including DRC checks, project management, and script e
About
Enables MCP clients like Claude Code to control a running EasyEDA Pro instance for PCB design automation, including DRC checks, project management, and script execution via a bridge server.
README
MCP server that controls a running EasyEDA Pro instance from Claude Code (or any MCP client), via JLCEDA's easyeda-api-skill bridge and the run-api-gateway extension.
Version 0.2.0
How it works
MCP client ⇄ (stdio) ⇄ easyeda-mcp ⇄ (HTTP, port 49620-49629) ⇄ bridge server ⇄ (WebSocket) ⇄ EasyEDA Pro
The bridge server and the EasyEDA-side extension are JLCEDA's published artifacts — this server wraps them with fast discovery (cached port, parallel scan, single round trip per call) and high-level tools so common actions are one tool call instead of hand-written scripts.
Tools
| Tool | What it does |
|---|---|
easyeda_execute |
Run arbitrary JS inside EasyEDA (async function(eda){...} body) |
easyeda_health / easyeda_start_bridge / easyeda_stop_bridge |
Bridge lifecycle (auto-starts on demand) |
easyeda_list_windows / easyeda_select_window |
Multi-window targeting |
easyeda_drc_get_rules |
Current DRC rule configuration + net/region/net-by-net rules (mm) |
easyeda_drc_set_rules |
Patch DRC rules via deep merge (see caveat below) |
easyeda_drc_check |
Run DRC, return the violation list |
easyeda_drc_net_classes |
Net classes & differential pairs: list/create/delete/add/remove |
easyeda_get_state |
One-call orientation: project, board, PCB, schematic, DRC config |
easyeda_open_project |
Open a project by (partial) name |
easyeda_save |
Save open PCB/schematic documents |
easyeda_get_netlist |
Schematic netlist (connectivity source of truth); flags empty-Unique-ID parts that can't sync |
easyeda_survey_pcb |
One-call component + per-net + per-layer geometry survey, normalized to mils |
easyeda_sync_to_pcb |
Safe importChanges: diff netlist vs PCB pad nets (dry-run default), then optionally apply & re-verify |
The last three distill hard-won behavioral traps from real board work (mixed 1-mil/10-mil getters, the getNetlist "i is not iterable" trap when a PCB tab is active, and importChanges silently no-op'ing on Unique-ID mismatches) into tools that handle them for you.
Setup
- Install the easyeda-api-skill bridge and the
run-api-gateway.eextextension in EasyEDA Pro (enable its External Interactions permission). - Point this server at the bridge script if it's not at the default path:
EASYEDA_BRIDGE_SCRIPT=/path/to/bridge-server.mjs - Register with your MCP client, e.g. for Claude Code:
{
"mcpServers": {
"easyeda": { "command": "node", "args": ["/path/to/easyeda-mcp/index.mjs"] }
}
}
Known limitation: global DRC rule writes
EasyEDA Pro v2.2.47.x has an engine bug: the BETA overwriteCurrentRuleConfiguration() API deadlocks and saveRuleConfiguration() is non-functional. easyeda_drc_set_rules therefore fast-fails global config writes (~5s) with guidance, while per-net, region, and net-by-net rule writes work fully. If a newer EasyEDA build fixes the API, the fast-fail can be removed.
Development
npm run smoke # spawns the server, checks tool registration + health
node --test test/deep-merge.test.mjs # unit tests
Install Easyeda in Claude Desktop, Claude Code & Cursor
unyly install easyeda-mcpInstalls into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.
First time? Get the CLI: curl -fsSL https://unyly.org/install | sh
Or configure manually
Run in your terminal:
claude mcp add easyeda-mcp -- npx -y easyeda-mcpFAQ
Is Easyeda MCP free?
Yes, Easyeda MCP is free — one-click install via Unyly at no cost.
Does Easyeda need an API key?
No, Easyeda runs without API keys or environment variables.
Is Easyeda hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Easyeda in Claude Desktop, Claude Code or Cursor?
Open Easyeda on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare Easyeda with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
