Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
AI_MODELNoModel name for AI provider
DATA_DIRNoData directory (cache, database, artifacts).easyeda-mcp-pro
NODE_ENVNoSet to 'production' in productiondevelopment
HTTP_HOSTNoBind address (use 0.0.0.0 with caution)127.0.0.1
HTTP_PORTNoPort for HTTP transport3000
LOG_LEVELNoPino log level: trace, debug, info, warn, error, fatal, silentinfo
TRANSPORTNoServer transport: stdio (default) or httpstdio
AI_PROVIDERNoAI provider for LLM-assisted design review: anthropic, openai, openrouter, or localnone
BRIDGE_HOSTNoBridge WebSocket host127.0.0.1
BRIDGE_PORTNoPrimary bridge port18601
CORS_ORIGINNoAllowed CORS origin
JLCPCB_MODENoJLCPCB integration mode (e.g., approved_api); disabled by default
BRIDGE_TOKENNoSession token for extension auth
OAUTH_ISSUERNoExpected token issuer (iss claim)
TOOL_PROFILENoTool set: core, pro, full, dev, experimentalcore
OAUTH_ENABLEDNoEnable Bearer token validationfalse
MOUSER_ENABLEDNoEnable Mouser integration; disabled by default
OAUTH_AUDIENCENoExpected token audience (aud claim)easyeda-mcp-pro
OAUTH_JWKS_URINoJWKS endpoint for token signature validation
DIGIKEY_ENABLEDNoEnable DigiKey integration; disabled by default
BRIDGE_PORT_SCANNoPort scan spec (comma/range)18601,49620-49629
BRIDGE_TIMEOUT_MSNoBridge call timeout (ms)15000
JLCSEARCH_ENABLEDNoEnable LCSC search (default, no key required for basic search)true
BRIDGE_HEARTBEAT_MSNoHeartbeat interval (ms)10000
HTTP_RATE_LIMIT_MAXNoMax requests per minute per IP100
OAUTH_REQUIRED_SCOPESNoRequired token scopeeasyeda:read

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
easyeda_health_checkA

Return server health status in one call: runtime version, active profile, bridge state, EasyEDA version, keyless sourcing state, and starter catalog size. Intended as the single actionable status check after first connecting the bridge extension.

easyeda_bridge_statusA

Check EasyEDA Pro bridge connection status, version, and capabilities.

easyeda_get_capabilitiesA

Return server capabilities, including available profiles, enabled feature flags, and supported operations.

easyeda_get_server_configA

Return safe (redacted) server configuration. Secrets are never exposed.

easyeda_get_tool_profilesA

List available tool profiles and their descriptions.

easyeda_get_feature_flagsA

Return current feature flag values.

easyeda_observability_reportA

Return latency budgets, runtime metrics, cache/vendor timing snapshot, and storage retention policy for performance diagnostics.

easyeda_run_self_testB

Run internal self-test to verify server integrity, config, and bridge connectivity.

easyeda_api_inventoryB

Inspect the live EasyEDA extension runtime and list available documented API classes, runtime paths, and methods.

easyeda_schematic_netsA

List all nets in the schematic with their node connections.

easyeda_schematic_componentsB

List schematic components: primitiveId, reference, value, footprint, x/y/rotation, and device identity for cloning — deviceUuid+deviceLibraryUuid (a place_component deviceItem in this project), deviceName, symbolName, lcsc, manufacturerId.

easyeda_schematic_wiresA

List wire segments: primitiveId, line coordinates, net name, color, style. Page with offset (check total) past the 50-wire-per-call cap. primitiveId is required by delete_primitive/modify_primitive — schematic_nets alone cannot resolve a wire ID.

easyeda_schematic_net_detailA

Get full details for a specific net in the schematic including all connected pins and components.

easyeda_schematic_search_deviceA

Search for schematic symbols/devices in the EasyEDA library by keywords. Full results carry the library's complete metadata object per device; pass minimal:true to get back only uuid/libraryUuid/name/pin_count/symbol_type when that is all you need.

easyeda_schematic_sheet_infoB

Return read-only active schematic sheet metadata including page size, frame, origin, and grid hints for safer component placement.

easyeda_schematic_plan_safe_regionA

Compute a safe schematic drawing region before placing components. Uses live sheet info when available, assumes EasyEDA bottom-left coordinates, reserves the default lower-right title-block keep-out, and returns an anchor/bounds plan that avoids title-block overlap.

easyeda_schematic_verify_writeA

Read back schematic state after an agent-authored write. Returns component-count delta evidence and optional netlist validation so agents can confirm a placement or connection before continuing.

easyeda_schematic_component_pinsA

Get exact pin numbers, names, coordinates, and native pinType for a schematic component by its primitive ID. pinType is EasyEDA's own symbol-library field and is unreliably authored (often "Undefined" even on real ICs) — treat it as a weak hint, not ground truth.

easyeda_schematic_check_collisionsA

Scan every component's real pin coordinates and report any (x,y) shared by two or more components — a silent-short risk the native NET_COLLISION guard misses for never-wired pins. Run after manual placement outside easyeda_workflow_* tools (which reconcile this automatically).

easyeda_schematic_validate_netlistA

Validate the schematic netlist: inferred nets, connected refs/pins, floating pins, plus a cross-check with native ERC (native_erc). valid needs BOTH the inference clean AND native ERC 0 errors — inference alone false-positives when pins overlap without a wire.

easyeda_schematic_audit_imported_designA

Read the live schematic without modifying it, build a canonical model, and report imported net aliases, duplicate or missing references, unresolved metadata expressions, missing values/footprints, and ambiguous BOM classification. Includes a preview only; it never renames nets or changes components.

easyeda_schematic_preview_imported_normalizationA

Read the live schematic and produce a deterministic, read-only normalization plan with a stable plan ID, model hash, proposed net-name/reference/metadata operations, validation gates, warnings, and blockers. This tool never writes to EasyEDA.

easyeda_schematic_place_componentA

Place a library component/device on the active schematic sheet. Auto-assigns the next free designator ("R?" → "R1") — check the returned value, duplicate "R?" merge into one node. On a timeout error, auto-reconciles against the sheet before reporting failure (see reconciled/unconfirmed) — do not blindly retry.

easyeda_schematic_add_wireA

Add a wire connecting schematic coordinates/pins — real native connectivity. Same netName connects pins globally: separate stubs sharing one name merge into one net (no label needed). NET_COLLISION guards touched points against a foreign net's wire, pin, or flag/port — not mid-segment crossings.

easyeda_schematic_add_textA

Place free-standing text on the schematic sheet (section headers, notes, block labels) — cosmetic/organizational, not a net label. color must be a hex string and fontName a real font (e.g. "Arial") — untyped placeholders create nothing despite returning ok.

easyeda_schematic_add_rectangleA

Draw a rectangle on the schematic sheet — section dividers/grouping boxes for organizing a busy schematic into labeled functional blocks (pair with add_text for the title). Cosmetic only. x/y is the top-left corner; fillColor "none" leaves it unfilled.

easyeda_schematic_add_circleA

Draw a circle on the schematic sheet — decorative marker or custom symbol element. Cosmetic only, no electrical meaning. fillColor "none" leaves it unfilled.

easyeda_schematic_add_polygonA

Draw a closed polygon on the schematic sheet from 3+ vertices — custom decorative shapes, callout arrows, or block diagram elements. Cosmetic only, no electrical meaning.

easyeda_schematic_delete_primitiveA

Delete components, wires, or other drawing objects from the schematic by their primitive UUIDs.

easyeda_schematic_modify_primitiveA

Safely modify a schematic primitive while preserving omitted fields. With transactionId and projectId, capture before/after snapshots and automatically restore the prior state if the write or post-write read fails. Component moves keep connected wires attached.

easyeda_schematic_create_net_flagA

Create a named net flag/label. With identification (Power/Ground/AnalogGround/ProtectGround) it places a power-flag symbol binding to a coincident pin (use for VCC/GND). Without it, a generic net label — cosmetic only; connect pins with add_wire stubs sharing one netName.

easyeda_schematic_create_net_portA

Place a hierarchical net port (off-sheet connector) on the schematic. Net ports create named connections that span multiple schematic sheets, appearing as real SCH_Net entries in the netlist.

easyeda_schematic_connect_pin_to_netA

Create real EasyEDA connectivity for a pin: draws a short wire stub from its exact coordinate, tagged with netName. Same-netName wires merge globally, so this joins the pin to everything else on that net — visible to ERC, ratsnest, and autorouting.

easyeda_schematic_connect_pins_by_netA

Bulk variant of connect_pin_to_net: draws a real wire stub from each pin, tagged with netName, so all listed pins (and anything else already on that net) merge into one net. Visible to ERC, ratsnest, and autorouting. A pin that fails (e.g. collision) is reported in failures rather than aborting the batch.

easyeda_project_saveA

Explicitly save the current EasyEDA Pro project. This ensures all netlist changes, net flags, pin connections, and other mutations are persisted to the project file. Save is never implicit — the caller must explicitly request it. Requires confirmWrite.

easyeda_schematic_set_title_blockA

Update schematic title block text fields (Company, Version, Drawn, Reviewed, Page Size). Only these 5 are exposed — writing Symbol/Border/Device/etc once corrupted a real title block; those are read-only natively and must be fixed via the EasyEDA Pro UI.

easyeda_schematic_sync_to_pcbA

Request a schematic-to-PCB sync (SCH_Document.importChanges). CAUTION (live-verified): opens a confirmation dialog in EasyEDA Pro's UI a HUMAN must approve — success here only means the request was sent, not that components appeared. Ask the user to approve the dialog, then verify with pcb_components.

easyeda_schematic_batch_writeB

Apply up to 200 validated schematic create, modify, and delete operations in one snapshot-backed transaction. Any failure rolls the whole transaction back. Delete is limited to safely recreatable drawing primitives.

easyeda_project_begin_transactionA

Open an in-memory, document-scoped transaction for snapshot-backed schematic writes. Only one active transaction is allowed per document. Beginning a transaction does not modify EasyEDA.

easyeda_project_get_transaction_statusA

Read transaction state, validation results, operation hashes, and rollback status without exposing captured primitive snapshots.

easyeda_project_validate_transactionA

Run transaction consistency gates before commit: bridge availability, pending/failed operation checks, optional expected operation count, and optional requirement for at least one applied write.

easyeda_project_commit_transactionA

Finalize a transaction after its writes and validation gates succeed. Commit removes rollback eligibility and releases the document transaction lock.

easyeda_project_rollback_transactionA

Controlled write: restore applied schematic primitive snapshots in reverse order, verify each restored hash, and report partial rollback explicitly instead of hiding inconsistencies.

easyeda_bom_generateA

Generate a bill of materials for the project with grouping and formatting options.

easyeda_bom_validateA

Validate the project BOM against LCSC inventory to identify missing, obsolete, or alternate parts.

easyeda_bom_exportB

Export the bill of materials to a file on disk in the specified format.

easyeda_bom_sourcingA

Retrieve pricing and availability information for all parts in the project BOM from specified suppliers.

easyeda_bom_quality_reportB

Generate a BOM quality report that identifies unavailable, single-source, missing-MPN, missing-footprint, and low-stock items across configured suppliers.

easyeda_drc_runB

Run the native design rule check (DRC): same as clicking "Check DRC" in EasyEDA Pro, so the bottom DRC panel opens/refreshes in the user's window as a visible side effect. Returns coarse per-severity counts only — which specific wire/net/component is affected is shown only in EasyEDA Pro's own DRC panel.

easyeda_erc_runB

Run the native electrical rule check (ERC). Native counts are coarse; inferred_floating_pins supplements them with located, unconnected pins from this bridge's own inference (best-effort — other categories still need the DRC panel).

easyeda_semantic_erc_validateA

Run semantic electrical-rule validation over a netlist with pin electrical types to detect output contention, floating inputs, power conflicts, missing power pins, missing decoupling, and voltage-domain mismatches.

easyeda_semantic_erc_autoA

Extract nets/devices/pins from the LIVE schematic and run semantic ERC — no hand-authored netlist needed. Net/pin electrical types are INFERRED from naming conventions, not verified — treat findings as a first-pass signal, not a substitute for semantic_erc_validate.

easyeda_power_tree_analyzeA

Analyze supply sources, regulators, loads, protection, bulk capacitance, current budget, dropout, and regulator thermal risk. Returns machine-readable issues and a human-readable summary.

easyeda_post_write_qaA

Run and classify post-write schematic QA after generated edits. Combines native DRC/ERC results with policy-aware classification so duplicate net names, free networks, and unconnected pins are reported as pass/fail/inconclusive instead of raw warning counts.

easyeda_rule_check_summaryC

Get a summary of all design and electrical rule check results for the project.

easyeda_board_layersB

List all layers in the PCB design including signal, power, plane, and mechanical layers.

easyeda_board_stackupA

Get the PCB layer stackup including thickness, material, and dielectric constants.

easyeda_board_dimensionsB

Get the PCB board outline dimensions, shape, and mounting hole information.

easyeda_board_featuresA

Get counts of board features including vias, tracks, copper zones, and pads.

easyeda_pcb_componentsA

List components placed on the active PCB layout: primitiveId, designator, footprint identity, position/rotation/layer. Requires a focused PCB tab in EasyEDA Pro — returns an empty list (not an error) if none is active.

easyeda_pcb_tracksA

List copper track segments on the active PCB layout: primitiveId, net, layer, start/end coordinates, width. A multi-point track drawn by add_track appears as several consecutive segments sharing one net. Returns an empty list (not an error) if no PCB tab is focused.

easyeda_pcb_viasA

List vias on the active PCB layout: primitiveId, net, position, hole/outer diameter (native unit, same scale as x/y — not independently verified against a known physical dimension). Requires a focused PCB tab — returns an empty list (not an error) if none is active.

easyeda_pcb_constraint_checkC

Run PCB constraint validation against the board design. Checks board outline, layer stackup, net classes, clearance rules, keepout areas, placement zones, mounting holes, fiducials, and manufacturing constraints.

easyeda_pcb_production_reviewA

Run fabrication, assembly, and testability production review rules for PCB handoff. Reports severity-ranked DFM/DFA/DFT findings with actionable remediation before Gerber export or manufacturing submission.

easyeda_pcb_constraint_reportB

Generate a human-readable report explaining which PCB constraints were applied and which require manual review.

easyeda_export_gerbersC

Export PCB design to Gerber files for PCB fabrication.

easyeda_canvas_captureA

Capture the currently visible EasyEDA schematic/PCB canvas as a PNG image, so the caller can visually verify the result of a draw/place/route action. Captures the given tab (or last-focused); use easyeda_canvas_capture_region first to frame a specific area. Image is delivered once, as its own content block.

easyeda_canvas_capture_regionA

Zoom the EasyEDA canvas to a rectangular region (document/canvas coordinates) and capture it as a PNG, so the caller can visually verify a specific area. This moves the user's visible viewport — EasyEDA Pro has no offscreen rendering API. The image is delivered once, as its own content block.

easyeda_canvas_locateA

Zoom the EasyEDA canvas to a coordinate/scale (document/canvas coordinates), returning the resulting viewport rectangle. Useful to frame a location before calling easyeda_canvas_capture, or standalone to navigate the user's view to a point of interest.

easyeda_design_rules_lookupA

Look up generic engineering reference guidance: IPC-2221 trace-width/current-capacity, clearance bands, protocol routing data (USB/RS-485/I2C/SPI/UART/Ethernet), decoupling recipes and bulk capacitance sizing, and a static DFM checklist. Every result cites a source and caveat: these are estimates, not certified values.

Prompts

Interactive templates invoked by user choice

NameDescription
review_schematicReview project schematic connectivity before making changes.
review_bomReview project BOM completeness and sourcing readiness.
prepare_manufacturing_reviewPrepare a safe pre-manufacturing review plan for PCB export.
review_layoutReview PCB layout against constraint checks and generic engineering design rules.

Resources

Contextual data attached and managed by the client

NameDescription
project_review_workflowAgent-safe workflow for reviewing schematic, BOM, PCB, and export changes.
design_rules_referenceOverview of the topics available via easyeda_design_rules_lookup.
design_rules_dfm_checklistStatic, generic design-for-manufacturability reference checklist.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/oaslananka/easyeda-mcp-pro'

If you have feedback or need assistance with the MCP directory API, please join our Discord server