Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
MCP server for EasyEDA Pro: PCB inspection, BOM, exports, and hardware review.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
NODE_ENV, LOG_LEVEL, TOOL_PROFILE, TOOL_SCOPES, MCP_PROTOCOL_VERSION, MCP_BRIDGE_BACKEND, MCP_REMOTE_SESSION_ID, TRANSPORT, HTTP_HOST, HTTP_PORT, HTTP_AUTH_DISABLED, HTTP_RATE_LIMIT_MAX, CORS_ORIGIN, ALLOWED_ORIGINS, MCP_TASKS_ENABLED, MCP_APPS_ENABLED, MCP_SKILLS_ENABLED, MCP_V2_EXPERIMENTAL, MCP_RAW_EXEC_EXPERIMENTAL, BRIDGE_HOST, BRIDGE_PORT, BRIDGE_PORT_SCAN, BRIDGE_TIMEOUT_MS, BRIDGE_HEARTBEAT_MS, BRIDGE_WAIT_FOR_EDA_MS, BRIDGE_MAX_PAYLOAD_SIZE, BRIDGE_TOKEN, EASYEDA_DEV_BRIDGE, BRIDGE_RAW_EXEC_ENABLED, DATA_DIR, SQLITE_PATH, ARTIFACT_DIR, CACHE_DIR, AI_PROVIDER, AI_MODEL, AI_API_KEY, AI_MAX_TOKENS, AI_TIMEOUT_MS, AI_ALLOW_DESIGN_MUTATIONS, JLCPCB_MODE, JLCPCB_CLIENT_ID, JLCPCB_CLIENT_SECRET, JLCPCB_API_BASE_URL, JLCPCB_ENABLE_ORDERING, JLCSEARCH_ENABLED, JLCSEARCH_BASE_URL, LCSC_API_KEY, KEYLESS_SOURCING_ENABLED, SOURCING_CACHE_TTL_SECONDS, VENDOR_MIN_REQUEST_INTERVAL_MS, MOUSER_ENABLED, MOUSER_API_KEY, MOUSER_API_BASE_URL, DIGIKEY_ENABLED, DIGIKEY_CLIENT_ID, DIGIKEY_CLIENT_SECRET, DIGIKEY_SANDBOX, DIGIKEY_LOCALE, DIGIKEY_CURRENCY, OAUTH_ENABLED, OAUTH_ISSUER, OAUTH_AUDIENCE, OAUTH_JWKS_URI, OAUTH_REQUIRED_SCOPES, OTEL_ENABLED, OTEL_SERVICE_NAME, OTEL_EXPORTER_OTLP_ENDPOINT, TRACE_SAMPLE_RATEValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"easyeda-pro": {
"command": "npx",
"args": [
"-y",
"easyeda-mcp-pro"
],
"env": {
"NODE_ENV": "your-value",
"LOG_LEVEL": "your-value",
"TOOL_PROFILE": "your-value",
"TOOL_SCOPES": "your-value",
"MCP_PROTOCOL_VERSION": "your-value",
"MCP_BRIDGE_BACKEND": "your-value",
"MCP_REMOTE_SESSION_ID": "your-value",
"TRANSPORT": "your-value",
"HTTP_HOST": "your-value",
"HTTP_PORT": "your-value",
"HTTP_AUTH_DISABLED": "your-value",
"HTTP_RATE_LIMIT_MAX": "your-value",
"CORS_ORIGIN": "your-value",
"ALLOWED_ORIGINS": "your-value",
"MCP_TASKS_ENABLED": "your-value",
"MCP_APPS_ENABLED": "your-value",
"MCP_SKILLS_ENABLED": "your-value",
"MCP_V2_EXPERIMENTAL": "your-value",
"MCP_RAW_EXEC_EXPERIMENTAL": "your-value",
"BRIDGE_HOST": "your-value",
"BRIDGE_PORT": "your-value",
"BRIDGE_PORT_SCAN": "your-value",
"BRIDGE_TIMEOUT_MS": "your-value",
"BRIDGE_HEARTBEAT_MS": "your-value",
"BRIDGE_WAIT_FOR_EDA_MS": "your-value",
"BRIDGE_MAX_PAYLOAD_SIZE": "your-value",
"BRIDGE_TOKEN": "your-value",
"EASYEDA_DEV_BRIDGE": "your-value",
"BRIDGE_RAW_EXEC_ENABLED": "your-value",
"DATA_DIR": "your-value",
"SQLITE_PATH": "your-value",
"ARTIFACT_DIR": "your-value",
"CACHE_DIR": "your-value",
"AI_PROVIDER": "your-value",
"AI_MODEL": "your-value",
"AI_API_KEY": "your-value",
"AI_MAX_TOKENS": "your-value",
"AI_TIMEOUT_MS": "your-value",
"AI_ALLOW_DESIGN_MUTATIONS": "your-value",
"JLCPCB_MODE": "your-value",
"JLCPCB_CLIENT_ID": "your-value",
"JLCPCB_CLIENT_SECRET": "your-value",
"JLCPCB_API_BASE_URL": "your-value",
"JLCPCB_ENABLE_ORDERING": "your-value",
"JLCSEARCH_ENABLED": "your-value",
"JLCSEARCH_BASE_URL": "your-value",
"LCSC_API_KEY": "your-value",
"KEYLESS_SOURCING_ENABLED": "your-value",
"SOURCING_CACHE_TTL_SECONDS": "your-value",
"VENDOR_MIN_REQUEST_INTERVAL_MS": "your-value",
"MOUSER_ENABLED": "your-value",
"MOUSER_API_KEY": "your-value",
"MOUSER_API_BASE_URL": "your-value",
"DIGIKEY_ENABLED": "your-value",
"DIGIKEY_CLIENT_ID": "your-value",
"DIGIKEY_CLIENT_SECRET": "your-value",
"DIGIKEY_SANDBOX": "your-value",
"DIGIKEY_LOCALE": "your-value",
"DIGIKEY_CURRENCY": "your-value",
"OAUTH_ENABLED": "your-value",
"OAUTH_ISSUER": "your-value",
"OAUTH_AUDIENCE": "your-value",
"OAUTH_JWKS_URI": "your-value",
"OAUTH_REQUIRED_SCOPES": "your-value",
"OTEL_ENABLED": "your-value",
"OTEL_SERVICE_NAME": "your-value",
"OTEL_EXPORTER_OTLP_ENDPOINT": "your-value",
"TRACE_SAMPLE_RATE": "your-value"
}
}
}
}Run this in your terminal
claude mcp add easyeda-pro --env NODE_ENV=your-value --env LOG_LEVEL=your-value --env TOOL_PROFILE=your-value --env TOOL_SCOPES=your-value --env MCP_PROTOCOL_VERSION=your-value --env MCP_BRIDGE_BACKEND=your-value --env MCP_REMOTE_SESSION_ID=your-value --env TRANSPORT=your-value --env HTTP_HOST=your-value --env HTTP_PORT=your-value --env HTTP_AUTH_DISABLED=your-value --env HTTP_RATE_LIMIT_MAX=your-value --env CORS_ORIGIN=your-value --env ALLOWED_ORIGINS=your-value --env MCP_TASKS_ENABLED=your-value --env MCP_APPS_ENABLED=your-value --env MCP_SKILLS_ENABLED=your-value --env MCP_V2_EXPERIMENTAL=your-value --env MCP_RAW_EXEC_EXPERIMENTAL=your-value --env BRIDGE_HOST=your-value --env BRIDGE_PORT=your-value --env BRIDGE_PORT_SCAN=your-value --env BRIDGE_TIMEOUT_MS=your-value --env BRIDGE_HEARTBEAT_MS=your-value --env BRIDGE_WAIT_FOR_EDA_MS=your-value --env BRIDGE_MAX_PAYLOAD_SIZE=your-value --env BRIDGE_TOKEN=your-value --env EASYEDA_DEV_BRIDGE=your-value --env BRIDGE_RAW_EXEC_ENABLED=your-value --env DATA_DIR=your-value --env SQLITE_PATH=your-value --env ARTIFACT_DIR=your-value --env CACHE_DIR=your-value --env AI_PROVIDER=your-value --env AI_MODEL=your-value --env AI_API_KEY=your-value --env AI_MAX_TOKENS=your-value --env AI_TIMEOUT_MS=your-value --env AI_ALLOW_DESIGN_MUTATIONS=your-value --env JLCPCB_MODE=your-value --env JLCPCB_CLIENT_ID=your-value --env JLCPCB_CLIENT_SECRET=your-value --env JLCPCB_API_BASE_URL=your-value --env JLCPCB_ENABLE_ORDERING=your-value --env JLCSEARCH_ENABLED=your-value --env JLCSEARCH_BASE_URL=your-value --env LCSC_API_KEY=your-value --env KEYLESS_SOURCING_ENABLED=your-value --env SOURCING_CACHE_TTL_SECONDS=your-value --env VENDOR_MIN_REQUEST_INTERVAL_MS=your-value --env MOUSER_ENABLED=your-value --env MOUSER_API_KEY=your-value --env MOUSER_API_BASE_URL=your-value --env DIGIKEY_ENABLED=your-value --env DIGIKEY_CLIENT_ID=your-value --env DIGIKEY_CLIENT_SECRET=your-value --env DIGIKEY_SANDBOX=your-value --env DIGIKEY_LOCALE=your-value --env DIGIKEY_CURRENCY=your-value --env OAUTH_ENABLED=your-value --env OAUTH_ISSUER=your-value --env OAUTH_AUDIENCE=your-value --env OAUTH_JWKS_URI=your-value --env OAUTH_REQUIRED_SCOPES=your-value --env OTEL_ENABLED=your-value --env OTEL_SERVICE_NAME=your-value --env OTEL_EXPORTER_OTLP_ENDPOINT=your-value --env TRACE_SAMPLE_RATE=your-value -- npx -y easyeda-mcp-proFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"easyeda-pro": {
"command": "npx",
"args": [
"-y",
"easyeda-mcp-pro"
],
"env": {
"NODE_ENV": "your-value",
"LOG_LEVEL": "your-value",
"TOOL_PROFILE": "your-value",
"TOOL_SCOPES": "your-value",
"MCP_PROTOCOL_VERSION": "your-value",
"MCP_BRIDGE_BACKEND": "your-value",
"MCP_REMOTE_SESSION_ID": "your-value",
"TRANSPORT": "your-value",
"HTTP_HOST": "your-value",
"HTTP_PORT": "your-value",
"HTTP_AUTH_DISABLED": "your-value",
"HTTP_RATE_LIMIT_MAX": "your-value",
"CORS_ORIGIN": "your-value",
"ALLOWED_ORIGINS": "your-value",
"MCP_TASKS_ENABLED": "your-value",
"MCP_APPS_ENABLED": "your-value",
"MCP_SKILLS_ENABLED": "your-value",
"MCP_V2_EXPERIMENTAL": "your-value",
"MCP_RAW_EXEC_EXPERIMENTAL": "your-value",
"BRIDGE_HOST": "your-value",
"BRIDGE_PORT": "your-value",
"BRIDGE_PORT_SCAN": "your-value",
"BRIDGE_TIMEOUT_MS": "your-value",
"BRIDGE_HEARTBEAT_MS": "your-value",
"BRIDGE_WAIT_FOR_EDA_MS": "your-value",
"BRIDGE_MAX_PAYLOAD_SIZE": "your-value",
"BRIDGE_TOKEN": "your-value",
"EASYEDA_DEV_BRIDGE": "your-value",
"BRIDGE_RAW_EXEC_ENABLED": "your-value",
"DATA_DIR": "your-value",
"SQLITE_PATH": "your-value",
"ARTIFACT_DIR": "your-value",
"CACHE_DIR": "your-value",
"AI_PROVIDER": "your-value",
"AI_MODEL": "your-value",
"AI_API_KEY": "your-value",
"AI_MAX_TOKENS": "your-value",
"AI_TIMEOUT_MS": "your-value",
"AI_ALLOW_DESIGN_MUTATIONS": "your-value",
"JLCPCB_MODE": "your-value",
"JLCPCB_CLIENT_ID": "your-value",
"JLCPCB_CLIENT_SECRET": "your-value",
"JLCPCB_API_BASE_URL": "your-value",
"JLCPCB_ENABLE_ORDERING": "your-value",
"JLCSEARCH_ENABLED": "your-value",
"JLCSEARCH_BASE_URL": "your-value",
"LCSC_API_KEY": "your-value",
"KEYLESS_SOURCING_ENABLED": "your-value",
"SOURCING_CACHE_TTL_SECONDS": "your-value",
"VENDOR_MIN_REQUEST_INTERVAL_MS": "your-value",
"MOUSER_ENABLED": "your-value",
"MOUSER_API_KEY": "your-value",
"MOUSER_API_BASE_URL": "your-value",
"DIGIKEY_ENABLED": "your-value",
"DIGIKEY_CLIENT_ID": "your-value",
"DIGIKEY_CLIENT_SECRET": "your-value",
"DIGIKEY_SANDBOX": "your-value",
"DIGIKEY_LOCALE": "your-value",
"DIGIKEY_CURRENCY": "your-value",
"OAUTH_ENABLED": "your-value",
"OAUTH_ISSUER": "your-value",
"OAUTH_AUDIENCE": "your-value",
"OAUTH_JWKS_URI": "your-value",
"OAUTH_REQUIRED_SCOPES": "your-value",
"OTEL_ENABLED": "your-value",
"OTEL_SERVICE_NAME": "your-value",
"OTEL_EXPORTER_OTLP_ENDPOINT": "your-value",
"TRACE_SAMPLE_RATE": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"easyeda-pro": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"easyeda-mcp-pro"
],
"env": {
"NODE_ENV": "your-value",
"LOG_LEVEL": "your-value",
"TOOL_PROFILE": "your-value",
"TOOL_SCOPES": "your-value",
"MCP_PROTOCOL_VERSION": "your-value",
"MCP_BRIDGE_BACKEND": "your-value",
"MCP_REMOTE_SESSION_ID": "your-value",
"TRANSPORT": "your-value",
"HTTP_HOST": "your-value",
"HTTP_PORT": "your-value",
"HTTP_AUTH_DISABLED": "your-value",
"HTTP_RATE_LIMIT_MAX": "your-value",
"CORS_ORIGIN": "your-value",
"ALLOWED_ORIGINS": "your-value",
"MCP_TASKS_ENABLED": "your-value",
"MCP_APPS_ENABLED": "your-value",
"MCP_SKILLS_ENABLED": "your-value",
"MCP_V2_EXPERIMENTAL": "your-value",
"MCP_RAW_EXEC_EXPERIMENTAL": "your-value",
"BRIDGE_HOST": "your-value",
"BRIDGE_PORT": "your-value",
"BRIDGE_PORT_SCAN": "your-value",
"BRIDGE_TIMEOUT_MS": "your-value",
"BRIDGE_HEARTBEAT_MS": "your-value",
"BRIDGE_WAIT_FOR_EDA_MS": "your-value",
"BRIDGE_MAX_PAYLOAD_SIZE": "your-value",
"BRIDGE_TOKEN": "your-value",
"EASYEDA_DEV_BRIDGE": "your-value",
"BRIDGE_RAW_EXEC_ENABLED": "your-value",
"DATA_DIR": "your-value",
"SQLITE_PATH": "your-value",
"ARTIFACT_DIR": "your-value",
"CACHE_DIR": "your-value",
"AI_PROVIDER": "your-value",
"AI_MODEL": "your-value",
"AI_API_KEY": "your-value",
"AI_MAX_TOKENS": "your-value",
"AI_TIMEOUT_MS": "your-value",
"AI_ALLOW_DESIGN_MUTATIONS": "your-value",
"JLCPCB_MODE": "your-value",
"JLCPCB_CLIENT_ID": "your-value",
"JLCPCB_CLIENT_SECRET": "your-value",
"JLCPCB_API_BASE_URL": "your-value",
"JLCPCB_ENABLE_ORDERING": "your-value",
"JLCSEARCH_ENABLED": "your-value",
"JLCSEARCH_BASE_URL": "your-value",
"LCSC_API_KEY": "your-value",
"KEYLESS_SOURCING_ENABLED": "your-value",
"SOURCING_CACHE_TTL_SECONDS": "your-value",
"VENDOR_MIN_REQUEST_INTERVAL_MS": "your-value",
"MOUSER_ENABLED": "your-value",
"MOUSER_API_KEY": "your-value",
"MOUSER_API_BASE_URL": "your-value",
"DIGIKEY_ENABLED": "your-value",
"DIGIKEY_CLIENT_ID": "your-value",
"DIGIKEY_CLIENT_SECRET": "your-value",
"DIGIKEY_SANDBOX": "your-value",
"DIGIKEY_LOCALE": "your-value",
"DIGIKEY_CURRENCY": "your-value",
"OAUTH_ENABLED": "your-value",
"OAUTH_ISSUER": "your-value",
"OAUTH_AUDIENCE": "your-value",
"OAUTH_JWKS_URI": "your-value",
"OAUTH_REQUIRED_SCOPES": "your-value",
"OTEL_ENABLED": "your-value",
"OTEL_SERVICE_NAME": "your-value",
"OTEL_EXPORTER_OTLP_ENDPOINT": "your-value",
"TRACE_SAMPLE_RATE": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
NODE_ENV envLOG_LEVEL envTOOL_PROFILE envTOOL_SCOPES envMCP_PROTOCOL_VERSION envMCP_BRIDGE_BACKEND envMCP_REMOTE_SESSION_ID envTRANSPORT envHTTP_HOST envHTTP_PORT envHTTP_AUTH_DISABLED envHTTP_RATE_LIMIT_MAX envCORS_ORIGIN envALLOWED_ORIGINS envMCP_TASKS_ENABLED envMCP_APPS_ENABLED envMCP_SKILLS_ENABLED envMCP_V2_EXPERIMENTAL envMCP_RAW_EXEC_EXPERIMENTAL envBRIDGE_HOST envBRIDGE_PORT envBRIDGE_PORT_SCAN envBRIDGE_TIMEOUT_MS envBRIDGE_HEARTBEAT_MS envBRIDGE_WAIT_FOR_EDA_MS envBRIDGE_MAX_PAYLOAD_SIZE envEASYEDA_DEV_BRIDGE envBRIDGE_RAW_EXEC_ENABLED envDATA_DIR envSQLITE_PATH envARTIFACT_DIR envCACHE_DIR envAI_PROVIDER envAI_MODEL envAI_MAX_TOKENS envAI_TIMEOUT_MS envAI_ALLOW_DESIGN_MUTATIONS envJLCPCB_MODE envJLCPCB_CLIENT_ID envJLCPCB_API_BASE_URL envJLCPCB_ENABLE_ORDERING envJLCSEARCH_ENABLED envJLCSEARCH_BASE_URL envKEYLESS_SOURCING_ENABLED envSOURCING_CACHE_TTL_SECONDS envVENDOR_MIN_REQUEST_INTERVAL_MS envMOUSER_ENABLED envMOUSER_API_BASE_URL envDIGIKEY_ENABLED envDIGIKEY_CLIENT_ID envDIGIKEY_SANDBOX envDIGIKEY_LOCALE envDIGIKEY_CURRENCY envOAUTH_ENABLED envOAUTH_ISSUER envOAUTH_AUDIENCE envOAUTH_JWKS_URI envOAUTH_REQUIRED_SCOPES envOTEL_ENABLED envOTEL_SERVICE_NAME envOTEL_EXPORTER_OTLP_ENDPOINT envTRACE_SAMPLE_RATE envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026
The registry name was verified with the GitHub account oaslananka, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: BRIDGE_TOKEN, AI_API_KEY, JLCPCB_CLIENT_SECRET, LCSC_API_KEY, MOUSER_API_KEY, DIGIKEY_CLIENT_SECRET
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (1.12.0) reached the registry today.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Spec Driven Development, Remote Desktop Commander, Aiterm MCP
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Persistent terminals and one launcher for Claude, Codex, Grok, Cursor, and Antigravity harnesses.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Inspect, review, and safely automate EasyEDA Pro designs from MCP-compatible AI assistants.
Documentation · Getting Started · Tool Reference · Compatibility · Roadmap · DeepWiki
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
The fastest way to install and configure easyeda-mcp-pro for your favorite AI assistant or IDE:
npx easyeda-mcp-pro setup all
_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)_
npx easyeda-mcp-pro extension --open
_This opens the folder containing the extension package easyeda-bridge-extension.eext. Import it via EasyEDA Pro → Settings → Extensions → Extension Manager._
For advanced configurations, manual instructions, and specific clients, see Installation & Client Configuration.
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.
| Area | What you can do |
|---|---|
| Schematic | List nets/components, search and place devices, edit wires/primitives |
| BOM | Generate, validate, export, and source bill of materials |
| DRC/ERC | Run design rule and electrical rule checks |
| Board | Inspect layers, stackup, dimensions, features |
| Export | Export Gerbers, pick-and-place, PDF, netlist |
| Diagnostics | Health check, bridge status, API inventory, capabilities, self-test |
Prepare the supported runtime before installing dependencies:
nvm install 24.22.1
nvm use 24.22.1 corepack enable corepack prepare pnpm@11.28.8 --activate node scripts/check-runtime.mjs --require-pnpm
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.
The CLI setup automates editing the configuration files for your client:
# Configure all detected clients automatically
npx easyeda-mcp-pro setup all
npx easyeda-mcp-pro setup
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)--profile : Specify the tool profile. Options: core (default), pro, full, dev. Example: npx easyeda-mcp-pro setup cursor --profile fullTo bridge the MCP server with EasyEDA Pro:
# Open the directory containing the .eext extension package in your file manager
npx easyeda-mcp-pro extension --open
npx easyeda-mcp-pro extension --copy /path/to/destination
Installation steps in EasyEDA Pro:
easyeda-bridge-extension.eext file.If you prefer to configure your clients manually, add the following configuration to the respective settings files:
🟣 Claude Desktop
Config Path:
%APPDATA%\Claude\claude_desktop_config.json~/Library/Application Support/Claude/claude_desktop_config.json~/.config/Claude/claude_desktop_config.json{
"mcpServers": { "easyeda-mcp-pro": { "command": "npx", "args": ["-y", "easyeda-mcp-pro@latest"], "env": { "TOOL_PROFILE": "core" } } } }
🔵 Cursor IDE
Config Path: Project-specific .cursor/mcp.json or global ~/.cursor/mcp.json
{
"mcpServers": { "easyeda-mcp-pro": { "command": "npx", "args": ["-y", "easyeda-mcp-pro@latest"], "env": { "TOOL_PROFILE": "pro" } } } }
🟢 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)
{
"servers": { "easyeda-mcp-pro": { "command": "npx", "args": ["-y", "easyeda-mcp-pro@latest"], "env": { "TOOL_PROFILE": "pro" } } } }
🏄 Windsurf (Codeium)
Config Path: ~/.codeium/windsurf/mcp_config.json
{
"mcpServers": { "easyeda-mcp-pro": { "command": "npx", "args": ["-y", "easyeda-mcp-pro@latest"], "env": { "TOOL_PROFILE": "pro" } } } }
🤖 Cline
Config Path: Cline VS Code extension global storage (cline_mcp_settings.json)
{
"mcpServers": { "easyeda-mcp-pro": { "command": "npx", "args": ["-y", "easyeda-mcp-pro@latest"], "env": { "TOOL_PROFILE": "pro" }, "disabled": false, "autoApprove": [] } } }
✨ Gemini CLI / Antigravity
Config Path: ~/.gemini/settings.json or ~/.gemini/config/mcp_config.json
{
"mcpServers": { "easyeda-mcp-pro": { "command": "npx", "args": ["-y", "easyeda-mcp-pro@latest"], "env": { "TOOL_PROFILE": "pro" } } } }
⚡ Zed Editor
Config Path: ~/.config/zed/settings.json
{
"context_servers": { "easyeda-mcp-pro": { "command": { "path": "npx", "args": ["-y", "easyeda-mcp-pro@latest"] }, "settings": {} } } }
🔄 Continue.dev
Config Path: ~/.continue/config.json
{
"mcpServers": { "easyeda-mcp-pro": { "command": "npx", "args": ["-y", "easyeda-mcp-pro@latest"], "env": { "TOOL_PROFILE": "pro" } } } }
👑 Amazon Q Developer
Config Path: ~/.aws/amazonq/mcp.json
{
"mcpServers": { "easyeda-mcp-pro": { "command": "npx", "args": ["-y", "easyeda-mcp-pro@latest"], "env": {
Only the beginning is shown; read the rest in the repo