
Easyeda Mcp Pro
io.github.oaslananka由 GitHub 帳號 oaslananka 發布v1.12.0更新於 Nov 8, 2026
MCP server for EasyEDA Pro: PCB inspection, BOM, exports, and hardware review.
概覽
將 AI 助理連接到 EasyEDA Pro,用於 PCB 與電路圖檢查、BOM 處理、規則檢查與生產匯出。
- 可以做什麼
- 檢查電路圖:列出網路與元件、檢視網路詳情、搜尋並放置函式庫元件、新增修改或刪除導線與圖元
- 處理 BOM:產生、對照 LCSC 庫存驗證、匯出,並查詢供應商價格與供貨狀況
- 執行設計規則檢查與電氣規則檢查,並取得合併的審查摘要
- 檢查電路板:層、疊構、尺寸,以及導孔、走線、鋪銅、焊墊與元件數量
- 依啟用的工具設定匯出 Gerber、貼片座標、PDF 與網表
- 檢視伺服器健康狀態、橋接狀態、能力、功能旗標與即時 EasyEDA API 清單
- 適用情境
- 適合讓助理讀取或審查 EasyEDA Pro 硬體專案、準備 BOM 或採購清單、執行 DRC/ERC,或在不離開對話的情況下產出生產與組裝匯出檔。
- 執行需求
- 透過 npm 套件以 stdio 在本機執行,需要 Node.js 24.x。需安裝 EasyEDA Pro,並匯入、連線隨附的橋接擴充功能。供應商功能需要 JLCPCB_CLIENT_ID 與 JLCPCB_CLIENT_SECRET 等憑證;選用的 HTTP 傳輸在非回送位址上需要 OAuth 設定。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Easyeda Mcp Pro,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
EasyEDA MCP Pro
Inspect, review, and safely automate EasyEDA Pro designs from MCP-compatible AI assistants.
Documentation · Getting Started · Tool Reference · Compatibility · Roadmap · DeepWiki
[npm version] [npm total downloads] [supported Node.js version] [MIT license]
[CI status] [Docs status] [Security policy] [OpenSSF Scorecard]
Trust and Supply Chain
easyeda-mcp-pro keeps historical OpenSSF Best Practices evidence in docs/OPENSSF_BEST_PRACTICES.md and its security assurance case in docs/SECURITY_ASSURANCE_CASE.md. The header badges link to current workflow-backed signals only: CI, generated docs deployment, the project security policy, and the OpenSSF Scorecard. Release integrity evidence (npm provenance, signed-release status) is tracked in docs/RELEASE_VERIFICATION.md. Coverage, Test Analytics, and extension bundle monitoring are documented in docs/CODECOV_ANALYTICS.md.
Licensing note: current repository source is MIT-licensed. Commercial use is permitted under MIT; historical releases retain the license notices shipped with them.
More project references: OpenSSF evidence · Security assurance · Third-party notices · Vendor terms · Remote MCP modes
Support development: Buy me a coffee · Star on GitHub
Quick Start
The fastest way to install and configure easyeda-mcp-pro for your favorite AI assistant or IDE:
-
Auto-configure your MCP client:
This detects and configures Claude Desktop, Cursor, VS Code, Windsurf, Cline, Gemini, Zed, etc. to run the MCP server automatically. (Or run for a specific client, e.g.,
npx easyeda-mcp-pro setup claude) -
Locate and install the EasyEDA Pro bridge extension:
This opens the folder containing the extension package
easyeda-bridge-extension.eext. Import it via EasyEDA Pro → Settings → Extensions → Extension Manager. -
Connect the bridge: In EasyEDA Pro, click MCP Bridge → Connect in the menu bar. On EasyEDA Web, Local also works with the server on the same PC. For a separate self-hosted gateway, use MCP Bridge → Connect Custom Remote... (Experimental) with its secure WSS Relay address and one-time EDA-XXXXXXXX pairing code; this is not the public HTTP /mcp URL. Details.
For advanced configurations, manual instructions, and specific clients, see Installation & Client Configuration.
Overview
easyeda-mcp-pro is a Model Context Protocol (MCP) server that bridges AI assistants with hardware design workflows in EasyEDA Pro. It exposes 126 profile-gated MCP tools for schematic inspection and editing, controlled EasyEDA Pro API calls, Personal Device metadata, BOM management, design rule checks, PCB board analysis, fabrication exports, diagnostics, and supplier integration.
The server connects to EasyEDA Pro via a WebSocket bridge extension, enabling real-time access to open project data. It integrates with JLCPCB, LCSC, Mouser, and DigiKey for BOM sourcing and pricing.
Key Capabilities
Prerequisites
- Node.js: Node.js 24.x is required; repository automation is pinned to 24.22.1.
- pnpm: local development and automation require exactly 11.28.8.
Prepare the supported runtime before installing dependencies:
- EasyEDA Pro with the bundled bridge extension installed and running
- For supplier integration: API credentials from JLCPCB, LCSC, Mouser, or DigiKey
Installation & Client Configuration
Stable v1 is published. If you are upgrading from a pre-v1 release, follow Migrating to v1.
You can configure easyeda-mcp-pro automatically or manually.
1. Automatic Configuration (CLI)
The CLI setup automates editing the configuration files for your client:
Supported Client Keys:
claude(Claude Desktop)cursor(Cursor IDE)vscode(VS Code Copilot)windsurf(Windsurf)cline(Cline)gemini(Gemini CLI / Antigravity)zed(Zed Editor)amazonq(Amazon Q Developer)continue(Continue.dev)
Options:
--profile <name>: Specify the tool profile. Options:core(default),pro,full,dev. Example:npx easyeda-mcp-pro setup cursor --profile full
2. Extension Installation
To bridge the MCP server with EasyEDA Pro:
Installation steps in EasyEDA Pro:
- Open EasyEDA Pro.
- Go to Settings → Extensions → Extension Manager.
- Click Import Extension and select the
easyeda-bridge-extension.eextfile. - Ensure Allow External Interaction is enabled for the extension.
- Fully quit and reopen EasyEDA Pro after each import or upgrade. Extension Manager's success message confirms the installed package, not replacement of a dispatcher already running in memory.
- Click MCP Bridge → Connect, then MCP Bridge → Status to see the running dispatcher build ID. A reconnect or extension disable/enable alone does not activate an imported update. For version-sensitive operations, verify the active build against your intended package before trusting the new behavior.
3. Manual Client Configurations
If you prefer to configure your clients manually, add the following configuration to the respective settings files:
🟣 Claude Desktop
Config Path:
- Windows:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
🔵 Cursor IDE
Config Path: Project-specific .cursor/mcp.json or global ~/.cursor/mcp.json
🟢 VS Code (GitHub Copilot)
Config Path: %APPDATA%\Code\User\mcp.json (Windows), ~/Library/Application Support/Code/User/mcp.json (macOS), or ~/.config/Code/User/mcp.json (Linux)
🏄 Windsurf (Codeium)
Config Path: ~/.codeium/windsurf/mcp_config.json
🤖 Cline
Config Path: Cline VS Code extension global storage (cline_mcp_settings.json)
✨ Gemini CLI / Antigravity
Config Path: ~/.gemini/settings.json or ~/.gemini/config/mcp_config.json
⚡ Zed Editor
Config Path: ~/.config/zed/settings.json
🔄 Continue.dev
Config Path: ~/.continue/config.json
👑 Amazon Q Developer
Config Path: ~/.aws/amazonq/mcp.json
4. Running from Source (Development)
If you are developing or running a modified local build:
To configure your clients to use the local development build:
Local Diagnostics & Health Check
You can diagnose your environment and bridge connectivity at any time:
This checks:
- Node.js version compatibility.
- Runtime mode: source checkout, installed package, or production runtime.
- The CLI entry shebang and the
.eextextension package checksum. - Bridge port availability. Note: The bridge status will show as offline until an MCP client starts the server and connects to the EasyEDA Pro extension.
pnpm is required only for a source checkout and must match the repository pin. pnpm is not required for an installed package or production runtime, including the hardened Docker image.
Doctor exits with status 1 for unsupported required runtimes, invalid configuration, or missing/corrupt runtime artifacts; an offline bridge by itself remains informational.
Configuration
Copy .env.example to .env and edit. All variables have safe defaults — only configure what you need.
Boolean environment variables use strict literals: true / 1 enable a setting and false / 0 disable it. Matching is case-insensitive and surrounding whitespace is ignored. Other values—including yes, no, on, off, enabled, disabled, empty strings, and misspellings—fail startup validation and report the offending variable. Leave a variable unset to use its documented default.
Essential
For Remote Relay experiments, run npx easyeda-mcp-pro doctor --fix after setting MCP_BRIDGE_BACKEND=remote_relay; the doctor output validates HTTP transport, session selection, OAuth, and loopback-only development auth settings.
Bridge (EasyEDA Pro connection)
Storage
Storage paths are resolved in two stages. DATA_DIR is resolved first; each subordinate path is then derived from it with the current operating system's native path separator unless that variable was explicitly supplied. Setting only DATA_DIR therefore relocates the default database, artifact, and cache paths together. Explicit overrides are applied independently and retain their supplied absolute or relative semantics; relative paths remain relative to the MCP process working directory. Changing these settings does not migrate existing data automatically.
Supplier integration
Enable suppliers by setting their credentials. All suppliers are disabled by default.
- JLCPCB:
JLCPCB_MODE=approved_api+ client ID/secret - LCSC:
JLCSEARCH_ENABLED=true(default, no key required for basic search) - Mouser:
MOUSER_ENABLED=true+ API key - DigiKey:
DIGIKEY_ENABLED=true+ OAuth2 client ID/secret
Shared sourcing behavior is controlled independently of any one vendor:
Reserved AI configuration
No in-process AI provider client is currently implemented. The AI_* variables remain accepted for
configuration compatibility but are reported as reserved, are always ineffective, and must not be
used to infer that the server sends design data to an AI provider. Do not supply an API key.
Use easyeda_get_feature_flags or easyeda_get_capabilities to inspect configured, effective,
and maturity values for optional settings.
HTTP transport
When using TRANSPORT=http:
Remote HTTP Security
Every non-loopback HTTP deployment requires OAuth 2.0 / OpenID Connect authentication, regardless of NODE_ENV:
When OAUTH_ENABLED=true, every request to /mcp must include an Authorization: Bearer <token> header unless HTTP_AUTH_DISABLED=true is explicitly set for non-production loopback development. Tokens are verified against OAUTH_JWKS_URI, iss/aud claims are validated, and OAUTH_REQUIRED_SCOPES is enforced against scope, scp, permissions, or roles claims.
The server enforces startup safety checks in every environment: non-loopback HTTP_HOST without OAuth is rejected, OAUTH_JWKS_URI / OAUTH_ISSUER / OAUTH_AUDIENCE are required, wildcard ALLOWED_ORIGINS=* is rejected, and HTTP_AUTH_DISABLED=true remains limited to non-production loopback development. Requests without an Origin header still require a valid bearer token on authenticated deployments; CORS is not an authentication boundary.
Docker defaults
The Docker image starts in HTTP mode with HTTP_HOST=127.0.0.1 so the default container boot path is safe and passes the same startup safety checks as local HTTP mode. For an externally reachable container, override the bind address and configure OAuth plus an explicit, non-wildcard origin allowlist:
Do not expose non-loopback HTTP without OAuth. ALLOWED_ORIGINS restricts browsers but never replaces authentication. Use a reverse proxy or platform gateway for TLS termination and external access.
HTTP Security Features
- Rate limiting: Per-IP sliding window (configurable via
HTTP_RATE_LIMIT_MAX), returns429 Too Many Requestswith retry-after header - Security headers:
X-Content-Type-Options: nosniff,X-Frame-Options: DENY,X-XSS-Protection: 0,Referrer-Policy: strict-origin-when-cross-origin - Health endpoints:
/healthz(liveness) and/readyz(readiness) return JSON status
See .env.example for the complete list of configuration variables.
MCP Tools
The server registers profile-gated tools according to the active TOOL_PROFILE. The table below is generated from the same registry used at runtime:
core exposes the standard workflow tools, pro adds manufacturing exports, full adds controlled documented EasyEDA API calls, and dev adds runtime probes for debugging.
Capability scopes add a second authorization layer when TOOL_SCOPES is set. Leave it empty for the default local all-capabilities mode, or restrict it with comma/space separated scopes such as diagnostics:read, schematic:read, schematic:write, bom:read, bom:source, checks:read, pcb:read, pcb:write, export:write, api:read, api:write, and bridge:execute.
Raw JavaScript execution is intentionally not part of the default dev tool set. easyeda_execute is registered only when both BRIDGE_RAW_EXEC_ENABLED=true and MCP_RAW_EXEC_EXPERIMENTAL=true are set; when TOOL_SCOPES is set it also requires bridge:execute.
L0 — Diagnostics (core)
L0 — Full-control and dev probes
easyeda_api_call is intentionally not raw JavaScript execution. It only accepts documented EasyEDA Pro API class prefixes (DMT_, SCH_, PCB_, LIB_) and a direct method name such as SCH_PrimitiveWire.getAll. Methods that can mutate project state, such as create, delete, modify, openProject, save, import, or export, require confirmWrite=true.
To enable the controlled full-control API tool in your MCP client, set:
L1 — Schematic (core)
The schematic write APIs use EasyEDA Pro extension APIs that EasyEDA currently marks as beta. The bridge checks for the documented API class names at runtime and returns an explicit error when the installed EasyEDA Pro build does not expose a required method.
L1 — BOM (core)
L1 — DRC/ERC (core)
L1 — Board (core)
L1 — Export (core/pro)
Architecture
Transports
- stdio (default): Standard MCP transport — works with Claude Desktop, Cursor, and most MCP clients
- HTTP: Streamable HTTP transport with
/healthz,/readyz,/mcpendpoints, CORS, and optional OAuth — suitable for remote deployments
Deployment modes
Beyond local stdio/HTTP, the server supports a hosted remote runtime (gateway, session router, and approval-scoped relay under src/remote/) for managed connector deployments such as Claude Web or ChatGPT app integrations, plus a self-hosted remote mode for user-managed endpoints. See Remote MCP Modes for the full mode matrix and network/security boundaries of each.
Bridge extension
The extension build writes easyeda-bridge-extension.eext at the repository root.
It contains extension.json, the bundled browser script, and the image assets
required by EasyEDA Pro.
Installation: Open EasyEDA Pro → Settings → Extensions → Extension Manager... → Import Extension, then select the .eext file. Make sure Allow External Interaction is enabled for the extension.
For local bridge development, an experimental loopback-only CDP transport is documented in the CDP Bridge guide. The extension remains the recommended transport for normal use. Public delivery targets and milestone lifecycle rules are maintained in the roadmap.
Agent plugin and skills
This repository owns the product-level agent plugin and EasyEDA-specific skills for
EasyEDA MCP Pro. The central agent-tools
repository should catalog this plugin, but the manifest and workflow instructions live
here so they stay synchronized with the actual MCP server, bridge extension, tool
profiles, and EasyEDA runtime behavior.
Agent setup
EasyEDA MCP Pro can be launched with the published npm package or from a source checkout:
For live EasyEDA Pro workflows, install the EasyEDA bridge extension and confirm the
bridge is reachable with easyeda_health_check and easyeda_bridge_status. Tool
availability depends on TOOL_PROFILE and optional TOOL_SCOPES restrictions.
For source checkouts, run the normal validation path before publishing plugin changes:
Validation workflow
Before listing this plugin as active from agent-tools, verify at least one compatible
agent runtime can:
- Discover
.claude-plugin/plugin.json. - Launch or connect to
easyeda-mcp-prooverstdioor HTTP. - Call
easyeda_health_check,easyeda_bridge_status, oreasyeda_get_capabilities. - Load a skill from
skills/and follow the workflow without referencing missing tools. - Report bridge state, tool profile, ERC, DRC, BOM, export artifacts, assumptions, and human-review requirements separately.
EasyEDA MCP Pro is an engineering assistant, not an autonomous manufacturing sign-off authority. Generated designs, component selections, and fabrication outputs require qualified human review before purchase, fabrication, or assembly.
Development
Prerequisites
- Node.js: Node.js 24.x is required; repository automation is pinned to 24.22.1.
- pnpm: local development and automation require exactly 11.28.8.
Prepare the supported runtime before installing dependencies:
- Go Task (optional, for Taskfile commands)
Quick Start
Available Taskfile Commands
This project includes a Taskfile.yml with the following commands:
The package also exposes pnpm verify, which runs the same CI-equivalent local gate without requiring Go Task.
Install Go Task to use these commands.
Project structure
Security
See Security Architecture & Threat Model for the complete security reference, including deployment modes, authentication, tool safety controls, secrets management, safe defaults, supplier API security, threat scenarios, and deployment checklists.
- Network safety: Validates config at startup in every environment — rejects non-loopback HTTP without complete OAuth and an explicit non-wildcard origin allowlist
- OAuth/JWKS: Bearer token validation via JWKS endpoint for HTTP transport (see OAuth section)
- Rate limiting: Per-IP sliding window rate limiter on HTTP transport (default 100 req/min)
- Path traversal protection: All file export paths validated against
ARTIFACT_DIR - Secret redaction: API keys, tokens, passwords are redacted from logs and diagnostic output
- Branch protection: Governance policy requires code reviews and status checks on the
mainbranch (see Repository Governance) - Code scanning: CodeQL analysis runs on every push and PR (security-extended + security-and-quality queries)
- Dependency management: Renovate policy is configured in-repository; hosted-provider activity is verified through a Renovate Dependency Dashboard or Renovate-authored update activity. Dependency Audit, Dependency Review, Socket, and CodeQL provide independent security signals.
- Supply-chain hygiene: pnpm workspace build, pinned GitHub Actions, and no native SQLite addon dependency
- Reporting: See SECURITY.md for vulnerability disclosure
Release & Dependency Automation
This repository uses automated workflows to manage dependencies and releases:
- Renovate: .github/renovate.json defines the repository's dependency-update policy. Hosted Renovate is an account-level prerequisite; treat a Dependency Dashboard or Renovate-authored update activity as proof that the provider is active. See Repository Governance.
- Release Please: Automates stable version bumps, release metadata, and
CHANGELOG.md. Numberedrc.Ncandidates use the isolated prerelease path. See the Release Policy and Release Process. - Secure Publishing: The release workflow rebuilds and verifies all assets, publishes npm with provenance to channel-safe
latestornextdist-tags, uploads the extension and SBOM to the matching GitHub Release, and keeps GHCR/MCP Registry promotion aligned with the selected channel.
Support the project
If this project helps you save time while working with EasyEDA Pro, BOM workflows, or MCP integrations, you can support ongoing development via the Buy me a coffee button at the top of this README.
License
Current project-authored source is licensed under the MIT License, including commercial use. No separate contributor license agreement is required. See Licensing and Contributing.
Related
- Model Context Protocol — Standard protocol for AI tool integration
- EasyEDA Pro — Professional PCB design tool
來源:README.md,提交 b7e90fc
工具
0版本歷史
13- v1.11.0Nov 7, 2026
- v1.10.0Nov 6, 2026
- v1.9.0Nov 4, 2026
- v1.8.1Nov 3, 2026
- v1.6.0Oct 29, 2026
- v1.5.4Oct 25, 2026
- v1.5.2Oct 23, 2026
- v1.5.0Oct 22, 2026
- v1.4.0Oct 16, 2026
- v1.2.1Oct 16, 2026
- v1.2.0Oct 9, 2026
- v1.1.0Sep 29, 2026
- v1.0.1Sep 16, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分