jlc-mcp
Provides tools for interacting with EasyEDA Pro, enabling schematic editing, PCB placement and routing, design validation, and manufacturing exports.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@jlc-mcpList the components in the current schematic and check for DRC errors."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
jlc-mcp
jlc-mcp is a local Model Context Protocol server that exposes EasyEDA Pro Run API Gateway
capabilities as structured MCP tools.
It connects an MCP client to a live EasyEDA Pro window through loopback-only HTTP and Bridge endpoints. The repository includes tools for project inspection, schematic editing, PCB placement and routing, design validation, manufacturing exports, and experimental high-level schematic workflows.
Development is paused at version 0.19.1.
A live high-level schematic-generation exercise exposed a critical failure mode: EasyEDA could contain newly created components while the canvas appeared blank, followed by an unresponsive editor during heavyweight layout and visual scans.
Do not use the high-level schematic write workflow on an unsaved or valuable project. Read Project status and Editor freeze issue before enabling writes.
At a glance
Transport: Streamable HTTP MCP
Default endpoint:
http://127.0.0.1:8787/mcpHealth endpoint:
http://127.0.0.1:8787/healthEasyEDA Bridge ports:
127.0.0.1:49620-49629Public tools: 172
Write policy: disabled by default
Runtime: Node.js 20 or later
License: MIT
Related MCP server: KiCad MCP Server
What this project provides
The tool surface is organized around a few practical areas:
Area | Examples |
Runtime and sessions | Server status, EasyEDA windows, document context, write policy |
Project management | Project tree, document creation, document switching |
Libraries and parts | Device search, exact LCSC lookup, symbol and footprint inspection |
Schematics | Component inspection, wires, labels, DRC, editing, layout and visual review |
Schematic-to-PCB | Association checks, Import Changes preparation and verification |
PCB design | Placement, board outline, rules, routing, pours, repair and cleanup |
Manufacturing | BOM, pick-and-place, Gerber and project archive exports |
The complete list is maintained in the tool catalog.
Important safety model
jlc-mcp intentionally separates planning from mutation.
Most write tools use this sequence:
Call the tool with
dryRun: true.Review the target, baseline fingerprint, warnings, DRC evidence and rollback details.
Apply with
dryRun: false, the returned one-timeapplyToken, and the expected document UUID.Replan after any EasyEDA edit, focus change, document switch, token expiry or fingerprint conflict.
Actual writes require:
JLC_MCP_ENABLE_WRITES=1Keep writes disabled when you only need inspection, planning, validation or export.
A host-side timeout does not guarantee that an already-running EasyEDA-side script has stopped. If EasyEDA becomes unresponsive, stop the MCP server and reload or restart EasyEDA before doing more work.
Quick start
1. Install dependencies
git clone https://github.com/InkRoad/jlc-mcp.git
cd jlc-mcp
npm install2. Start the server
For development:
npm run devFor a production build:
npm run build
npm startThe host is intentionally fixed to 127.0.0.1.
3. Connect EasyEDA Pro
Open EasyEDA Pro and enable the official Run API Gateway extension with its external-interaction
permission. The embedded Bridge listens on the first available port in 49620-49629 and waits for
the EasyEDA window to register.
Check the connection:
http://127.0.0.1:8787/healthThe response should report an EasyEDA connection and at least one registered window before design tools are used.
4. Connect an MCP client
Point the client at:
http://127.0.0.1:8787/mcpA typical client entry looks like this, although the exact configuration format depends on the MCP client:
{
"mcpServers": {
"jlc-mcp": {
"url": "http://127.0.0.1:8787/mcp"
}
}
}Start with these read-only tools:
jlc_server_statusjlc_session_statusjlc_session_list_windowsjlc_editor_get_contextjlc_write_get_policy
Recommended workflow
Read-only inspection
Confirm the connected EasyEDA window.
Read the focused document context.
Probe the relevant capability tool.
Read complete paginated inventories.
Run DRC and validation tools before making completion claims.
Controlled writes
Back up the project.
Enable
JLC_MCP_ENABLE_WRITES=1only for the current session.Run a dry-run plan.
Inspect every warning and blocker.
Apply the one-time token without editing the design between plan and apply.
Re-read the resulting state and run DRC.
Save explicitly only after visual confirmation in EasyEDA.
High-level schematic workflow
Version 0.19.1 includes this experimental chain:
jlc_schematic_create_design_planjlc_schematic_generate_from_planjlc_schematic_plan_functional_layoutjlc_schematic_apply_layout_planjlc_schematic_plan_orthogonal_wiringjlc_schematic_apply_wiring_planjlc_schematic_review_designjlc_schematic_repair_designjlc_schematic_finalize
These interfaces are retained as a development snapshot. They are not considered safe for autonomous live-editor use while the editor-freeze issue remains open.
For ordinary local schematic connectivity, the workflow prefers the wire primitive's own network name. IN/OUT/BI arrow ports are reserved for explicit cross-page connections. Power and ground flags remain supported.
Common commands
Command | Purpose |
| Start the TypeScript development server |
| Build production JavaScript and declarations |
| Run the built CLI |
| Run the Vitest suite |
| Run TypeScript without emitting files |
| Run Oxlint with warnings denied |
| Check Prettier formatting |
| Run formatting, lint, typecheck, tests and build |
| Remove generated build, test and runtime artifacts |
Configuration
Variable | Default | Purpose |
|
| Loopback HTTP MCP port |
| disabled | Enable tools that mutate EasyEDA state |
| 2 minutes | Lifetime of signed write plans |
| 10 minutes | Ownership window for created objects |
| user audit directory | JSONL write-audit path |
|
| Export and rendered-artifact directory |
| 256 MiB | Maximum artifact size; may only be lowered |
Use a custom HTTP port with either form:
npm run dev -- --port 9000JLC_MCP_HTTP_PORT=9000 npm run devDo not expose the internal Bridge ports outside loopback. A reverse tunnel may publish the MCP HTTP endpoint, but the EasyEDA Bridge must remain local.
Key limitations
The project is paused and has no scheduled maintenance release.
The high-level schematic workflow has an unresolved critical editor-stability issue.
Request timeout is not an EasyEDA-side cancellation guarantee.
EasyEDA runtime capability probes are evidence, not promises that later calls will succeed.
Footprint reassignment for an existing schematic component is not reliably exposed by the accepted public API; use EasyEDA's Footprint Manager and verify afterward.
Import Changes still requires the user to review and apply or cancel the official EasyEDA dialog.
Full-board autorouting and unrestricted arbitrary JavaScript execution are not provided.
A successful DRC does not replace visual inspection, page-boundary checks or manufacturing review.
Project structure
src/
bridge/ EasyEDA Gateway Bridge and request lifecycle
mcp/ MCP server and tool registration
schematic-workflow/ High-level schematic planning and review
schematic-visual/ Geometry, overlap and visual-quality analysis
schematic-render/ Official canvas capture and image validation
connectivity/ Wires, tracks, vias and network transactions
routing/ PCB routing planners and validators
manufacturing/ BOM, PnP, Gerber and project exports
tests/ Unit and protocol tests
scripts/ Real-Gateway and release-specific E2E scripts
skills/jlc-mcp/ ChatGPT Skill instructions and reference material
docs/ Architecture, status, issue and version recordsDocumentation
Document | Contents |
Maintenance state, release posture and final verification | |
Critical known defect and recovery guidance | |
Transport, Bridge and domain-service design | |
All 172 tools grouped by domain | |
Identifiers, transactions, rollback and workflow guidance | |
Final high-level workflow milestone and later incident note | |
Supported security boundary and reporting guidance | |
Known gaps and paused follow-up work |
Earlier milestone records are available under docs/version-*.md. The previous long-form README is
preserved in Git history at commit 096726a.
Development notes
Run the complete repository check before submitting changes:
npm run checkThe final archived snapshot was verified with:
Prettier
Oxlint with zero warnings
TypeScript
--noEmit73 test files and 224 tests
production build
These checks prove internal consistency of the checked-in host code. They do not resolve the open live-editor freeze issue.
Security boundary
MCP and Bridge listeners bind only to loopback addresses.
Writes are disabled unless explicitly enabled.
Mutations use bounded tool-specific APIs rather than arbitrary script execution.
Write plans are short-lived, one-time and bound to document and state fingerprints.
Audit events are written locally.
Exports are restricted to the configured artifact directory.
Read SECURITY.md before exposing the MCP endpoint through any tunnel or shared host.
Disclaimer
This project is not affiliated with or endorsed by JLCPCB or EasyEDA. It is an experimental local integration that depends on EasyEDA Pro runtime APIs, including APIs marked Beta by EasyEDA.
License
This server cannot be installed
Maintenance
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
- Alicense-qualityBmaintenanceA typed Model Context Protocol server that exposes KiCad 10 EDA workflows to language-model clients through validated tool calls.Last updatedMIT
- Flicense-qualityDmaintenanceA Model Context Protocol (MCP) server that exposes KiCad PCB design automation tools to AI assistants and other MCP clients.Last updated
- AlicenseBqualityAmaintenanceEnables MCP clients to control EasyEDA Pro for schematic and PCB design through natural language, bridging the EasyEDA API without external AI or API keys.Last updated49MIT
- Alicense-qualityBmaintenanceEnables 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.Last updated16MIT
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
MCP server for generating rough-draft project plans from natural-language prompts.
A Model Context Protocol server for Wix AI tools
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/InkRoad/jlc-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server