Skip to main content
Glama
hyl64
by hyl64

jlceda-mcp-server (Official Stack Migration Version)

嘉立创 EDA MCP Server — Let AI programming assistants directly control the PCB/schematic automation toolset of 嘉立创 EDA 专业版.

v1.0 has been fully migrated to the official JLC AI stack: No longer relies on self-developed WebSocket protocol and self-developed plugins, replaced by Run API Gateway extension (EDA side)

  • easyeda-api-skill Bridge Server (protocol side). MCP Server compiles each tool action into eda.* official API code, and executes it inside EDA through the official Bridge Server.

Architecture

AI IDE ──stdio(MCP)──> mcp-server ──HTTP /execute──> 官方 Bridge Server(49620-49629)
                                                        │ WS /eda(握手 easyeda-bridge)
                                                        ▼
                                               Run API Gateway 扩展 ──> 嘉立创EDA专业版
  • MCP server (this repository) communicates with AI IDE via stdio;

  • The official Bridge Server (scripts/bridge-server.mjs, from easyeda-api-skill) automatically discovers/launches, listens on ports 49620-49629, runs as a singleton;

  • The Run API Gateway extension automatically scans ports and connects within 嘉立创EDA专业版 (need to check Allow external interaction in the extension manager), receives execute messages and executes with new AsyncFunction('eda', code).

Related MCP server: JLCEDA MCP Server

Prerequisites

Installation & Build

npm install
npm run build        # tsc 编译
npm run port         # (可选)从 legacy-jlc-bridge 重新生成代码模板
npm run start:bridge # (可选)手动启动官方 Bridge Server;MCP server 也会自动拉起
npm run test:bridge  # 端到端协议冒烟测试(无需真实 EDA,内置 mock)

Configuration

Create .mcp.json in the project directory:

{
  "mcpServers": {
    "jlceda": {
      "command": "node",
      "args": ["<path-to>/jlceda-mcp-server/dist/index.js"],
      "env": {
        "ANTHROPIC_API_KEY": "sk-ant-..."
      }
    }
  }
}

When using for the first time, start the Bridge Server first (or let MCP server automatically launch it), and confirm in 嘉立创EDA that the Run API Gateway extension is connected (the top menu shows API Gateway).

Environment Variables

Variable

Default Value

Description

GATEWAY_BASE_URL

Auto scan

Explicitly specify the official Bridge Server address (e.g., http://127.0.0.1:49620)

AUTO_SPAWN_BRIDGE

true

Automatically launch scripts/bridge-server.mjs when Bridge Server is not found

BRIDGE_SERVER_PATH

scripts/bridge-server.mjs

Custom Bridge Server path

KILL_BRIDGE_ON_EXIT

0

Whether to kill the self-launched Bridge Server on exit (official singleton shared, default not kill)

ANTHROPIC_API_KEY

Anthropic API Key (enables pcb_agent tool when set)

AGENT_MODEL

claude-sonnet-4-20250514

Model used by Agent

Tool List (59)

Status Query (9)

pcb_get_state / pcb_screenshot / pcb_run_drc / pcb_get_tracks / pcb_get_pads pcb_get_net_primitives / pcb_get_board_info / pcb_get_feature_support / pcb_ping

Component Operations (6)

pcb_move_component / pcb_relocate_component / pcb_batch_move / pcb_select_component pcb_delete_selected / pcb_create_component

Tracks / Vias (4)

pcb_route_track / pcb_create_via / pcb_delete_tracks / pcb_delete_via

Copper Pour / Keepout (4)

pcb_create_copper_pour / pcb_delete_pour / pcb_create_keepout / pcb_delete_keepout

Silkscreen (3)

pcb_get_silkscreens / pcb_move_silkscreen / pcb_auto_silkscreen

Advanced Constraints (6)

pcb_create_diff_pair / pcb_list_diff_pairs / pcb_delete_diff_pair pcb_create_equal_length / pcb_list_equal_lengths / pcb_delete_equal_length

Schematic / Document (4)

sch_get_state / sch_get_netlist / sch_run_drc / pcb_open_document

PCB Agent (1, requires ANTHROPIC_API_KEY)

pcb_agent — Intelligent Agent, autonomously orchestrates multi-step operations to complete complex tasks

Calculation Tools (2)

calc_impedance / calc_trace_width

Official Bridge Operations (4, new in v1.0)

pcb_bridge_status — Bridge Server health status (EDA connection count/active windows) pcb_list_eda_windows — List all connected EDA windows pcb_select_eda_window — Select active EDA window (specify target when multiple instances) pcb_execute_code — Execute arbitrary eda.* official API code directly in EDA (advanced/debug)

All coordinate units are in mil. pcb_execute_code usage is consistent with the official easyeda-api-skill: code returns results in the form of return await eda.dmt_Project.getCurrentProjectInfo();

Advanced Features (6, new in v1.1)

pcb_bom_export — Export PCB BOM (JSON + CSV, aggregate quantity/reference designator/net by component name) pcb_net_connectivity_check — Net connectivity check (mark unrouted/single-pad nets) pcb_current_density_report — Current carrying capacity estimation per net (IPC-2221), mark low-capacity nets pcb_fanout_component — Create fanout vias for all pads of a specified component pcb_auto_route_nets — Basic auto-routing (L-shaped two-layer: top horizontal + bottom vertical + vias, requires DRC review) pcb_drc_autofix — DRC auto-fix (currently supports silkscreen conflict auto-arrangement), returns before/after comparison

Advanced Features v2 (4, new in v1.2)

pcb_component_clearance_check — Check pairwise component spacing, mark violations below threshold pcb_route_differential_pairs — Differential pair auto-routing (positive/negative net parallel L-shaped, report length mismatch) pcb_design_health_report — One-click design health report (BOM+connectivity+current+DRC+clearance, READY/NEEDS_WORK/POOR rating) pcb_auto_fanout_and_route — Pipeline: fanout all components → auto-route all nets → DRC → silkscreen auto-fix

Advanced Features v3 (4, new in v1.3)

pcb_auto_place_components — Auto-placement: move components to pad centroid (first-order optimization) pcb_netlist_report — Generate netlist report from PCB pads (component→pin→net / net→component) pcb_design_snapshot / pcb_design_diff — Design snapshot and diff comparison (added/removed/moved) pcb_auto_route_nets upgrade — Single-layer obstacle avoidance routing (bypass pads+clearance) or two-layer L-shaped (useVias) pcb_bom_export upgrade — Support lcscCodes part number mapping (LCSC API protected, cannot auto-query)

Advanced Features v4 (3, new in v1.4)

sch_generate_from_netlist — Import netlist via official sch_Netlist.setNetlist to generate schematic (EasyEDA/JLCEDA/Protel2/PADS/Allegro/DISA/DSNET) sch_generate_from_pcb — One-click: PCB netlist report → Protel2 netlist → import to generate schematic pcb_eprj3_project_info — .eprj3 project inspector (directory/file: index, schematic/PCB/panel list, source file record count)

Project Structure

├── src/
│   ├── index.ts            # MCP 入口(stdio)
│   ├── gateway-client.ts   # 官方 Bridge Server HTTP 客户端(发现/拉起/execute)
│   ├── bridge-client.ts    # 工具层接口(command(action, params)),基于 gateway-client
│   ├── codegen.ts          # 动作 → eda 代码编译(含 ping/select/delete 内联实现)
│   ├── codegen/generated.ts# 自动生成:32 个经典动作的代码模板(npm run port)
│   ├── agent.ts            # pcb_agent(Anthropic tool-use 循环)
│   ├── calculators.ts      # 阻抗/线宽计算
│   └── tools/              # 工具注册(state/components/routing/copper/silkscreen/advanced/schematic/gateway...)
├── scripts/
│   ├── bridge-server.mjs   # 官方 Bridge Server(vendored from easyeda/easyeda-api-skill)
│   ├── port-plugin.mjs     # legacy 插件 → codegen 模板移植工具
│   └── smoke-bridge.mjs    # 端到端协议冒烟测试(mock EDA,无需真实 EDA)
├── legacy-jlc-bridge/      # v0.1 自研插件(已弃用,仅存档)
└── package.json

Verification

npm run build
npm run test:bridge   # 75 项协议级断言(无需 EDA)

Migration Notes (v0.1 → v1.0)

  • EDA side: Self-developed jlc-bridge plugin → Official Run API Gateway extension (no need to maintain plugin code)

  • Protocol side: Self-developed ws://127.0.0.1:18800/ws/bridge → Official Bridge Server (49620-49629, handshake verification)

  • Tool side: 35 action handlers ported as-is to official eda.* code templates (generated by scripts/port-plugin.mjs), MCP tool interface fully compatible with v0.1

  • New: pcb_bridge_status / pcb_list_eda_windows / pcb_select_eda_window / pcb_execute_code

License

MIT

Install Server
A
license - permissive license
C
quality
C
maintenance

Maintenance

Maintainers
3dResponse time
Release cycle
1Releases (12mo)
Commit activity
Issues opened vs closed

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to interact with 嘉立创 EDA for PCB design tasks including project management, component libraries, rule checking, and manufacturing constraints.
    24
  • A
    license
    Not graded
    quality
    C
    maintenance
    An MCP server that enables AI programming assistants to directly control JLCPCB EDA for PCB design automation, offering 39 tools for component placement, routing, copper pour, DRC, and a PCB Agent for autonomous complex tasks.
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables AI assistants to read and modify KiCAD PCB designs through the KiCAD IPC API, providing tools for board queries, footprint placement, track creation, DRC, and export.
    14
    MIT

View all related MCP servers

Related MCP Connectors

  • Package intelligence MCP for AI agents — 22 tools, 19 ecosystems, AGPL SDK, free.

  • Free public MCP for AI agents — 193 tools, 44 workflows. No API key.

  • Electronic component datasheets for AI agents — specs, pinouts, package data on demand.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/hyl64/jlcmcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server