{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.oaslananka/easyeda-mcp-pro","description":"MCP server for EasyEDA Pro: PCB inspection, BOM, exports, and hardware review.","repository":{"url":"https://github.com/oaslananka/easyeda-mcp-pro","source":"github"},"version":"0.35.4","packages":[{"registryType":"npm","identifier":"easyeda-mcp-pro","version":"0.35.4","transport":{"type":"stdio"},"environmentVariables":[{"description":"Environment mode","default":"development","name":"NODE_ENV"},{"description":"Pino log level","default":"info","name":"LOG_LEVEL"},{"description":"Active tool profile (core, pro, full, dev, experimental)","default":"core","name":"TOOL_PROFILE"},{"description":"MCP protocol version string","default":"2025-11-25","name":"MCP_PROTOCOL_VERSION"},{"description":"Bridge backend: local_bridge or experimental remote_relay","default":"local_bridge","name":"MCP_BRIDGE_BACKEND"},{"description":"Optional fixed Remote Relay session id for the remote_relay backend","name":"MCP_REMOTE_SESSION_ID"},{"description":"Server transport mode (stdio or http)","default":"stdio","name":"TRANSPORT"},{"description":"HTTP bind address","format":"string","default":"127.0.0.1","name":"HTTP_HOST"},{"description":"HTTP port","format":"number","default":"3000","name":"HTTP_PORT"},{"description":"Disable HTTP transport authentication","format":"boolean","default":"false","name":"HTTP_AUTH_DISABLED"},{"description":"Max requests per minute per IP","format":"number","default":"100","name":"HTTP_RATE_LIMIT_MAX"},{"description":"Allowed CORS origin for HTTP transport","format":"string","name":"CORS_ORIGIN"},{"description":"Comma-separated list of allowed origins for HTTP transport (use * for wildcard)","format":"string","name":"ALLOWED_ORIGINS"},{"description":"Reserved; currently non-functional: parsed for compatibility, but the server does not advertise or execute MCP Tasks.","format":"boolean","default":"false","name":"MCP_TASKS_ENABLED"},{"description":"Reserved; currently non-functional: parsed for compatibility, but no MCP Apps UI or resource runtime is registered.","format":"boolean","default":"false","name":"MCP_APPS_ENABLED"},{"description":"Reserved; currently non-functional: does not change MCP protocol negotiation.","format":"boolean","default":"false","name":"MCP_V2_EXPERIMENTAL"},{"description":"Enable experimental raw EasyEDA runtime execution gate (dangerous; requires BRIDGE_RAW_EXEC_ENABLED)","format":"boolean","default":"false","name":"MCP_RAW_EXEC_EXPERIMENTAL"},{"description":"Bridge WebSocket host for EasyEDA Pro connection","format":"string","default":"127.0.0.1","name":"BRIDGE_HOST"},{"description":"Bridge primary port","format":"number","default":"49620","name":"BRIDGE_PORT"},{"description":"Port scan specification (comma-separated ports or ranges)","format":"string","default":"49620-49629","name":"BRIDGE_PORT_SCAN"},{"description":"Bridge call timeout in ms","format":"number","default":"15000","name":"BRIDGE_TIMEOUT_MS"},{"description":"Bridge heartbeat interval in ms","format":"number","default":"10000","name":"BRIDGE_HEARTBEAT_MS"},{"description":"Max reconnect attempts (0 = infinite)","format":"number","default":"0","name":"BRIDGE_RECONNECT_MAX_ATTEMPTS"},{"description":"How long to wait for EasyEDA Pro to become available on startup (ms)","format":"number","default":"30000","name":"BRIDGE_WAIT_FOR_EDA_MS"},{"description":"Max bridge payload size in bytes","format":"number","default":"1048576","name":"BRIDGE_MAX_PAYLOAD_SIZE"},{"description":"Session token for extension auth","format":"string","isSecret":true,"name":"BRIDGE_TOKEN"},{"description":"Enable EasyEDA dev bridge mode","format":"boolean","default":"false","name":"EASYEDA_DEV_BRIDGE"},{"description":"Enable raw method execution on bridge (dangerous)","format":"boolean","default":"false","name":"BRIDGE_RAW_EXEC_ENABLED"},{"description":"Data directory for storage","format":"string","default":".easyeda-mcp-pro","name":"DATA_DIR"},{"description":"SQLite database path","format":"string","default":".easyeda-mcp-pro/easyeda-mcp-pro.sqlite","name":"SQLITE_PATH"},{"description":"Artifact export directory","format":"string","default":".easyeda-mcp-pro/artifacts","name":"ARTIFACT_DIR"},{"description":"Cache directory","format":"string","default":".easyeda-mcp-pro/cache","name":"CACHE_DIR"},{"description":"Reserved; currently non-functional: no in-process AI provider client is invoked.","default":"none","name":"AI_PROVIDER"},{"description":"Reserved; currently non-functional: retained for future provider integration only.","format":"string","name":"AI_MODEL"},{"description":"Reserved; currently non-functional: do not supply credentials because no provider client consumes them.","format":"string","isSecret":true,"name":"AI_API_KEY"},{"description":"Max tokens for AI responses","format":"number","default":"8000","name":"AI_MAX_TOKENS"},{"description":"AI request timeout in ms","format":"number","default":"60000","name":"AI_TIMEOUT_MS"},{"description":"Reserved; currently non-functional: cannot enable AI-originated design mutation.","format":"boolean","default":"false","name":"AI_ALLOW_DESIGN_MUTATIONS"},{"description":"JLCPCB API mode (disabled, mock, approved_api)","default":"disabled","name":"JLCPCB_MODE"},{"description":"JLCPCB API client ID","format":"string","isSecret":true,"name":"JLCPCB_CLIENT_ID"},{"description":"JLCPCB API client secret","format":"string","isSecret":true,"name":"JLCPCB_CLIENT_SECRET"},{"description":"JLCPCB API base URL","format":"string","default":"https://api.jlcpcb.com","name":"JLCPCB_API_BASE_URL"},{"description":"Enable JLCPCB ordering","format":"boolean","default":"false","name":"JLCPCB_ENABLE_ORDERING"},{"description":"JLCPCB default currency (USD, CNY)","default":"USD","name":"JLCPCB_DEFAULT_CURRENCY"},{"description":"Enable LCSC component search","format":"boolean","default":"true","name":"JLCSEARCH_ENABLED"},{"description":"LCSC search API base URL","format":"string","default":"https://jlcsearch.tscircuit.com","name":"JLCSEARCH_BASE_URL"},{"description":"LCSC API key","format":"string","isSecret":true,"name":"LCSC_API_KEY"},{"description":"LCSC API secret","format":"string","isSecret":true,"name":"LCSC_API_SECRET"},{"description":"Enable Mouser integration","format":"boolean","default":"false","name":"MOUSER_ENABLED"},{"description":"Mouser API key","format":"string","isSecret":true,"name":"MOUSER_API_KEY"},{"description":"Mouser API base URL","format":"string","default":"https://api.mouser.com","name":"MOUSER_API_BASE_URL"},{"description":"Enable DigiKey integration","format":"boolean","default":"false","name":"DIGIKEY_ENABLED"},{"description":"DigiKey OAuth2 client ID","format":"string","isSecret":true,"name":"DIGIKEY_CLIENT_ID"},{"description":"DigiKey OAuth2 client secret","format":"string","isSecret":true,"name":"DIGIKEY_CLIENT_SECRET"},{"description":"Use DigiKey sandbox environment","format":"boolean","default":"true","name":"DIGIKEY_SANDBOX"},{"description":"DigiKey locale","format":"string","default":"en-US","name":"DIGIKEY_LOCALE"},{"description":"DigiKey pricing currency","format":"string","default":"USD","name":"DIGIKEY_CURRENCY"},{"description":"Enable OAuth for HTTP mode","format":"boolean","default":"false","name":"OAUTH_ENABLED"},{"description":"Expected OAuth token issuer","format":"string","name":"OAUTH_ISSUER"},{"description":"Expected OAuth token audience","format":"string","default":"easyeda-mcp-pro","name":"OAUTH_AUDIENCE"},{"description":"JWKS endpoint for token signature validation","format":"string","name":"OAUTH_JWKS_URI"},{"description":"Required OAuth token scope","format":"string","default":"easyeda:read","name":"OAUTH_REQUIRED_SCOPES"},{"description":"Reserved; currently non-functional: no OTLP exporter is started.","format":"boolean","default":"false","name":"OTEL_ENABLED"},{"description":"OpenTelemetry service name","format":"string","default":"easyeda-mcp-pro","name":"OTEL_SERVICE_NAME"},{"description":"Reserved; currently non-functional: retained for a future OTLP exporter.","format":"string","name":"OTEL_EXPORTER_OTLP_ENDPOINT"},{"description":"OpenTelemetry trace sample rate (0.0 to 1.0)","format":"number","default":"1.0","name":"TRACE_SAMPLE_RATE"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-07-27T20:14:17.893604Z","publishedAt":"2026-07-27T20:14:17.893604Z","updatedAt":"2026-07-27T20:14:17.893604Z","isLatest":true}}}
