protogrid

Search / io.github.oaslananka/easyeda-mcp-pro

easyeda-mcp-pro

L0· runs locally

MCP server for EasyEDA Pro: PCB inspection, BOM, exports, and hardware review.

v1.4.0 · active · repository · descriptor JSON · versions

Runs on your machine: something must execute the package.Only local packages are published (npm, PyPI, OCI, …). The registry never executes them, so tools are unknown until you run it.
Quality–not scored
Trust91of 100
Packages1
Tools seen0

Connect

8 clients · secrets stay placeholders
{
  "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.

Quality – / 100not scored

Not scored: fewer than three checks apply, usually because no remote answered a credential-free probe or the server is a local package.

protocoln/a · weight 25
  • n/a
    protocol.modern, protocol.stateless, protocol.transport, protocol.list_ttlno remote answered a protocol handshake (not probed yet, unreachable, or local-only)
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygienen/a · weight 30
  • n/a
    tools.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)
stabilityn/a · weight 15
  • n/a
    stability.changes, stability.rug_pulltool list unknown
dependencies100 · weight 15
  • pass
    deps.known_vulnsno known advisory in 92 resolved packages
  • pass
    deps.mcp_sdk_version@modelcontextprotocol/node 2.1.1, no known advisory
  • pass
    deps.resolvable[email protected] resolved: 92 packages

Tool list unknown · checked 2026-10-20 13:17 UTC

Tool changes

No 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.

Trust 91 / 100

provenance80
livenessn/a
freshness100
hygiene100

+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.

Dependencies

[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.

Endpoints

packageregistryversionruntimesecrets
easyeda-mcp-pronpm1.4.0–BRIDGE_TOKEN, AI_API_KEY, JLCPCB_CLIENT_SECRET, LCSC_API_KEY, MOUSER_API_KEY, DIGIKEY_CLIENT_SECRET

Tools (0)

No tools observed. Local packages are never executed by the registry.

Schemas: list_tools.

Similar MCP servers

More from io.github.oaslananka

And 5 more from this publisher.

Official server.json
{
  "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."
}