MCP低风险未认领
easyeda-mcp-pro
MCP server for EasyEDA Pro: PCB inspection, BOM, exports, and hardware review.
oaslanankaoaslananka/easyeda-mcp-pro
server.json
{
"$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": "1.2.0",
"packages": [
{
"registryType": "npm",
"identifier": "easyeda-mcp-pro",
"version": "1.2.0",
"transport": {
"type": "stdio"
},
"environmentVariables": [
{
"description": "Environment mode",
"format": "string",
"default": "development",
"choices": [
"development",
"test",
"production"
],
"name": "NODE_ENV"
},
{
"description": "Pino log level",
"format": "string",
"default": "info",
"choices": [
"trace",
"debug",
"info",
"warn",
"error",
"fatal",
"silent"
],
"name": "LOG_LEVEL"
},
{
"description": "Active tool profile (core, pro, full, dev, experimental)",
"format": "string",
"default": "core",
"choices": [
"core",
"pro",
"full",
"dev",
"experimental"
],
"name": "TOOL_PROFILE"
},
{
"description": "Optional comma- or space-separated capability scope allowlist; empty enables all scopes allowed by the active tool profile.",
"format": "string",
"name": "TOOL_SCOPES"
},
{
"description": "MCP protocol version string",
"format": "string",
"default": "2025-11-25",
"name": "MCP_PROTOCOL_VERSION"
},
{
"description": "Bridge backend: local_bridge or experimental remote_relay",
"format": "string",
"default": "local_bridge",
"choices": [
"local_bridge",
"remote_relay"
],
"name": "MCP_BRIDGE_BACKEND"
},
{
"description": "Optional fixed Remote Relay session id for the remote_relay backend",
"format": "string",
"name": "MCP_REMOTE_SESSION_ID"
},
{
"description": "Server transport mode (stdio or http)",
"format": "string",
"default": "stdio",
"choices": [
"stdio",
"http"
],
"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": "Experimental; enables opt-in dual-era HTTP and stdio support for MCP 2026-07-28 while legacy behavior remains the default.",
"format": "boolean",
"default": "false",
"name": "MCP_V2_EXPERIMENTAL"
},
{
"description": "Experimental second gate for raw EasyEDA runtime execution; 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": "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": "Experimental first gate for raw EasyEDA runtime execution; requires MCP_RAW_EXEC_EXPERIMENTAL.",
"format": "boolean",
"default": "false",
"name": "BRIDGE_RAW_EXEC_ENABLED"
},
{
"description": "Base directory for writable local state; defaults beneath the operating-system user home directory.",
"format": "filepath",
"placeholder": "Defaults to the operating-system user home directory under .easyeda-mcp-pro.",
"name": "DATA_DIR"
},
{
"description": "SQLite database path; derived from DATA_DIR unless explicitly configured.",
"format": "filepath",
"placeholder": "Derived from DATA_DIR as easyeda-mcp-pro.sqlite unless explicitly configured.",
"name": "SQLITE_PATH"
},
{
"description": "Artifact export directory; derived from DATA_DIR unless explicitly configured.",
"format": "filepath",
"placeholder": "Derived from DATA_DIR as artifacts unless explicitly configured.",
"name": "ARTIFACT_DIR"
},
{
"description": "Cache directory; derived from DATA_DIR unless explicitly configured.",
"format": "filepath",
"placeholder": "Derived from DATA_DIR as cache unless explicitly configured.",
"name": "CACHE_DIR"
},
{
"description": "Reserved; currently non-functional: no in-process AI provider client is invoked.",
"format": "string",
"default": "none",
"choices": [
"none",
"anthropic",
"openai",
"openrouter",
"local"
],
"name": "AI_PROVIDER"
},
{
"description": "Reserved; currently non-functional: no model is selected or invoked.",
"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": "Reserved; currently non-functional: retained only for future provider compatibility.",
"format": "number",
"default": "8000",
"name": "AI_MAX_TOKENS"
},
{
"description": "Reserved; currently non-functional: retained only for future provider compatibility.",
"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)",
"format": "string",
"default": "disabled",
"choices": [
"disabled",
"mock",
"approved_api"
],
"name": "JLCPCB_MODE"
},
{
"description": "JLCPCB API client identifier.",
"format": "string",
"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": "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": "Allow supported public keyless component-sourcing fallbacks when vendor credentials are unavailable.",
"format": "boolean",
"default": "true",
"name": "KEYLESS_SOURCING_ENABLED"
},
{
"description": "Component-sourcing cache lifetime in seconds (0 disables cache reuse).",
"format": "number",
"default": "21600",
"name": "SOURCING_CACHE_TTL_SECONDS"
},
{
"description": "Minimum delay in milliseconds between outbound requests to the same sourcing vendor.",
"format": "number",
"default": "150",
"name": "VENDOR_MIN_REQUEST_INTERVAL_MS"
},
{
"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 identifier.",
"format": "string",
"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": "Reserved; currently non-functional: retained for a future OTLP exporter.",
"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": "Reserved; currently non-functional: no OTLP traces are emitted.",
"format": "number",
"default": "1",
"name": "TRACE_SAMPLE_RATE"
}
]
}
]
}权限
声明检测
运行代码—
node安装—
npm:easyeda-mcp-pro@1.2.0安装时运行脚本—无
网络无无
需要的凭据
AI_API_KEYBRIDGE_TOKENDIGIKEY_CLIENT_SECRETJLCPCB_CLIENT_SECRETLCSC_API_KEYMOUSER_API_KEYAI_API_KEYBRIDGE_TOKENDIGIKEY_CLIENT_SECRETJLCPCB_CLIENT_SECRETLCSC_API_KEYMOUSER_API_KEY工作区外的路径—无
智能体工具—无
检查
低风险 · 没有发现需要提醒的地方。
未经人工审核 · 已做规则检查;模型审核尚未开启。
版本
- #21.2.0最新2026年10月9日
- #11.1.02026年10月7日
easyeda-mcp-pro在 Codeg 中打开