Loading…
MCP server for EasyEDA Pro: PCB inspection, BOM, exports, and hardware review.
io.github.oaslananka/easyeda-mcp-pro is an MCP server entry in ChatHome Skills, sourced from Official MCP Registry and scored 76/100. As a Model Context Protocol server, it exposes tools that MCP-compatible LLM clients such as Claude, Cursor, and Copilot can call directly, extending an agent's reach beyond its built-in capabilities. ChatHome Skills discovered this entry through its daily ingest of official registries and GitHub discovery queries, and re-verifies repository facts, freshness signals, and install metadata on every run. The quality score weighs official-registry presence, a working install command, license clarity, GitHub star trajectory, and repository freshness — the full formula is on the Sources page. The install command above is ready to copy. Review the last-pushed date and repository status before adding io.github.oaslananka/easyeda-mcp-pro to a production agent workflow; the snapshot facts below are point-in-time values from the most recent ingest.
npx -y easyeda-mcp-pro@1.5.4Review the upstream source before running this command.
{
"_meta": {
"io.modelcontextprotocol.registry/official": {
"status": "active",
"isLatest": true,
"updatedAt": "2026-10-24T22:15:46.203914Z",
"publishedAt": "2026-10-24T22:15:46.203914Z",
"statusChangedAt": "2026-10-24T22:15:46.203914Z"
}
},
"server": {
"name": "io.github.oaslananka/easyeda-mcp-pro",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"version": "1.5.4",
"packages": [
{
"version": "1.5.4",
"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."
}
}