Search / io.github.oaslananka/easyeda-mcp-pro
easyeda-mcp-pro
L0· runs locallyMCP server for EasyEDA Pro: PCB inspection, BOM, exports, and hardware review.
v1.4.0 · active · repository · descriptor JSON · versions
Search / io.github.oaslananka/easyeda-mcp-pro
L0· runs locallyMCP server for EasyEDA Pro: PCB inspection, BOM, exports, and hardware review.
v1.4.0 · active · repository · descriptor JSON · versions
{
"mcpServers": {
"easyeda-mcp-pro": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"NODE_ENV": "development",
"LOG_LEVEL": "info",
"TOOL_PROFILE": "core",
"MCP_PROTOCOL_VERSION": "2025-11-25",
"MCP_BRIDGE_BACKEND": "local_bridge",
"TRANSPORT": "stdio",
"HTTP_HOST": "127.0.0.1",
"HTTP_PORT": "3000",
"HTTP_AUTH_DISABLED": "false",
"HTTP_RATE_LIMIT_MAX": "100",
"MCP_TASKS_ENABLED": "false",
"MCP_APPS_ENABLED": "false",
"MCP_V2_EXPERIMENTAL": "false",
"MCP_RAW_EXEC_EXPERIMENTAL": "false",
"BRIDGE_HOST": "127.0.0.1",
"BRIDGE_PORT": "49620",
"BRIDGE_PORT_SCAN": "49620-49629",
"BRIDGE_TIMEOUT_MS": "15000",
"BRIDGE_HEARTBEAT_MS": "10000",
"BRIDGE_WAIT_FOR_EDA_MS": "30000",
"BRIDGE_MAX_PAYLOAD_SIZE": "1048576",
"BRIDGE_TOKEN": "${BRIDGE_TOKEN}",
"EASYEDA_DEV_BRIDGE": "false",
"BRIDGE_RAW_EXEC_ENABLED": "false",
"AI_PROVIDER": "none",
"AI_API_KEY": "${AI_API_KEY}",
"AI_MAX_TOKENS": "8000",
"AI_TIMEOUT_MS": "60000",
"AI_ALLOW_DESIGN_MUTATIONS": "false",
"JLCPCB_MODE": "disabled",
"JLCPCB_CLIENT_SECRET": "${JLCPCB_CLIENT_SECRET}",
"JLCPCB_API_BASE_URL": "https://api.jlcpcb.com",
"JLCPCB_ENABLE_ORDERING": "false",
"JLCSEARCH_ENABLED": "true",
"JLCSEARCH_BASE_URL": "https://jlcsearch.tscircuit.com",
"LCSC_API_KEY": "${LCSC_API_KEY}",
"KEYLESS_SOURCING_ENABLED": "true",
"SOURCING_CACHE_TTL_SECONDS": "21600",
"VENDOR_MIN_REQUEST_INTERVAL_MS": "150",
"MOUSER_ENABLED": "false",
"MOUSER_API_KEY": "${MOUSER_API_KEY}",
"MOUSER_API_BASE_URL": "https://api.mouser.com",
"DIGIKEY_ENABLED": "false",
"DIGIKEY_CLIENT_SECRET": "${DIGIKEY_CLIENT_SECRET}",
"DIGIKEY_SANDBOX": "true",
"DIGIKEY_LOCALE": "en-US",
"DIGIKEY_CURRENCY": "USD",
"OAUTH_ENABLED": "false",
"OAUTH_AUDIENCE": "easyeda-mcp-pro",
"OAUTH_REQUIRED_SCOPES": "easyeda:read",
"OTEL_ENABLED": "false",
"OTEL_SERVICE_NAME": "easyeda-mcp-pro",
"TRACE_SAMPLE_RATE": "1"
}
}
}
}claude mcp add easyeda-mcp-pro -e "NODE_ENV=development" -e "LOG_LEVEL=info" -e "TOOL_PROFILE=core" -e "MCP_PROTOCOL_VERSION=2025-11-25" -e "MCP_BRIDGE_BACKEND=local_bridge" -e "TRANSPORT=stdio" -e "HTTP_HOST=127.0.0.1" -e "HTTP_PORT=3000" -e "HTTP_AUTH_DISABLED=false" -e "HTTP_RATE_LIMIT_MAX=100" -e "MCP_TASKS_ENABLED=false" -e "MCP_APPS_ENABLED=false" -e "MCP_V2_EXPERIMENTAL=false" -e "MCP_RAW_EXEC_EXPERIMENTAL=false" -e "BRIDGE_HOST=127.0.0.1" -e "BRIDGE_PORT=49620" -e "BRIDGE_PORT_SCAN=49620-49629" -e "BRIDGE_TIMEOUT_MS=15000" -e "BRIDGE_HEARTBEAT_MS=10000" -e "BRIDGE_WAIT_FOR_EDA_MS=30000" -e "BRIDGE_MAX_PAYLOAD_SIZE=1048576" -e "BRIDGE_TOKEN=${BRIDGE_TOKEN}" -e "EASYEDA_DEV_BRIDGE=false" -e "BRIDGE_RAW_EXEC_ENABLED=false" -e "AI_PROVIDER=none" -e "AI_API_KEY=${AI_API_KEY}" -e "AI_MAX_TOKENS=8000" -e "AI_TIMEOUT_MS=60000" -e "AI_ALLOW_DESIGN_MUTATIONS=false" -e "JLCPCB_MODE=disabled" -e "JLCPCB_CLIENT_SECRET=${JLCPCB_CLIENT_SECRET}" -e "JLCPCB_API_BASE_URL=https://api.jlcpcb.com" -e "JLCPCB_ENABLE_ORDERING=false" -e "JLCSEARCH_ENABLED=true" -e "JLCSEARCH_BASE_URL=https://jlcsearch.tscircuit.com" -e "LCSC_API_KEY=${LCSC_API_KEY}" -e "KEYLESS_SOURCING_ENABLED=true" -e "SOURCING_CACHE_TTL_SECONDS=21600" -e "VENDOR_MIN_REQUEST_INTERVAL_MS=150" -e "MOUSER_ENABLED=false" -e "MOUSER_API_KEY=${MOUSER_API_KEY}" -e "MOUSER_API_BASE_URL=https://api.mouser.com" -e "DIGIKEY_ENABLED=false" -e "DIGIKEY_CLIENT_SECRET=${DIGIKEY_CLIENT_SECRET}" -e "DIGIKEY_SANDBOX=true" -e "DIGIKEY_LOCALE=en-US" -e "DIGIKEY_CURRENCY=USD" -e "OAUTH_ENABLED=false" -e "OAUTH_AUDIENCE=easyeda-mcp-pro" -e "OAUTH_REQUIRED_SCOPES=easyeda:read" -e "OTEL_ENABLED=false" -e "OTEL_SERVICE_NAME=easyeda-mcp-pro" -e "TRACE_SAMPLE_RATE=1" -- npx -y [email protected][mcp_servers.easyeda-mcp-pro]
command = "npx"
args = ["-y", "[email protected]"]
env = { "NODE_ENV" = "development", "LOG_LEVEL" = "info", "TOOL_PROFILE" = "core", "MCP_PROTOCOL_VERSION" = "2025-11-25", "MCP_BRIDGE_BACKEND" = "local_bridge", "TRANSPORT" = "stdio", "HTTP_HOST" = "127.0.0.1", "HTTP_PORT" = "3000", "HTTP_AUTH_DISABLED" = "false", "HTTP_RATE_LIMIT_MAX" = "100", "MCP_TASKS_ENABLED" = "false", "MCP_APPS_ENABLED" = "false", "MCP_V2_EXPERIMENTAL" = "false", "MCP_RAW_EXEC_EXPERIMENTAL" = "false", "BRIDGE_HOST" = "127.0.0.1", "BRIDGE_PORT" = "49620", "BRIDGE_PORT_SCAN" = "49620-49629", "BRIDGE_TIMEOUT_MS" = "15000", "BRIDGE_HEARTBEAT_MS" = "10000", "BRIDGE_WAIT_FOR_EDA_MS" = "30000", "BRIDGE_MAX_PAYLOAD_SIZE" = "1048576", "BRIDGE_TOKEN" = "${BRIDGE_TOKEN}", "EASYEDA_DEV_BRIDGE" = "false", "BRIDGE_RAW_EXEC_ENABLED" = "false", "AI_PROVIDER" = "none", "AI_API_KEY" = "${AI_API_KEY}", "AI_MAX_TOKENS" = "8000", "AI_TIMEOUT_MS" = "60000", "AI_ALLOW_DESIGN_MUTATIONS" = "false", "JLCPCB_MODE" = "disabled", "JLCPCB_CLIENT_SECRET" = "${JLCPCB_CLIENT_SECRET}", "JLCPCB_API_BASE_URL" = "https://api.jlcpcb.com", "JLCPCB_ENABLE_ORDERING" = "false", "JLCSEARCH_ENABLED" = "true", "JLCSEARCH_BASE_URL" = "https://jlcsearch.tscircuit.com", "LCSC_API_KEY" = "${LCSC_API_KEY}", "KEYLESS_SOURCING_ENABLED" = "true", "SOURCING_CACHE_TTL_SECONDS" = "21600", "VENDOR_MIN_REQUEST_INTERVAL_MS" = "150", "MOUSER_ENABLED" = "false", "MOUSER_API_KEY" = "${MOUSER_API_KEY}", "MOUSER_API_BASE_URL" = "https://api.mouser.com", "DIGIKEY_ENABLED" = "false", "DIGIKEY_CLIENT_SECRET" = "${DIGIKEY_CLIENT_SECRET}", "DIGIKEY_SANDBOX" = "true", "DIGIKEY_LOCALE" = "en-US", "DIGIKEY_CURRENCY" = "USD", "OAUTH_ENABLED" = "false", "OAUTH_AUDIENCE" = "easyeda-mcp-pro", "OAUTH_REQUIRED_SCOPES" = "easyeda:read", "OTEL_ENABLED" = "false", "OTEL_SERVICE_NAME" = "easyeda-mcp-pro", "TRACE_SAMPLE_RATE" = "1" }
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"easyeda-mcp-pro": {
"type": "local",
"command": [
"npx",
"-y",
"[email protected]"
],
"enabled": true,
"environment": {
"NODE_ENV": "development",
"LOG_LEVEL": "info",
"TOOL_PROFILE": "core",
"MCP_PROTOCOL_VERSION": "2025-11-25",
"MCP_BRIDGE_BACKEND": "local_bridge",
"TRANSPORT": "stdio",
"HTTP_HOST": "127.0.0.1",
"HTTP_PORT": "3000",
"HTTP_AUTH_DISABLED": "false",
"HTTP_RATE_LIMIT_MAX": "100",
"MCP_TASKS_ENABLED": "false",
"MCP_APPS_ENABLED": "false",
"MCP_V2_EXPERIMENTAL": "false",
"MCP_RAW_EXEC_EXPERIMENTAL": "false",
"BRIDGE_HOST": "127.0.0.1",
"BRIDGE_PORT": "49620",
"BRIDGE_PORT_SCAN": "49620-49629",
"BRIDGE_TIMEOUT_MS": "15000",
"BRIDGE_HEARTBEAT_MS": "10000",
"BRIDGE_WAIT_FOR_EDA_MS": "30000",
"BRIDGE_MAX_PAYLOAD_SIZE": "1048576",
"BRIDGE_TOKEN": "{env:BRIDGE_TOKEN}",
"EASYEDA_DEV_BRIDGE": "false",
"BRIDGE_RAW_EXEC_ENABLED": "false",
"AI_PROVIDER": "none",
"AI_API_KEY": "{env:AI_API_KEY}",
"AI_MAX_TOKENS": "8000",
"AI_TIMEOUT_MS": "60000",
"AI_ALLOW_DESIGN_MUTATIONS": "false",
"JLCPCB_MODE": "disabled",
"JLCPCB_CLIENT_SECRET": "{env:JLCPCB_CLIENT_SECRET}",
"JLCPCB_API_BASE_URL": "https://api.jlcpcb.com",
"JLCPCB_ENABLE_ORDERING": "false",
"JLCSEARCH_ENABLED": "true",
"JLCSEARCH_BASE_URL": "https://jlcsearch.tscircuit.com",
"LCSC_API_KEY": "{env:LCSC_API_KEY}",
"KEYLESS_SOURCING_ENABLED": "true",
"SOURCING_CACHE_TTL_SECONDS": "21600",
"VENDOR_MIN_REQUEST_INTERVAL_MS": "150",
"MOUSER_ENABLED": "false",
"MOUSER_API_KEY": "{env:MOUSER_API_KEY}",
"MOUSER_API_BASE_URL": "https://api.mouser.com",
"DIGIKEY_ENABLED": "false",
"DIGIKEY_CLIENT_SECRET": "{env:DIGIKEY_CLIENT_SECRET}",
"DIGIKEY_SANDBOX": "true",
"DIGIKEY_LOCALE": "en-US",
"DIGIKEY_CURRENCY": "USD",
"OAUTH_ENABLED": "false",
"OAUTH_AUDIENCE": "easyeda-mcp-pro",
"OAUTH_REQUIRED_SCOPES": "easyeda:read",
"OTEL_ENABLED": "false",
"OTEL_SERVICE_NAME": "easyeda-mcp-pro",
"TRACE_SAMPLE_RATE": "1"
}
}
}
}{
"mcpServers": {
"easyeda-mcp-pro": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"NODE_ENV": "development",
"LOG_LEVEL": "info",
"TOOL_PROFILE": "core",
"MCP_PROTOCOL_VERSION": "2025-11-25",
"MCP_BRIDGE_BACKEND": "local_bridge",
"TRANSPORT": "stdio",
"HTTP_HOST": "127.0.0.1",
"HTTP_PORT": "3000",
"HTTP_AUTH_DISABLED": "false",
"HTTP_RATE_LIMIT_MAX": "100",
"MCP_TASKS_ENABLED": "false",
"MCP_APPS_ENABLED": "false",
"MCP_V2_EXPERIMENTAL": "false",
"MCP_RAW_EXEC_EXPERIMENTAL": "false",
"BRIDGE_HOST": "127.0.0.1",
"BRIDGE_PORT": "49620",
"BRIDGE_PORT_SCAN": "49620-49629",
"BRIDGE_TIMEOUT_MS": "15000",
"BRIDGE_HEARTBEAT_MS": "10000",
"BRIDGE_WAIT_FOR_EDA_MS": "30000",
"BRIDGE_MAX_PAYLOAD_SIZE": "1048576",
"BRIDGE_TOKEN": "${BRIDGE_TOKEN}",
"EASYEDA_DEV_BRIDGE": "false",
"BRIDGE_RAW_EXEC_ENABLED": "false",
"AI_PROVIDER": "none",
"AI_API_KEY": "${AI_API_KEY}",
"AI_MAX_TOKENS": "8000",
"AI_TIMEOUT_MS": "60000",
"AI_ALLOW_DESIGN_MUTATIONS": "false",
"JLCPCB_MODE": "disabled",
"JLCPCB_CLIENT_SECRET": "${JLCPCB_CLIENT_SECRET}",
"JLCPCB_API_BASE_URL": "https://api.jlcpcb.com",
"JLCPCB_ENABLE_ORDERING": "false",
"JLCSEARCH_ENABLED": "true",
"JLCSEARCH_BASE_URL": "https://jlcsearch.tscircuit.com",
"LCSC_API_KEY": "${LCSC_API_KEY}",
"KEYLESS_SOURCING_ENABLED": "true",
"SOURCING_CACHE_TTL_SECONDS": "21600",
"VENDOR_MIN_REQUEST_INTERVAL_MS": "150",
"MOUSER_ENABLED": "false",
"MOUSER_API_KEY": "${MOUSER_API_KEY}",
"MOUSER_API_BASE_URL": "https://api.mouser.com",
"DIGIKEY_ENABLED": "false",
"DIGIKEY_CLIENT_SECRET": "${DIGIKEY_CLIENT_SECRET}",
"DIGIKEY_SANDBOX": "true",
"DIGIKEY_LOCALE": "en-US",
"DIGIKEY_CURRENCY": "USD",
"OAUTH_ENABLED": "false",
"OAUTH_AUDIENCE": "easyeda-mcp-pro",
"OAUTH_REQUIRED_SCOPES": "easyeda:read",
"OTEL_ENABLED": "false",
"OTEL_SERVICE_NAME": "easyeda-mcp-pro",
"TRACE_SAMPLE_RATE": "1"
}
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=easyeda-mcp-pro&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsImVhc3llZGEtbWNwLXByb0AxLjQuMCJdLCJlbnYiOnsiTk9ERV9FTlYiOiJkZXZlbG9wbWVudCIsIkxPR19MRVZFTCI6ImluZm8iLCJUT09MX1BST0ZJTEUiOiJjb3JlIiwiTUNQX1BST1RPQ09MX1ZFUlNJT04iOiIyMDI1LTExLTI1IiwiTUNQX0JSSURHRV9CQUNLRU5EIjoibG9jYWxfYnJpZGdlIiwiVFJBTlNQT1JUIjoic3RkaW8iLCJIVFRQX0hPU1QiOiIxMjcuMC4wLjEiLCJIVFRQX1BPUlQiOiIzMDAwIiwiSFRUUF9BVVRIX0RJU0FCTEVEIjoiZmFsc2UiLCJIVFRQX1JBVEVfTElNSVRfTUFYIjoiMTAwIiwiTUNQX1RBU0tTX0VOQUJMRUQiOiJmYWxzZSIsIk1DUF9BUFBTX0VOQUJMRUQiOiJmYWxzZSIsIk1DUF9WMl9FWFBFUklNRU5UQUwiOiJmYWxzZSIsIk1DUF9SQVdfRVhFQ19FWFBFUklNRU5UQUwiOiJmYWxzZSIsIkJSSURHRV9IT1NUIjoiMTI3LjAuMC4xIiwiQlJJREdFX1BPUlQiOiI0OTYyMCIsIkJSSURHRV9QT1JUX1NDQU4iOiI0OTYyMC00OTYyOSIsIkJSSURHRV9USU1FT1VUX01TIjoiMTUwMDAiLCJCUklER0VfSEVBUlRCRUFUX01TIjoiMTAwMDAiLCJCUklER0VfV0FJVF9GT1JfRURBX01TIjoiMzAwMDAiLCJCUklER0VfTUFYX1BBWUxPQURfU0laRSI6IjEwNDg1NzYiLCJCUklER0VfVE9LRU4iOiIke0JSSURHRV9UT0tFTn0iLCJFQVNZRURBX0RFVl9CUklER0UiOiJmYWxzZSIsIkJSSURHRV9SQVdfRVhFQ19FTkFCTEVEIjoiZmFsc2UiLCJBSV9QUk9WSURFUiI6Im5vbmUiLCJBSV9BUElfS0VZIjoiJHtBSV9BUElfS0VZfSIsIkFJX01BWF9UT0tFTlMiOiI4MDAwIiwiQUlfVElNRU9VVF9NUyI6IjYwMDAwIiwiQUlfQUxMT1dfREVTSUdOX01VVEFUSU9OUyI6ImZhbHNlIiwiSkxDUENCX01PREUiOiJkaXNhYmxlZCIsIkpMQ1BDQl9DTElFTlRfU0VDUkVUIjoiJHtKTENQQ0JfQ0xJRU5UX1NFQ1JFVH0iLCJKTENQQ0JfQVBJX0JBU0VfVVJMIjoiaHR0cHM6Ly9hcGkuamxjcGNiLmNvbSIsIkpMQ1BDQl9FTkFCTEVfT1JERVJJTkciOiJmYWxzZSIsIkpMQ1NFQVJDSF9FTkFCTEVEIjoidHJ1ZSIsIkpMQ1NFQVJDSF9CQVNFX1VSTCI6Imh0dHBzOi8vamxjc2VhcmNoLnRzY2lyY3VpdC5jb20iLCJMQ1NDX0FQSV9LRVkiOiIke0xDU0NfQVBJX0tFWX0iLCJLRVlMRVNTX1NPVVJDSU5HX0VOQUJMRUQiOiJ0cnVlIiwiU09VUkNJTkdfQ0FDSEVfVFRMX1NFQ09ORFMiOiIyMTYwMCIsIlZFTkRPUl9NSU5fUkVRVUVTVF9JTlRFUlZBTF9NUyI6IjE1MCIsIk1PVVNFUl9FTkFCTEVEIjoiZmFsc2UiLCJNT1VTRVJfQVBJX0tFWSI6IiR7TU9VU0VSX0FQSV9LRVl9IiwiTU9VU0VSX0FQSV9CQVNFX1VSTCI6Imh0dHBzOi8vYXBpLm1vdXNlci5jb20iLCJESUdJS0VZX0VOQUJMRUQiOiJmYWxzZSIsIkRJR0lLRVlfQ0xJRU5UX1NFQ1JFVCI6IiR7RElHSUtFWV9DTElFTlRfU0VDUkVUfSIsIkRJR0lLRVlfU0FOREJPWCI6InRydWUiLCJESUdJS0VZX0xPQ0FMRSI6ImVuLVVTIiwiRElHSUtFWV9DVVJSRU5DWSI6IlVTRCIsIk9BVVRIX0VOQUJMRUQiOiJmYWxzZSIsIk9BVVRIX0FVRElFTkNFIjoiZWFzeWVkYS1tY3AtcHJvIiwiT0FVVEhfUkVRVUlSRURfU0NPUEVTIjoiZWFzeWVkYTpyZWFkIiwiT1RFTF9FTkFCTEVEIjoiZmFsc2UiLCJPVEVMX1NFUlZJQ0VfTkFNRSI6ImVhc3llZGEtbWNwLXBybyIsIlRSQUNFX1NBTVBMRV9SQVRFIjoiMSJ9fQ%3D%3D"
}{
"servers": {
"easyeda-mcp-pro": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"NODE_ENV": "development",
"LOG_LEVEL": "info",
"TOOL_PROFILE": "core",
"MCP_PROTOCOL_VERSION": "2025-11-25",
"MCP_BRIDGE_BACKEND": "local_bridge",
"TRANSPORT": "stdio",
"HTTP_HOST": "127.0.0.1",
"HTTP_PORT": "3000",
"HTTP_AUTH_DISABLED": "false",
"HTTP_RATE_LIMIT_MAX": "100",
"MCP_TASKS_ENABLED": "false",
"MCP_APPS_ENABLED": "false",
"MCP_V2_EXPERIMENTAL": "false",
"MCP_RAW_EXEC_EXPERIMENTAL": "false",
"BRIDGE_HOST": "127.0.0.1",
"BRIDGE_PORT": "49620",
"BRIDGE_PORT_SCAN": "49620-49629",
"BRIDGE_TIMEOUT_MS": "15000",
"BRIDGE_HEARTBEAT_MS": "10000",
"BRIDGE_WAIT_FOR_EDA_MS": "30000",
"BRIDGE_MAX_PAYLOAD_SIZE": "1048576",
"BRIDGE_TOKEN": "${BRIDGE_TOKEN}",
"EASYEDA_DEV_BRIDGE": "false",
"BRIDGE_RAW_EXEC_ENABLED": "false",
"AI_PROVIDER": "none",
"AI_API_KEY": "${AI_API_KEY}",
"AI_MAX_TOKENS": "8000",
"AI_TIMEOUT_MS": "60000",
"AI_ALLOW_DESIGN_MUTATIONS": "false",
"JLCPCB_MODE": "disabled",
"JLCPCB_CLIENT_SECRET": "${JLCPCB_CLIENT_SECRET}",
"JLCPCB_API_BASE_URL": "https://api.jlcpcb.com",
"JLCPCB_ENABLE_ORDERING": "false",
"JLCSEARCH_ENABLED": "true",
"JLCSEARCH_BASE_URL": "https://jlcsearch.tscircuit.com",
"LCSC_API_KEY": "${LCSC_API_KEY}",
"KEYLESS_SOURCING_ENABLED": "true",
"SOURCING_CACHE_TTL_SECONDS": "21600",
"VENDOR_MIN_REQUEST_INTERVAL_MS": "150",
"MOUSER_ENABLED": "false",
"MOUSER_API_KEY": "${MOUSER_API_KEY}",
"MOUSER_API_BASE_URL": "https://api.mouser.com",
"DIGIKEY_ENABLED": "false",
"DIGIKEY_CLIENT_SECRET": "${DIGIKEY_CLIENT_SECRET}",
"DIGIKEY_SANDBOX": "true",
"DIGIKEY_LOCALE": "en-US",
"DIGIKEY_CURRENCY": "USD",
"OAUTH_ENABLED": "false",
"OAUTH_AUDIENCE": "easyeda-mcp-pro",
"OAUTH_REQUIRED_SCOPES": "easyeda:read",
"OTEL_ENABLED": "false",
"OTEL_SERVICE_NAME": "easyeda-mcp-pro",
"TRACE_SAMPLE_RATE": "1"
}
}
}
}{
"mcpServers": {
"easyeda-mcp-pro": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"NODE_ENV": "development",
"LOG_LEVEL": "info",
"TOOL_PROFILE": "core",
"MCP_PROTOCOL_VERSION": "2025-11-25",
"MCP_BRIDGE_BACKEND": "local_bridge",
"TRANSPORT": "stdio",
"HTTP_HOST": "127.0.0.1",
"HTTP_PORT": "3000",
"HTTP_AUTH_DISABLED": "false",
"HTTP_RATE_LIMIT_MAX": "100",
"MCP_TASKS_ENABLED": "false",
"MCP_APPS_ENABLED": "false",
"MCP_V2_EXPERIMENTAL": "false",
"MCP_RAW_EXEC_EXPERIMENTAL": "false",
"BRIDGE_HOST": "127.0.0.1",
"BRIDGE_PORT": "49620",
"BRIDGE_PORT_SCAN": "49620-49629",
"BRIDGE_TIMEOUT_MS": "15000",
"BRIDGE_HEARTBEAT_MS": "10000",
"BRIDGE_WAIT_FOR_EDA_MS": "30000",
"BRIDGE_MAX_PAYLOAD_SIZE": "1048576",
"BRIDGE_TOKEN": "${BRIDGE_TOKEN}",
"EASYEDA_DEV_BRIDGE": "false",
"BRIDGE_RAW_EXEC_ENABLED": "false",
"AI_PROVIDER": "none",
"AI_API_KEY": "${AI_API_KEY}",
"AI_MAX_TOKENS": "8000",
"AI_TIMEOUT_MS": "60000",
"AI_ALLOW_DESIGN_MUTATIONS": "false",
"JLCPCB_MODE": "disabled",
"JLCPCB_CLIENT_SECRET": "${JLCPCB_CLIENT_SECRET}",
"JLCPCB_API_BASE_URL": "https://api.jlcpcb.com",
"JLCPCB_ENABLE_ORDERING": "false",
"JLCSEARCH_ENABLED": "true",
"JLCSEARCH_BASE_URL": "https://jlcsearch.tscircuit.com",
"LCSC_API_KEY": "${LCSC_API_KEY}",
"KEYLESS_SOURCING_ENABLED": "true",
"SOURCING_CACHE_TTL_SECONDS": "21600",
"VENDOR_MIN_REQUEST_INTERVAL_MS": "150",
"MOUSER_ENABLED": "false",
"MOUSER_API_KEY": "${MOUSER_API_KEY}",
"MOUSER_API_BASE_URL": "https://api.mouser.com",
"DIGIKEY_ENABLED": "false",
"DIGIKEY_CLIENT_SECRET": "${DIGIKEY_CLIENT_SECRET}",
"DIGIKEY_SANDBOX": "true",
"DIGIKEY_LOCALE": "en-US",
"DIGIKEY_CURRENCY": "USD",
"OAUTH_ENABLED": "false",
"OAUTH_AUDIENCE": "easyeda-mcp-pro",
"OAUTH_REQUIRED_SCOPES": "easyeda:read",
"OTEL_ENABLED": "false",
"OTEL_SERVICE_NAME": "easyeda-mcp-pro",
"TRACE_SAMPLE_RATE": "1"
}
}
}
}extensions:
"easyeda-mcp-pro":
enabled: true
name: "easyeda-mcp-pro"
type: stdio
cmd: "npx"
args:
- "-y"
- "[email protected]"
envs:
"NODE_ENV": "development"
"LOG_LEVEL": "info"
"TOOL_PROFILE": "core"
"MCP_PROTOCOL_VERSION": "2025-11-25"
"MCP_BRIDGE_BACKEND": "local_bridge"
"TRANSPORT": "stdio"
"HTTP_HOST": "127.0.0.1"
"HTTP_PORT": "3000"
"HTTP_AUTH_DISABLED": "false"
"HTTP_RATE_LIMIT_MAX": "100"
"MCP_TASKS_ENABLED": "false"
"MCP_APPS_ENABLED": "false"
"MCP_V2_EXPERIMENTAL": "false"
"MCP_RAW_EXEC_EXPERIMENTAL": "false"
"BRIDGE_HOST": "127.0.0.1"
"BRIDGE_PORT": "49620"
"BRIDGE_PORT_SCAN": "49620-49629"
"BRIDGE_TIMEOUT_MS": "15000"
"BRIDGE_HEARTBEAT_MS": "10000"
"BRIDGE_WAIT_FOR_EDA_MS": "30000"
"BRIDGE_MAX_PAYLOAD_SIZE": "1048576"
"BRIDGE_TOKEN": "${BRIDGE_TOKEN}"
"EASYEDA_DEV_BRIDGE": "false"
"BRIDGE_RAW_EXEC_ENABLED": "false"
"AI_PROVIDER": "none"
"AI_API_KEY": "${AI_API_KEY}"
"AI_MAX_TOKENS": "8000"
"AI_TIMEOUT_MS": "60000"
"AI_ALLOW_DESIGN_MUTATIONS": "false"
"JLCPCB_MODE": "disabled"
"JLCPCB_CLIENT_SECRET": "${JLCPCB_CLIENT_SECRET}"
"JLCPCB_API_BASE_URL": "https://api.jlcpcb.com"
"JLCPCB_ENABLE_ORDERING": "false"
"JLCSEARCH_ENABLED": "true"
"JLCSEARCH_BASE_URL": "https://jlcsearch.tscircuit.com"
"LCSC_API_KEY": "${LCSC_API_KEY}"
"KEYLESS_SOURCING_ENABLED": "true"
"SOURCING_CACHE_TTL_SECONDS": "21600"
"VENDOR_MIN_REQUEST_INTERVAL_MS": "150"
"MOUSER_ENABLED": "false"
"MOUSER_API_KEY": "${MOUSER_API_KEY}"
"MOUSER_API_BASE_URL": "https://api.mouser.com"
"DIGIKEY_ENABLED": "false"
"DIGIKEY_CLIENT_SECRET": "${DIGIKEY_CLIENT_SECRET}"
"DIGIKEY_SANDBOX": "true"
"DIGIKEY_LOCALE": "en-US"
"DIGIKEY_CURRENCY": "USD"
"OAUTH_ENABLED": "false"
"OAUTH_AUDIENCE": "easyeda-mcp-pro"
"OAUTH_REQUIRED_SCOPES": "easyeda:read"
"OTEL_ENABLED": "false"
"OTEL_SERVICE_NAME": "easyeda-mcp-pro"
"TRACE_SAMPLE_RATE": "1"
timeout: 300
Placeholders to fill from your own secret store: ${BRIDGE_TOKEN}, ${AI_API_KEY}, ${JLCPCB_CLIENT_SECRET}, ${LCSC_API_KEY}, ${MOUSER_API_KEY}, ${DIGIKEY_CLIENT_SECRET}. The registry never accepts secret values.
This is a local package: the command runs on your machine.
Not scored: fewer than three checks apply, usually because no remote answered a credential-free probe or the server is a local package.
protocol.modern, protocol.stateless, protocol.transport, protocol.list_ttlno remote answered a protocol handshake (not probed yet, unreachable, or local-only)auth.prm, auth.as_metadata, auth.cimdno remote uses OAuthauth.secret_in_urlno templated URLtools.descriptions, tools.description_length, tools.schemas, tools.annotations, tools.directory_hints, tools.token_cost, tools.api_dumptool list unknown (behind auth, not probed, or empty)stability.changes, stability.rug_pulltool list unknowndeps.known_vulnsno known advisory in 92 resolved packagesdeps.mcp_sdk_version@modelcontextprotocol/node 2.1.1, no known advisorydeps.resolvable[email protected] resolved: 92 packagesNo tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+repository +namespace-matches-repo ~liveness-unmeasured +updated-4d-ago
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
[email protected] npm91 dependencies, resolved · MCP SDK @modelcontextprotocol/node 2.1.1 · advisories checked 2026-10-19
No known advisory affects this dependency graph.
Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0. The graph is what a clean install of this version resolves today; nothing was installed or run. How it is checked.
| package | registry | version | runtime | secrets |
|---|---|---|---|---|
easyeda-mcp-pro | npm | 1.4.0 | – | BRIDGE_TOKEN, AI_API_KEY, JLCPCB_CLIENT_SECRET, LCSC_API_KEY, MOUSER_API_KEY, DIGIKEY_CLIENT_SECRET |
No tools observed. Local packages are never executed by the registry.
Schemas: list_tools.
And 5 more from this publisher.
{
"name": "io.github.oaslananka/easyeda-mcp-pro",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"version": "1.4.0",
"packages": [
{
"version": "1.4.0",
"transport": {
"type": "stdio"
},
"identifier": "easyeda-mcp-pro",
"registryType": "npm",
"environmentVariables": [
{
"name": "NODE_ENV",
"format": "string",
"choices": [
"development",
"test",
"production"
],
"default": "development",
"description": "Environment mode"
},
{
"name": "LOG_LEVEL",
"format": "string",
"choices": [
"trace",
"debug",
"info",
"warn",
"error",
"fatal",
"silent"
],
"default": "info",
"description": "Pino log level"
},
{
"name": "TOOL_PROFILE",
"format": "string",
"choices": [
"core",
"pro",
"full",
"dev",
"experimental"
],
"default": "core",
"description": "Active tool profile (core, pro, full, dev, experimental)"
},
{
"name": "TOOL_SCOPES",
"format": "string",
"description": "Optional comma- or space-separated capability scope allowlist; empty enables all scopes allowed by the active tool profile."
},
{
"name": "MCP_PROTOCOL_VERSION",
"format": "string",
"default": "2025-11-25",
"description": "MCP protocol version string"
},
{
"name": "MCP_BRIDGE_BACKEND",
"format": "string",
"choices": [
"local_bridge",
"remote_relay"
],
"default": "local_bridge",
"description": "Bridge backend: local_bridge or experimental remote_relay"
},
{
"name": "MCP_REMOTE_SESSION_ID",
"format": "string",
"description": "Optional fixed Remote Relay session id for the remote_relay backend"
},
{
"name": "TRANSPORT",
"format": "string",
"choices": [
"stdio",
"http"
],
"default": "stdio",
"description": "Server transport mode (stdio or http)"
},
{
"name": "HTTP_HOST",
"format": "string",
"default": "127.0.0.1",
"description": "HTTP bind address"
},
{
"name": "HTTP_PORT",
"format": "number",
"default": "3000",
"description": "HTTP port"
},
{
"name": "HTTP_AUTH_DISABLED",
"format": "boolean",
"default": "false",
"description": "Disable HTTP transport authentication"
},
{
"name": "HTTP_RATE_LIMIT_MAX",
"format": "number",
"default": "100",
"description": "Max requests per minute per IP"
},
{
"name": "CORS_ORIGIN",
"format": "string",
"description": "Allowed CORS origin for HTTP transport"
},
{
"name": "ALLOWED_ORIGINS",
"format": "string",
"description": "Comma-separated list of allowed origins for HTTP transport (use * for wildcard)"
},
{
"name": "MCP_TASKS_ENABLED",
"format": "boolean",
"default": "false",
"description": "Reserved; currently non-functional: parsed for compatibility, but the server does not advertise or execute MCP Tasks."
},
{
"name": "MCP_APPS_ENABLED",
"format": "boolean",
"default": "false",
"description": "Reserved; currently non-functional: parsed for compatibility, but no MCP Apps UI or resource runtime is registered."
},
{
"name": "MCP_V2_EXPERIMENTAL",
"format": "boolean",
"default": "false",
"description": "Experimental; enables opt-in dual-era HTTP and stdio support for MCP 2026-07-28 while legacy behavior remains the default."
},
{
"name": "MCP_RAW_EXEC_EXPERIMENTAL",
"format": "boolean",
"default": "false",
"description": "Experimental second gate for raw EasyEDA runtime execution; requires BRIDGE_RAW_EXEC_ENABLED."
},
{
"name": "BRIDGE_HOST",
"format": "string",
"default": "127.0.0.1",
"description": "Bridge WebSocket host for EasyEDA Pro connection"
},
{
"name": "BRIDGE_PORT",
"format": "number",
"default": "49620",
"description": "Bridge primary port"
},
{
"name": "BRIDGE_PORT_SCAN",
"format": "string",
"default": "49620-49629",
"description": "Port scan specification (comma-separated ports or ranges)"
},
{
"name": "BRIDGE_TIMEOUT_MS",
"format": "number",
"default": "15000",
"description": "Bridge call timeout in ms"
},
{
"name": "BRIDGE_HEARTBEAT_MS",
"format": "number",
"default": "10000",
"description": "Bridge heartbeat interval in ms"
},
{
"name": "BRIDGE_WAIT_FOR_EDA_MS",
"format": "number",
"default": "30000",
"description": "How long to wait for EasyEDA Pro to become available on startup (ms)"
},
{
"name": "BRIDGE_MAX_PAYLOAD_SIZE",
"format": "number",
"default": "1048576",
"description": "Max bridge payload size in bytes"
},
{
"name": "BRIDGE_TOKEN",
"format": "string",
"isSecret": true,
"description": "Session token for extension auth"
},
{
"name": "EASYEDA_DEV_BRIDGE",
"format": "boolean",
"default": "false",
"description": "Enable EasyEDA dev bridge mode"
},
{
"name": "BRIDGE_RAW_EXEC_ENABLED",
"format": "boolean",
"default": "false",
"description": "Experimental first gate for raw EasyEDA runtime execution; requires MCP_RAW_EXEC_EXPERIMENTAL."
},
{
"name": "DATA_DIR",
"format": "filepath",
"description": "Base directory for writable local state; defaults beneath the operating-system user home directory.",
"placeholder": "Defaults to the operating-system user home directory under .easyeda-mcp-pro."
},
{
"name": "SQLITE_PATH",
"format": "filepath",
"description": "SQLite database path; derived from DATA_DIR unless explicitly configured.",
"placeholder": "Derived from DATA_DIR as easyeda-mcp-pro.sqlite unless explicitly configured."
},
{
"name": "ARTIFACT_DIR",
"format": "filepath",
"description": "Artifact export directory; derived from DATA_DIR unless explicitly configured.",
"placeholder": "Derived from DATA_DIR as artifacts unless explicitly configured."
},
{
"name": "CACHE_DIR",
"format": "filepath",
"description": "Cache directory; derived from DATA_DIR unless explicitly configured.",
"placeholder": "Derived from DATA_DIR as cache unless explicitly configured."
},
{
"name": "AI_PROVIDER",
"format": "string",
"choices": [
"none",
"anthropic",
"openai",
"openrouter",
"local"
],
"default": "none",
"description": "Reserved; currently non-functional: no in-process AI provider client is invoked."
},
{
"name": "AI_MODEL",
"format": "string",
"description": "Reserved; currently non-functional: no model is selected or invoked."
},
{
"name": "AI_API_KEY",
"format": "string",
"isSecret": true,
"description": "Reserved; currently non-functional: do not supply credentials because no provider client consumes them."
},
{
"name": "AI_MAX_TOKENS",
"format": "number",
"default": "8000",
"description": "Reserved; currently non-functional: retained only for future provider compatibility."
},
{
"name": "AI_TIMEOUT_MS",
"format": "number",
"default": "60000",
"description": "Reserved; currently non-functional: retained only for future provider compatibility."
},
{
"name": "AI_ALLOW_DESIGN_MUTATIONS",
"format": "boolean",
"default": "false",
"description": "Reserved; currently non-functional: cannot enable AI-originated design mutation."
},
{
"name": "JLCPCB_MODE",
"format": "string",
"choices": [
"disabled",
"mock",
"approved_api"
],
"default": "disabled",
"description": "JLCPCB API mode (disabled, mock, approved_api)"
},
{
"name": "JLCPCB_CLIENT_ID",
"format": "string",
"description": "JLCPCB API client identifier."
},
{
"name": "JLCPCB_CLIENT_SECRET",
"format": "string",
"isSecret": true,
"description": "JLCPCB API client secret"
},
{
"name": "JLCPCB_API_BASE_URL",
"format": "string",
"default": "https://api.jlcpcb.com",
"description": "JLCPCB API base URL"
},
{
"name": "JLCPCB_ENABLE_ORDERING",
"format": "boolean",
"default": "false",
"description": "Enable JLCPCB ordering"
},
{
"name": "JLCSEARCH_ENABLED",
"format": "boolean",
"default": "true",
"description": "Enable LCSC component search"
},
{
"name": "JLCSEARCH_BASE_URL",
"format": "string",
"default": "https://jlcsearch.tscircuit.com",
"description": "LCSC search API base URL"
},
{
"name": "LCSC_API_KEY",
"format": "string",
"isSecret": true,
"description": "LCSC API key"
},
{
"name": "KEYLESS_SOURCING_ENABLED",
"format": "boolean",
"default": "true",
"description": "Allow supported public keyless component-sourcing fallbacks when vendor credentials are unavailable."
},
{
"name": "SOURCING_CACHE_TTL_SECONDS",
"format": "number",
"default": "21600",
"description": "Component-sourcing cache lifetime in seconds (0 disables cache reuse)."
},
{
"name": "VENDOR_MIN_REQUEST_INTERVAL_MS",
"format": "number",
"default": "150",
"description": "Minimum delay in milliseconds between outbound requests to the same sourcing vendor."
},
{
"name": "MOUSER_ENABLED",
"format": "boolean",
"default": "false",
"description": "Enable Mouser integration"
},
{
"name": "MOUSER_API_KEY",
"format": "string",
"isSecret": true,
"description": "Mouser API key"
},
{
"name": "MOUSER_API_BASE_URL",
"format": "string",
"default": "https://api.mouser.com",
"description": "Mouser API base URL"
},
{
"name": "DIGIKEY_ENABLED",
"format": "boolean",
"default": "false",
"description": "Enable DigiKey integration"
},
{
"name": "DIGIKEY_CLIENT_ID",
"format": "string",
"description": "DigiKey OAuth2 client identifier."
},
{
"name": "DIGIKEY_CLIENT_SECRET",
"format": "string",
"isSecret": true,
"description": "DigiKey OAuth2 client secret"
},
{
"name": "DIGIKEY_SANDBOX",
"format": "boolean",
"default": "true",
"description": "Use DigiKey sandbox environment"
},
{
"name": "DIGIKEY_LOCALE",
"format": "string",
"default": "en-US",
"description": "DigiKey locale"
},
{
"name": "DIGIKEY_CURRENCY",
"format": "string",
"default": "USD",
"description": "DigiKey pricing currency"
},
{
"name": "OAUTH_ENABLED",
"format": "boolean",
"default": "false",
"description": "Enable OAuth for HTTP mode"
},
{
"name": "OAUTH_ISSUER",
"format": "string",
"description": "Expected OAuth token issuer"
},
{
"name": "OAUTH_AUDIENCE",
"format": "string",
"default": "easyeda-mcp-pro",
"description": "Expected OAuth token audience"
},
{
"name": "OAUTH_JWKS_URI",
"format": "string",
"description": "JWKS endpoint for token signature validation"
},
{
"name": "OAUTH_REQUIRED_SCOPES",
"format": "string",
"default": "easyeda:read",
"description": "Required OAuth token scope"
},
{
"name": "OTEL_ENABLED",
"format": "boolean",
"default": "false",
"description": "Reserved; currently non-functional: no OTLP exporter is started."
},
{
"name": "OTEL_SERVICE_NAME",
"format": "string",
"default": "easyeda-mcp-pro",
"description": "Reserved; currently non-functional: retained for a future OTLP exporter."
},
{
"name": "OTEL_EXPORTER_OTLP_ENDPOINT",
"format": "string",
"description": "Reserved; currently non-functional: retained for a future OTLP exporter."
},
{
"name": "TRACE_SAMPLE_RATE",
"format": "number",
"default": "1",
"description": "Reserved; currently non-functional: no OTLP traces are emitted."
}
]
}
],
"repository": {
"url": "https://github.com/oaslananka/easyeda-mcp-pro",
"source": "github"
},
"description": "MCP server for EasyEDA Pro: PCB inspection, BOM, exports, and hardware review."
}