PluginBench
MCP Server

io.github.oaslananka/easyeda-mcp-pro MCP Server

io.github.oaslananka/easyeda-mcp-pro

What is the io.github.oaslananka/easyeda-mcp-pro MCP server?

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

How to install io.github.oaslananka/easyeda-mcp-pro

Copy-paste configuration for popular MCP clients.

transport: stdio
Config generated by PluginBench — verify against the source before use.
Environment / auth
  • NODE_ENV

    Environment mode

  • LOG_LEVEL

    Pino log level

  • TOOL_PROFILE

    Active tool profile (core, pro, full, dev, experimental)

  • MCP_PROTOCOL_VERSION

    MCP protocol version string

  • TRANSPORT

    Server transport mode (stdio or http)

  • HTTP_HOST

    HTTP bind address

  • HTTP_PORT

    HTTP port

  • HTTP_AUTH_DISABLED

    Disable HTTP transport authentication

  • HTTP_RATE_LIMIT_MAX

    Max requests per minute per IP

  • CORS_ORIGIN

    Allowed CORS origin for HTTP transport

  • ALLOWED_ORIGINS

    Comma-separated list of allowed origins for HTTP transport (use * for wildcard)

  • MCP_TASKS_ENABLED

    Enable experimental MCP tasks

  • MCP_APPS_ENABLED

    Enable experimental MCP apps

  • MCP_V2_EXPERIMENTAL

    Enable experimental MCP v2 features

  • MCP_RAW_EXEC_EXPERIMENTAL

    Enable experimental raw EasyEDA runtime execution gate (dangerous; requires BRIDGE_RAW_EXEC_ENABLED)

  • BRIDGE_HOST

    Bridge WebSocket host for EasyEDA Pro connection

  • BRIDGE_PORT

    Bridge primary port

  • BRIDGE_PORT_SCAN

    Port scan specification (comma-separated ports or ranges)

  • BRIDGE_TIMEOUT_MS

    Bridge call timeout in ms

  • BRIDGE_HEARTBEAT_MS

    Bridge heartbeat interval in ms

  • BRIDGE_RECONNECT_MAX_ATTEMPTS

    Max reconnect attempts (0 = infinite)

  • BRIDGE_WAIT_FOR_EDA_MS

    How long to wait for EasyEDA Pro to become available on startup (ms)

  • BRIDGE_MAX_PAYLOAD_SIZE

    Max bridge payload size in bytes

  • BRIDGE_TOKEN
    secret

    Session token for extension auth

  • EASYEDA_DEV_BRIDGE

    Enable EasyEDA dev bridge mode

  • BRIDGE_RAW_EXEC_ENABLED

    Enable raw method execution on bridge (dangerous)

  • DATA_DIR

    Data directory for storage

  • SQLITE_PATH

    SQLite database path

  • ARTIFACT_DIR

    Artifact export directory

  • CACHE_DIR

    Cache directory

  • AI_PROVIDER

    AI provider (none, anthropic, openai, openrouter, local)

  • AI_MODEL

    AI model name

  • AI_API_KEY
    secret

    AI provider API key

  • AI_MAX_TOKENS

    Max tokens for AI responses

  • AI_TIMEOUT_MS

    AI request timeout in ms

  • AI_ALLOW_DESIGN_MUTATIONS

    Allow AI to modify designs

  • JLCPCB_MODE

    JLCPCB API mode (disabled, mock, approved_api)

  • JLCPCB_CLIENT_ID
    secret

    JLCPCB API client ID

  • JLCPCB_CLIENT_SECRET
    secret

    JLCPCB API client secret

  • JLCPCB_API_BASE_URL

    JLCPCB API base URL

  • JLCPCB_ENABLE_ORDERING

    Enable JLCPCB ordering

  • JLCPCB_DEFAULT_CURRENCY

    JLCPCB default currency (USD, CNY)

  • JLCSEARCH_ENABLED

    Enable LCSC component search

  • JLCSEARCH_BASE_URL

    LCSC search API base URL

  • LCSC_API_KEY
    secret

    LCSC API key

  • LCSC_API_SECRET
    secret

    LCSC API secret

  • MOUSER_ENABLED

    Enable Mouser integration

  • MOUSER_API_KEY
    secret

    Mouser API key

  • MOUSER_API_BASE_URL

    Mouser API base URL

  • DIGIKEY_ENABLED

    Enable DigiKey integration

  • DIGIKEY_CLIENT_ID
    secret

    DigiKey OAuth2 client ID

  • DIGIKEY_CLIENT_SECRET
    secret

    DigiKey OAuth2 client secret

  • DIGIKEY_SANDBOX

    Use DigiKey sandbox environment

  • DIGIKEY_LOCALE

    DigiKey locale

  • DIGIKEY_CURRENCY

    DigiKey pricing currency

  • OAUTH_ENABLED

    Enable OAuth for HTTP mode

  • OAUTH_ISSUER

    Expected OAuth token issuer

  • OAUTH_AUDIENCE

    Expected OAuth token audience

  • OAUTH_JWKS_URI

    JWKS endpoint for token signature validation

  • OAUTH_REQUIRED_SCOPES

    Required OAuth token scope

  • OTEL_ENABLED

    Enable OpenTelemetry

  • OTEL_SERVICE_NAME

    OpenTelemetry service name

  • OTEL_EXPORTER_OTLP_ENDPOINT

    OpenTelemetry OTLP endpoint

  • TRACE_SAMPLE_RATE

    OpenTelemetry trace sample rate (0.0 to 1.0)

Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "easyeda-mcp-pro": {
      "command": "npx",
      "args": [
        "-y",
        "easyeda-mcp-pro"
      ],
      "env": {
        "NODE_ENV": "<YOUR_NODE_ENV>",
        "LOG_LEVEL": "<YOUR_LOG_LEVEL>",
        "TOOL_PROFILE": "<YOUR_TOOL_PROFILE>",
        "MCP_PROTOCOL_VERSION": "<YOUR_MCP_PROTOCOL_VERSION>",
        "TRANSPORT": "<YOUR_TRANSPORT>",
        "HTTP_HOST": "<YOUR_HTTP_HOST>",
        "HTTP_PORT": "<YOUR_HTTP_PORT>",
        "HTTP_AUTH_DISABLED": "<YOUR_HTTP_AUTH_DISABLED>",
        "HTTP_RATE_LIMIT_MAX": "<YOUR_HTTP_RATE_LIMIT_MAX>",
        "CORS_ORIGIN": "<YOUR_CORS_ORIGIN>",
        "ALLOWED_ORIGINS": "<YOUR_ALLOWED_ORIGINS>",
        "MCP_TASKS_ENABLED": "<YOUR_MCP_TASKS_ENABLED>",
        "MCP_APPS_ENABLED": "<YOUR_MCP_APPS_ENABLED>",
        "MCP_V2_EXPERIMENTAL": "<YOUR_MCP_V2_EXPERIMENTAL>",
        "MCP_RAW_EXEC_EXPERIMENTAL": "<YOUR_MCP_RAW_EXEC_EXPERIMENTAL>",
        "BRIDGE_HOST": "<YOUR_BRIDGE_HOST>",
        "BRIDGE_PORT": "<YOUR_BRIDGE_PORT>",
        "BRIDGE_PORT_SCAN": "<YOUR_BRIDGE_PORT_SCAN>",
        "BRIDGE_TIMEOUT_MS": "<YOUR_BRIDGE_TIMEOUT_MS>",
        "BRIDGE_HEARTBEAT_MS": "<YOUR_BRIDGE_HEARTBEAT_MS>",
        "BRIDGE_RECONNECT_MAX_ATTEMPTS": "<YOUR_BRIDGE_RECONNECT_MAX_ATTEMPTS>",
        "BRIDGE_WAIT_FOR_EDA_MS": "<YOUR_BRIDGE_WAIT_FOR_EDA_MS>",
        "BRIDGE_MAX_PAYLOAD_SIZE": "<YOUR_BRIDGE_MAX_PAYLOAD_SIZE>",
        "BRIDGE_TOKEN": "<YOUR_BRIDGE_TOKEN>",
        "EASYEDA_DEV_BRIDGE": "<YOUR_EASYEDA_DEV_BRIDGE>",
        "BRIDGE_RAW_EXEC_ENABLED": "<YOUR_BRIDGE_RAW_EXEC_ENABLED>",
        "DATA_DIR": "<YOUR_DATA_DIR>",
        "SQLITE_PATH": "<YOUR_SQLITE_PATH>",
        "ARTIFACT_DIR": "<YOUR_ARTIFACT_DIR>",
        "CACHE_DIR": "<YOUR_CACHE_DIR>",
        "AI_PROVIDER": "<YOUR_AI_PROVIDER>",
        "AI_MODEL": "<YOUR_AI_MODEL>",
        "AI_API_KEY": "<YOUR_AI_API_KEY>",
        "AI_MAX_TOKENS": "<YOUR_AI_MAX_TOKENS>",
        "AI_TIMEOUT_MS": "<YOUR_AI_TIMEOUT_MS>",
        "AI_ALLOW_DESIGN_MUTATIONS": "<YOUR_AI_ALLOW_DESIGN_MUTATIONS>",
        "JLCPCB_MODE": "<YOUR_JLCPCB_MODE>",
        "JLCPCB_CLIENT_ID": "<YOUR_JLCPCB_CLIENT_ID>",
        "JLCPCB_CLIENT_SECRET": "<YOUR_JLCPCB_CLIENT_SECRET>",
        "JLCPCB_API_BASE_URL": "<YOUR_JLCPCB_API_BASE_URL>",
        "JLCPCB_ENABLE_ORDERING": "<YOUR_JLCPCB_ENABLE_ORDERING>",
        "JLCPCB_DEFAULT_CURRENCY": "<YOUR_JLCPCB_DEFAULT_CURRENCY>",
        "JLCSEARCH_ENABLED": "<YOUR_JLCSEARCH_ENABLED>",
        "JLCSEARCH_BASE_URL": "<YOUR_JLCSEARCH_BASE_URL>",
        "LCSC_API_KEY": "<YOUR_LCSC_API_KEY>",
        "LCSC_API_SECRET": "<YOUR_LCSC_API_SECRET>",
        "MOUSER_ENABLED": "<YOUR_MOUSER_ENABLED>",
        "MOUSER_API_KEY": "<YOUR_MOUSER_API_KEY>",
        "MOUSER_API_BASE_URL": "<YOUR_MOUSER_API_BASE_URL>",
        "DIGIKEY_ENABLED": "<YOUR_DIGIKEY_ENABLED>",
        "DIGIKEY_CLIENT_ID": "<YOUR_DIGIKEY_CLIENT_ID>",
        "DIGIKEY_CLIENT_SECRET": "<YOUR_DIGIKEY_CLIENT_SECRET>",
        "DIGIKEY_SANDBOX": "<YOUR_DIGIKEY_SANDBOX>",
        "DIGIKEY_LOCALE": "<YOUR_DIGIKEY_LOCALE>",
        "DIGIKEY_CURRENCY": "<YOUR_DIGIKEY_CURRENCY>",
        "OAUTH_ENABLED": "<YOUR_OAUTH_ENABLED>",
        "OAUTH_ISSUER": "<YOUR_OAUTH_ISSUER>",
        "OAUTH_AUDIENCE": "<YOUR_OAUTH_AUDIENCE>",
        "OAUTH_JWKS_URI": "<YOUR_OAUTH_JWKS_URI>",
        "OAUTH_REQUIRED_SCOPES": "<YOUR_OAUTH_REQUIRED_SCOPES>",
        "OTEL_ENABLED": "<YOUR_OTEL_ENABLED>",
        "OTEL_SERVICE_NAME": "<YOUR_OTEL_SERVICE_NAME>",
        "OTEL_EXPORTER_OTLP_ENDPOINT": "<YOUR_OTEL_EXPORTER_OTLP_ENDPOINT>",
        "TRACE_SAMPLE_RATE": "<YOUR_TRACE_SAMPLE_RATE>"
      }
    }
  }
}
Cursor
~/.cursor/mcp.json
{
  "mcpServers": {
    "easyeda-mcp-pro": {
      "command": "npx",
      "args": [
        "-y",
        "easyeda-mcp-pro"
      ],
      "env": {
        "NODE_ENV": "<YOUR_NODE_ENV>",
        "LOG_LEVEL": "<YOUR_LOG_LEVEL>",
        "TOOL_PROFILE": "<YOUR_TOOL_PROFILE>",
        "MCP_PROTOCOL_VERSION": "<YOUR_MCP_PROTOCOL_VERSION>",
        "TRANSPORT": "<YOUR_TRANSPORT>",
        "HTTP_HOST": "<YOUR_HTTP_HOST>",
        "HTTP_PORT": "<YOUR_HTTP_PORT>",
        "HTTP_AUTH_DISABLED": "<YOUR_HTTP_AUTH_DISABLED>",
        "HTTP_RATE_LIMIT_MAX": "<YOUR_HTTP_RATE_LIMIT_MAX>",
        "CORS_ORIGIN": "<YOUR_CORS_ORIGIN>",
        "ALLOWED_ORIGINS": "<YOUR_ALLOWED_ORIGINS>",
        "MCP_TASKS_ENABLED": "<YOUR_MCP_TASKS_ENABLED>",
        "MCP_APPS_ENABLED": "<YOUR_MCP_APPS_ENABLED>",
        "MCP_V2_EXPERIMENTAL": "<YOUR_MCP_V2_EXPERIMENTAL>",
        "MCP_RAW_EXEC_EXPERIMENTAL": "<YOUR_MCP_RAW_EXEC_EXPERIMENTAL>",
        "BRIDGE_HOST": "<YOUR_BRIDGE_HOST>",
        "BRIDGE_PORT": "<YOUR_BRIDGE_PORT>",
        "BRIDGE_PORT_SCAN": "<YOUR_BRIDGE_PORT_SCAN>",
        "BRIDGE_TIMEOUT_MS": "<YOUR_BRIDGE_TIMEOUT_MS>",
        "BRIDGE_HEARTBEAT_MS": "<YOUR_BRIDGE_HEARTBEAT_MS>",
        "BRIDGE_RECONNECT_MAX_ATTEMPTS": "<YOUR_BRIDGE_RECONNECT_MAX_ATTEMPTS>",
        "BRIDGE_WAIT_FOR_EDA_MS": "<YOUR_BRIDGE_WAIT_FOR_EDA_MS>",
        "BRIDGE_MAX_PAYLOAD_SIZE": "<YOUR_BRIDGE_MAX_PAYLOAD_SIZE>",
        "BRIDGE_TOKEN": "<YOUR_BRIDGE_TOKEN>",
        "EASYEDA_DEV_BRIDGE": "<YOUR_EASYEDA_DEV_BRIDGE>",
        "BRIDGE_RAW_EXEC_ENABLED": "<YOUR_BRIDGE_RAW_EXEC_ENABLED>",
        "DATA_DIR": "<YOUR_DATA_DIR>",
        "SQLITE_PATH": "<YOUR_SQLITE_PATH>",
        "ARTIFACT_DIR": "<YOUR_ARTIFACT_DIR>",
        "CACHE_DIR": "<YOUR_CACHE_DIR>",
        "AI_PROVIDER": "<YOUR_AI_PROVIDER>",
        "AI_MODEL": "<YOUR_AI_MODEL>",
        "AI_API_KEY": "<YOUR_AI_API_KEY>",
        "AI_MAX_TOKENS": "<YOUR_AI_MAX_TOKENS>",
        "AI_TIMEOUT_MS": "<YOUR_AI_TIMEOUT_MS>",
        "AI_ALLOW_DESIGN_MUTATIONS": "<YOUR_AI_ALLOW_DESIGN_MUTATIONS>",
        "JLCPCB_MODE": "<YOUR_JLCPCB_MODE>",
        "JLCPCB_CLIENT_ID": "<YOUR_JLCPCB_CLIENT_ID>",
        "JLCPCB_CLIENT_SECRET": "<YOUR_JLCPCB_CLIENT_SECRET>",
        "JLCPCB_API_BASE_URL": "<YOUR_JLCPCB_API_BASE_URL>",
        "JLCPCB_ENABLE_ORDERING": "<YOUR_JLCPCB_ENABLE_ORDERING>",
        "JLCPCB_DEFAULT_CURRENCY": "<YOUR_JLCPCB_DEFAULT_CURRENCY>",
        "JLCSEARCH_ENABLED": "<YOUR_JLCSEARCH_ENABLED>",
        "JLCSEARCH_BASE_URL": "<YOUR_JLCSEARCH_BASE_URL>",
        "LCSC_API_KEY": "<YOUR_LCSC_API_KEY>",
        "LCSC_API_SECRET": "<YOUR_LCSC_API_SECRET>",
        "MOUSER_ENABLED": "<YOUR_MOUSER_ENABLED>",
        "MOUSER_API_KEY": "<YOUR_MOUSER_API_KEY>",
        "MOUSER_API_BASE_URL": "<YOUR_MOUSER_API_BASE_URL>",
        "DIGIKEY_ENABLED": "<YOUR_DIGIKEY_ENABLED>",
        "DIGIKEY_CLIENT_ID": "<YOUR_DIGIKEY_CLIENT_ID>",
        "DIGIKEY_CLIENT_SECRET": "<YOUR_DIGIKEY_CLIENT_SECRET>",
        "DIGIKEY_SANDBOX": "<YOUR_DIGIKEY_SANDBOX>",
        "DIGIKEY_LOCALE": "<YOUR_DIGIKEY_LOCALE>",
        "DIGIKEY_CURRENCY": "<YOUR_DIGIKEY_CURRENCY>",
        "OAUTH_ENABLED": "<YOUR_OAUTH_ENABLED>",
        "OAUTH_ISSUER": "<YOUR_OAUTH_ISSUER>",
        "OAUTH_AUDIENCE": "<YOUR_OAUTH_AUDIENCE>",
        "OAUTH_JWKS_URI": "<YOUR_OAUTH_JWKS_URI>",
        "OAUTH_REQUIRED_SCOPES": "<YOUR_OAUTH_REQUIRED_SCOPES>",
        "OTEL_ENABLED": "<YOUR_OTEL_ENABLED>",
        "OTEL_SERVICE_NAME": "<YOUR_OTEL_SERVICE_NAME>",
        "OTEL_EXPORTER_OTLP_ENDPOINT": "<YOUR_OTEL_EXPORTER_OTLP_ENDPOINT>",
        "TRACE_SAMPLE_RATE": "<YOUR_TRACE_SAMPLE_RATE>"
      }
    }
  }
}
Windsurf
~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "easyeda-mcp-pro": {
      "command": "npx",
      "args": [
        "-y",
        "easyeda-mcp-pro"
      ],
      "env": {
        "NODE_ENV": "<YOUR_NODE_ENV>",
        "LOG_LEVEL": "<YOUR_LOG_LEVEL>",
        "TOOL_PROFILE": "<YOUR_TOOL_PROFILE>",
        "MCP_PROTOCOL_VERSION": "<YOUR_MCP_PROTOCOL_VERSION>",
        "TRANSPORT": "<YOUR_TRANSPORT>",
        "HTTP_HOST": "<YOUR_HTTP_HOST>",
        "HTTP_PORT": "<YOUR_HTTP_PORT>",
        "HTTP_AUTH_DISABLED": "<YOUR_HTTP_AUTH_DISABLED>",
        "HTTP_RATE_LIMIT_MAX": "<YOUR_HTTP_RATE_LIMIT_MAX>",
        "CORS_ORIGIN": "<YOUR_CORS_ORIGIN>",
        "ALLOWED_ORIGINS": "<YOUR_ALLOWED_ORIGINS>",
        "MCP_TASKS_ENABLED": "<YOUR_MCP_TASKS_ENABLED>",
        "MCP_APPS_ENABLED": "<YOUR_MCP_APPS_ENABLED>",
        "MCP_V2_EXPERIMENTAL": "<YOUR_MCP_V2_EXPERIMENTAL>",
        "MCP_RAW_EXEC_EXPERIMENTAL": "<YOUR_MCP_RAW_EXEC_EXPERIMENTAL>",
        "BRIDGE_HOST": "<YOUR_BRIDGE_HOST>",
        "BRIDGE_PORT": "<YOUR_BRIDGE_PORT>",
        "BRIDGE_PORT_SCAN": "<YOUR_BRIDGE_PORT_SCAN>",
        "BRIDGE_TIMEOUT_MS": "<YOUR_BRIDGE_TIMEOUT_MS>",
        "BRIDGE_HEARTBEAT_MS": "<YOUR_BRIDGE_HEARTBEAT_MS>",
        "BRIDGE_RECONNECT_MAX_ATTEMPTS": "<YOUR_BRIDGE_RECONNECT_MAX_ATTEMPTS>",
        "BRIDGE_WAIT_FOR_EDA_MS": "<YOUR_BRIDGE_WAIT_FOR_EDA_MS>",
        "BRIDGE_MAX_PAYLOAD_SIZE": "<YOUR_BRIDGE_MAX_PAYLOAD_SIZE>",
        "BRIDGE_TOKEN": "<YOUR_BRIDGE_TOKEN>",
        "EASYEDA_DEV_BRIDGE": "<YOUR_EASYEDA_DEV_BRIDGE>",
        "BRIDGE_RAW_EXEC_ENABLED": "<YOUR_BRIDGE_RAW_EXEC_ENABLED>",
        "DATA_DIR": "<YOUR_DATA_DIR>",
        "SQLITE_PATH": "<YOUR_SQLITE_PATH>",
        "ARTIFACT_DIR": "<YOUR_ARTIFACT_DIR>",
        "CACHE_DIR": "<YOUR_CACHE_DIR>",
        "AI_PROVIDER": "<YOUR_AI_PROVIDER>",
        "AI_MODEL": "<YOUR_AI_MODEL>",
        "AI_API_KEY": "<YOUR_AI_API_KEY>",
        "AI_MAX_TOKENS": "<YOUR_AI_MAX_TOKENS>",
        "AI_TIMEOUT_MS": "<YOUR_AI_TIMEOUT_MS>",
        "AI_ALLOW_DESIGN_MUTATIONS": "<YOUR_AI_ALLOW_DESIGN_MUTATIONS>",
        "JLCPCB_MODE": "<YOUR_JLCPCB_MODE>",
        "JLCPCB_CLIENT_ID": "<YOUR_JLCPCB_CLIENT_ID>",
        "JLCPCB_CLIENT_SECRET": "<YOUR_JLCPCB_CLIENT_SECRET>",
        "JLCPCB_API_BASE_URL": "<YOUR_JLCPCB_API_BASE_URL>",
        "JLCPCB_ENABLE_ORDERING": "<YOUR_JLCPCB_ENABLE_ORDERING>",
        "JLCPCB_DEFAULT_CURRENCY": "<YOUR_JLCPCB_DEFAULT_CURRENCY>",
        "JLCSEARCH_ENABLED": "<YOUR_JLCSEARCH_ENABLED>",
        "JLCSEARCH_BASE_URL": "<YOUR_JLCSEARCH_BASE_URL>",
        "LCSC_API_KEY": "<YOUR_LCSC_API_KEY>",
        "LCSC_API_SECRET": "<YOUR_LCSC_API_SECRET>",
        "MOUSER_ENABLED": "<YOUR_MOUSER_ENABLED>",
        "MOUSER_API_KEY": "<YOUR_MOUSER_API_KEY>",
        "MOUSER_API_BASE_URL": "<YOUR_MOUSER_API_BASE_URL>",
        "DIGIKEY_ENABLED": "<YOUR_DIGIKEY_ENABLED>",
        "DIGIKEY_CLIENT_ID": "<YOUR_DIGIKEY_CLIENT_ID>",
        "DIGIKEY_CLIENT_SECRET": "<YOUR_DIGIKEY_CLIENT_SECRET>",
        "DIGIKEY_SANDBOX": "<YOUR_DIGIKEY_SANDBOX>",
        "DIGIKEY_LOCALE": "<YOUR_DIGIKEY_LOCALE>",
        "DIGIKEY_CURRENCY": "<YOUR_DIGIKEY_CURRENCY>",
        "OAUTH_ENABLED": "<YOUR_OAUTH_ENABLED>",
        "OAUTH_ISSUER": "<YOUR_OAUTH_ISSUER>",
        "OAUTH_AUDIENCE": "<YOUR_OAUTH_AUDIENCE>",
        "OAUTH_JWKS_URI": "<YOUR_OAUTH_JWKS_URI>",
        "OAUTH_REQUIRED_SCOPES": "<YOUR_OAUTH_REQUIRED_SCOPES>",
        "OTEL_ENABLED": "<YOUR_OTEL_ENABLED>",
        "OTEL_SERVICE_NAME": "<YOUR_OTEL_SERVICE_NAME>",
        "OTEL_EXPORTER_OTLP_ENDPOINT": "<YOUR_OTEL_EXPORTER_OTLP_ENDPOINT>",
        "TRACE_SAMPLE_RATE": "<YOUR_TRACE_SAMPLE_RATE>"
      }
    }
  }
}
VS Code
.vscode/mcp.json
{
  "servers": {
    "easyeda-mcp-pro": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "easyeda-mcp-pro"
      ],
      "env": {
        "NODE_ENV": "<YOUR_NODE_ENV>",
        "LOG_LEVEL": "<YOUR_LOG_LEVEL>",
        "TOOL_PROFILE": "<YOUR_TOOL_PROFILE>",
        "MCP_PROTOCOL_VERSION": "<YOUR_MCP_PROTOCOL_VERSION>",
        "TRANSPORT": "<YOUR_TRANSPORT>",
        "HTTP_HOST": "<YOUR_HTTP_HOST>",
        "HTTP_PORT": "<YOUR_HTTP_PORT>",
        "HTTP_AUTH_DISABLED": "<YOUR_HTTP_AUTH_DISABLED>",
        "HTTP_RATE_LIMIT_MAX": "<YOUR_HTTP_RATE_LIMIT_MAX>",
        "CORS_ORIGIN": "<YOUR_CORS_ORIGIN>",
        "ALLOWED_ORIGINS": "<YOUR_ALLOWED_ORIGINS>",
        "MCP_TASKS_ENABLED": "<YOUR_MCP_TASKS_ENABLED>",
        "MCP_APPS_ENABLED": "<YOUR_MCP_APPS_ENABLED>",
        "MCP_V2_EXPERIMENTAL": "<YOUR_MCP_V2_EXPERIMENTAL>",
        "MCP_RAW_EXEC_EXPERIMENTAL": "<YOUR_MCP_RAW_EXEC_EXPERIMENTAL>",
        "BRIDGE_HOST": "<YOUR_BRIDGE_HOST>",
        "BRIDGE_PORT": "<YOUR_BRIDGE_PORT>",
        "BRIDGE_PORT_SCAN": "<YOUR_BRIDGE_PORT_SCAN>",
        "BRIDGE_TIMEOUT_MS": "<YOUR_BRIDGE_TIMEOUT_MS>",
        "BRIDGE_HEARTBEAT_MS": "<YOUR_BRIDGE_HEARTBEAT_MS>",
        "BRIDGE_RECONNECT_MAX_ATTEMPTS": "<YOUR_BRIDGE_RECONNECT_MAX_ATTEMPTS>",
        "BRIDGE_WAIT_FOR_EDA_MS": "<YOUR_BRIDGE_WAIT_FOR_EDA_MS>",
        "BRIDGE_MAX_PAYLOAD_SIZE": "<YOUR_BRIDGE_MAX_PAYLOAD_SIZE>",
        "BRIDGE_TOKEN": "<YOUR_BRIDGE_TOKEN>",
        "EASYEDA_DEV_BRIDGE": "<YOUR_EASYEDA_DEV_BRIDGE>",
        "BRIDGE_RAW_EXEC_ENABLED": "<YOUR_BRIDGE_RAW_EXEC_ENABLED>",
        "DATA_DIR": "<YOUR_DATA_DIR>",
        "SQLITE_PATH": "<YOUR_SQLITE_PATH>",
        "ARTIFACT_DIR": "<YOUR_ARTIFACT_DIR>",
        "CACHE_DIR": "<YOUR_CACHE_DIR>",
        "AI_PROVIDER": "<YOUR_AI_PROVIDER>",
        "AI_MODEL": "<YOUR_AI_MODEL>",
        "AI_API_KEY": "<YOUR_AI_API_KEY>",
        "AI_MAX_TOKENS": "<YOUR_AI_MAX_TOKENS>",
        "AI_TIMEOUT_MS": "<YOUR_AI_TIMEOUT_MS>",
        "AI_ALLOW_DESIGN_MUTATIONS": "<YOUR_AI_ALLOW_DESIGN_MUTATIONS>",
        "JLCPCB_MODE": "<YOUR_JLCPCB_MODE>",
        "JLCPCB_CLIENT_ID": "<YOUR_JLCPCB_CLIENT_ID>",
        "JLCPCB_CLIENT_SECRET": "<YOUR_JLCPCB_CLIENT_SECRET>",
        "JLCPCB_API_BASE_URL": "<YOUR_JLCPCB_API_BASE_URL>",
        "JLCPCB_ENABLE_ORDERING": "<YOUR_JLCPCB_ENABLE_ORDERING>",
        "JLCPCB_DEFAULT_CURRENCY": "<YOUR_JLCPCB_DEFAULT_CURRENCY>",
        "JLCSEARCH_ENABLED": "<YOUR_JLCSEARCH_ENABLED>",
        "JLCSEARCH_BASE_URL": "<YOUR_JLCSEARCH_BASE_URL>",
        "LCSC_API_KEY": "<YOUR_LCSC_API_KEY>",
        "LCSC_API_SECRET": "<YOUR_LCSC_API_SECRET>",
        "MOUSER_ENABLED": "<YOUR_MOUSER_ENABLED>",
        "MOUSER_API_KEY": "<YOUR_MOUSER_API_KEY>",
        "MOUSER_API_BASE_URL": "<YOUR_MOUSER_API_BASE_URL>",
        "DIGIKEY_ENABLED": "<YOUR_DIGIKEY_ENABLED>",
        "DIGIKEY_CLIENT_ID": "<YOUR_DIGIKEY_CLIENT_ID>",
        "DIGIKEY_CLIENT_SECRET": "<YOUR_DIGIKEY_CLIENT_SECRET>",
        "DIGIKEY_SANDBOX": "<YOUR_DIGIKEY_SANDBOX>",
        "DIGIKEY_LOCALE": "<YOUR_DIGIKEY_LOCALE>",
        "DIGIKEY_CURRENCY": "<YOUR_DIGIKEY_CURRENCY>",
        "OAUTH_ENABLED": "<YOUR_OAUTH_ENABLED>",
        "OAUTH_ISSUER": "<YOUR_OAUTH_ISSUER>",
        "OAUTH_AUDIENCE": "<YOUR_OAUTH_AUDIENCE>",
        "OAUTH_JWKS_URI": "<YOUR_OAUTH_JWKS_URI>",
        "OAUTH_REQUIRED_SCOPES": "<YOUR_OAUTH_REQUIRED_SCOPES>",
        "OTEL_ENABLED": "<YOUR_OTEL_ENABLED>",
        "OTEL_SERVICE_NAME": "<YOUR_OTEL_SERVICE_NAME>",
        "OTEL_EXPORTER_OTLP_ENDPOINT": "<YOUR_OTEL_EXPORTER_OTLP_ENDPOINT>",
        "TRACE_SAMPLE_RATE": "<YOUR_TRACE_SAMPLE_RATE>"
      }
    }
  }
}
Claude Code
claude mcp add easyeda-mcp-pro --env NODE_ENV=<YOUR_NODE_ENV> --env LOG_LEVEL=<YOUR_LOG_LEVEL> --env TOOL_PROFILE=<YOUR_TOOL_PROFILE> --env MCP_PROTOCOL_VERSION=<YOUR_MCP_PROTOCOL_VERSION> --env TRANSPORT=<YOUR_TRANSPORT> --env HTTP_HOST=<YOUR_HTTP_HOST> --env HTTP_PORT=<YOUR_HTTP_PORT> --env HTTP_AUTH_DISABLED=<YOUR_HTTP_AUTH_DISABLED> --env HTTP_RATE_LIMIT_MAX=<YOUR_HTTP_RATE_LIMIT_MAX> --env CORS_ORIGIN=<YOUR_CORS_ORIGIN> --env ALLOWED_ORIGINS=<YOUR_ALLOWED_ORIGINS> --env MCP_TASKS_ENABLED=<YOUR_MCP_TASKS_ENABLED> --env MCP_APPS_ENABLED=<YOUR_MCP_APPS_ENABLED> --env MCP_V2_EXPERIMENTAL=<YOUR_MCP_V2_EXPERIMENTAL> --env MCP_RAW_EXEC_EXPERIMENTAL=<YOUR_MCP_RAW_EXEC_EXPERIMENTAL> --env BRIDGE_HOST=<YOUR_BRIDGE_HOST> --env BRIDGE_PORT=<YOUR_BRIDGE_PORT> --env BRIDGE_PORT_SCAN=<YOUR_BRIDGE_PORT_SCAN> --env BRIDGE_TIMEOUT_MS=<YOUR_BRIDGE_TIMEOUT_MS> --env BRIDGE_HEARTBEAT_MS=<YOUR_BRIDGE_HEARTBEAT_MS> --env BRIDGE_RECONNECT_MAX_ATTEMPTS=<YOUR_BRIDGE_RECONNECT_MAX_ATTEMPTS> --env BRIDGE_WAIT_FOR_EDA_MS=<YOUR_BRIDGE_WAIT_FOR_EDA_MS> --env BRIDGE_MAX_PAYLOAD_SIZE=<YOUR_BRIDGE_MAX_PAYLOAD_SIZE> --env BRIDGE_TOKEN=<YOUR_BRIDGE_TOKEN> --env EASYEDA_DEV_BRIDGE=<YOUR_EASYEDA_DEV_BRIDGE> --env BRIDGE_RAW_EXEC_ENABLED=<YOUR_BRIDGE_RAW_EXEC_ENABLED> --env DATA_DIR=<YOUR_DATA_DIR> --env SQLITE_PATH=<YOUR_SQLITE_PATH> --env ARTIFACT_DIR=<YOUR_ARTIFACT_DIR> --env CACHE_DIR=<YOUR_CACHE_DIR> --env AI_PROVIDER=<YOUR_AI_PROVIDER> --env AI_MODEL=<YOUR_AI_MODEL> --env AI_API_KEY=<YOUR_AI_API_KEY> --env AI_MAX_TOKENS=<YOUR_AI_MAX_TOKENS> --env AI_TIMEOUT_MS=<YOUR_AI_TIMEOUT_MS> --env AI_ALLOW_DESIGN_MUTATIONS=<YOUR_AI_ALLOW_DESIGN_MUTATIONS> --env JLCPCB_MODE=<YOUR_JLCPCB_MODE> --env JLCPCB_CLIENT_ID=<YOUR_JLCPCB_CLIENT_ID> --env JLCPCB_CLIENT_SECRET=<YOUR_JLCPCB_CLIENT_SECRET> --env JLCPCB_API_BASE_URL=<YOUR_JLCPCB_API_BASE_URL> --env JLCPCB_ENABLE_ORDERING=<YOUR_JLCPCB_ENABLE_ORDERING> --env JLCPCB_DEFAULT_CURRENCY=<YOUR_JLCPCB_DEFAULT_CURRENCY> --env JLCSEARCH_ENABLED=<YOUR_JLCSEARCH_ENABLED> --env JLCSEARCH_BASE_URL=<YOUR_JLCSEARCH_BASE_URL> --env LCSC_API_KEY=<YOUR_LCSC_API_KEY> --env LCSC_API_SECRET=<YOUR_LCSC_API_SECRET> --env MOUSER_ENABLED=<YOUR_MOUSER_ENABLED> --env MOUSER_API_KEY=<YOUR_MOUSER_API_KEY> --env MOUSER_API_BASE_URL=<YOUR_MOUSER_API_BASE_URL> --env DIGIKEY_ENABLED=<YOUR_DIGIKEY_ENABLED> --env DIGIKEY_CLIENT_ID=<YOUR_DIGIKEY_CLIENT_ID> --env DIGIKEY_CLIENT_SECRET=<YOUR_DIGIKEY_CLIENT_SECRET> --env DIGIKEY_SANDBOX=<YOUR_DIGIKEY_SANDBOX> --env DIGIKEY_LOCALE=<YOUR_DIGIKEY_LOCALE> --env DIGIKEY_CURRENCY=<YOUR_DIGIKEY_CURRENCY> --env OAUTH_ENABLED=<YOUR_OAUTH_ENABLED> --env OAUTH_ISSUER=<YOUR_OAUTH_ISSUER> --env OAUTH_AUDIENCE=<YOUR_OAUTH_AUDIENCE> --env OAUTH_JWKS_URI=<YOUR_OAUTH_JWKS_URI> --env OAUTH_REQUIRED_SCOPES=<YOUR_OAUTH_REQUIRED_SCOPES> --env OTEL_ENABLED=<YOUR_OTEL_ENABLED> --env OTEL_SERVICE_NAME=<YOUR_OTEL_SERVICE_NAME> --env OTEL_EXPORTER_OTLP_ENDPOINT=<YOUR_OTEL_EXPORTER_OTLP_ENDPOINT> --env TRACE_SAMPLE_RATE=<YOUR_TRACE_SAMPLE_RATE> -- npx -y easyeda-mcp-pro

Related MCP servers

Aggregate multiple MCP backends behind a single stdio endpoint with namespaced routing.

View repository →

Production-grade MCP server for KiCad EDA—PCB design, DRC, simulation, BOM, DFM, and manufacturing.

View repository →

Record debug sessions, commands, failed attempts, and successful fixes in local SQLite storage.

View repository →

Monitor MCP server health, uptime, response times, and Azure DevOps pipeline status

View repository →

SSH Linux metrics, baselines, anomaly detection, and plain-English infrastructure explanations.

View repository →

Secure MCP SSH automation server with policy controls, resources, prompts, stdio, and HTTP.

View repository →