easyeda mcp pro for Gemini CLI
io.github.oaslananka/easyeda-mcp-pro
MCP server for EasyEDA Pro: PCB inspection, BOM, exports, and hardware review.
client:Gemini CLI
transport:stdio
runtime:npm
Install easyeda mcp pro in Gemini CLI
~/.gemini/settings.json · windows: %USERPROFILE%\.gemini\settings.json
{
"mcpServers": {
"easyeda-mcp-pro": {
"command": "npx",
"args": [
"-y",
"easyeda-mcp-pro"
],
"env": {
"NODE_ENV": "<NODE_ENV>",
"LOG_LEVEL": "<LOG_LEVEL>",
"TOOL_PROFILE": "<TOOL_PROFILE>",
"TOOL_SCOPES": "<TOOL_SCOPES>",
"MCP_PROTOCOL_VERSION": "<MCP_PROTOCOL_VERSION>",
"MCP_BRIDGE_BACKEND": "<MCP_BRIDGE_BACKEND>",
"MCP_REMOTE_SESSION_ID": "<MCP_REMOTE_SESSION_ID>",
"TRANSPORT": "<TRANSPORT>",
"HTTP_HOST": "<HTTP_HOST>",
"HTTP_PORT": "<HTTP_PORT>",
"HTTP_AUTH_DISABLED": "<HTTP_AUTH_DISABLED>",
"HTTP_RATE_LIMIT_MAX": "<HTTP_RATE_LIMIT_MAX>",
"CORS_ORIGIN": "<CORS_ORIGIN>",
"ALLOWED_ORIGINS": "<ALLOWED_ORIGINS>",
"MCP_TASKS_ENABLED": "<MCP_TASKS_ENABLED>",
"MCP_APPS_ENABLED": "<MCP_APPS_ENABLED>",
"MCP_V2_EXPERIMENTAL": "<MCP_V2_EXPERIMENTAL>",
"MCP_RAW_EXEC_EXPERIMENTAL": "<MCP_RAW_EXEC_EXPERIMENTAL>",
"BRIDGE_HOST": "<BRIDGE_HOST>",
"BRIDGE_PORT": "<BRIDGE_PORT>",
"BRIDGE_PORT_SCAN": "<BRIDGE_PORT_SCAN>",
"BRIDGE_TIMEOUT_MS": "<BRIDGE_TIMEOUT_MS>",
"BRIDGE_HEARTBEAT_MS": "<BRIDGE_HEARTBEAT_MS>",
"BRIDGE_WAIT_FOR_EDA_MS": "<BRIDGE_WAIT_FOR_EDA_MS>",
"BRIDGE_MAX_PAYLOAD_SIZE": "<BRIDGE_MAX_PAYLOAD_SIZE>",
"BRIDGE_TOKEN": "<BRIDGE_TOKEN>",
"EASYEDA_DEV_BRIDGE": "<EASYEDA_DEV_BRIDGE>",
"BRIDGE_RAW_EXEC_ENABLED": "<BRIDGE_RAW_EXEC_ENABLED>",
"DATA_DIR": "<DATA_DIR>",
"SQLITE_PATH": "<SQLITE_PATH>",
"ARTIFACT_DIR": "<ARTIFACT_DIR>",
"CACHE_DIR": "<CACHE_DIR>",
"AI_PROVIDER": "<AI_PROVIDER>",
"AI_MODEL": "<AI_MODEL>",
"AI_API_KEY": "<AI_API_KEY>",
"AI_MAX_TOKENS": "<AI_MAX_TOKENS>",
"AI_TIMEOUT_MS": "<AI_TIMEOUT_MS>",
"AI_ALLOW_DESIGN_MUTATIONS": "<AI_ALLOW_DESIGN_MUTATIONS>",
"JLCPCB_MODE": "<JLCPCB_MODE>",
"JLCPCB_CLIENT_ID": "<JLCPCB_CLIENT_ID>",
"JLCPCB_CLIENT_SECRET": "<JLCPCB_CLIENT_SECRET>",
"JLCPCB_API_BASE_URL": "<JLCPCB_API_BASE_URL>",
"JLCPCB_ENABLE_ORDERING": "<JLCPCB_ENABLE_ORDERING>",
"JLCSEARCH_ENABLED": "<JLCSEARCH_ENABLED>",
"JLCSEARCH_BASE_URL": "<JLCSEARCH_BASE_URL>",
"LCSC_API_KEY": "<LCSC_API_KEY>",
"KEYLESS_SOURCING_ENABLED": "<KEYLESS_SOURCING_ENABLED>",
"SOURCING_CACHE_TTL_SECONDS": "<SOURCING_CACHE_TTL_SECONDS>",
"VENDOR_MIN_REQUEST_INTERVAL_MS": "<VENDOR_MIN_REQUEST_INTERVAL_MS>",
"MOUSER_ENABLED": "<MOUSER_ENABLED>",
"MOUSER_API_KEY": "<MOUSER_API_KEY>",
"MOUSER_API_BASE_URL": "<MOUSER_API_BASE_URL>",
"DIGIKEY_ENABLED": "<DIGIKEY_ENABLED>",
"DIGIKEY_CLIENT_ID": "<DIGIKEY_CLIENT_ID>",
"DIGIKEY_CLIENT_SECRET": "<DIGIKEY_CLIENT_SECRET>",
"DIGIKEY_SANDBOX": "<DIGIKEY_SANDBOX>",
"DIGIKEY_LOCALE": "<DIGIKEY_LOCALE>",
"DIGIKEY_CURRENCY": "<DIGIKEY_CURRENCY>",
"OAUTH_ENABLED": "<OAUTH_ENABLED>",
"OAUTH_ISSUER": "<OAUTH_ISSUER>",
"OAUTH_AUDIENCE": "<OAUTH_AUDIENCE>",
"OAUTH_JWKS_URI": "<OAUTH_JWKS_URI>",
"OAUTH_REQUIRED_SCOPES": "<OAUTH_REQUIRED_SCOPES>",
"OTEL_ENABLED": "<OTEL_ENABLED>",
"OTEL_SERVICE_NAME": "<OTEL_SERVICE_NAME>",
"OTEL_EXPORTER_OTLP_ENDPOINT": "<OTEL_EXPORTER_OTLP_ENDPOINT>",
"TRACE_SAMPLE_RATE": "<TRACE_SAMPLE_RATE>"
}
}
}
}
Gemini expands $VAR and ${VAR} inside env values, so a secret can live in your shell rather than this file. Gemini CLI docs