Configuration
All configuration is managed using environment variables. When running locally from source, you can define them in a .env file in the root directory. When running via npx, they are passed as environment variables in your client config JSON.
Tool Profiles
The active tool set is gated by the TOOL_PROFILE environment variable.
| Profile | Level | Purpose |
|---|---|---|
core (default) | L0 + L1 | Standard read-only and inspection tools (schematic components, nets, stackup, layers, export Gerbers). |
pro | L1+ | Includes Gerber, Pick & Place, BOM, schematic/PCB PDF, and netlist export tools. |
full | L0-L1 | Adds the generic controlled documented easyeda_api_call tool, enabling custom interactions. Mutation calls require confirmation. |
dev | Dev | Adds diagnostic component probes and WebSocket bridge diagnostics. |
Configure this in your client environment configuration:
json
"env": {
"TOOL_PROFILE": "pro"
}Supplier Sourcing Configuration
Suppliers are optional and disabled by default. Set the following variables to enable integrations:
LCSC (Electronic Components)
JLCSEARCH_ENABLED=true(Default is true, does not require API keys for basic inventory lookups).
Mouser Electronics
MOUSER_ENABLED=trueMOUSER_API_KEY=your-mouser-api-key
DigiKey Electronics
DIGIKEY_ENABLED=trueDIGIKEY_CLIENT_ID=your-client-idDIGIKEY_CLIENT_SECRET=your-client-secret
JLCPCB Fabrication
JLCPCB_MODE=approved_apiJLCPCB_CLIENT_ID=your-client-idJLCPCB_CLIENT_SECRET=your-client-secret
Transport Configuration
By default, the server uses standard I/O (stdio) transport. To run as an HTTP server:
env
TRANSPORT=http
HTTP_HOST=127.0.0.1
HTTP_PORT=3000
HTTP_RATE_LIMIT_MAX=100Production Security for HTTP
For remote HTTP deployments, OAuth 2.0 validation can be enforced:
env
OAUTH_ENABLED=true
OAUTH_ISSUER=https://your-identity-provider.com
OAUTH_JWKS_URI=https://your-identity-provider.com/.well-known/jwks.jsonNote: Non-loopback HTTP_HOST (e.g., 0.0.0.0) without OAuth enabled is rejected at startup for security.
