easyeda-mcp-pro
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| AI_MODEL | No | Model name for AI provider | |
| DATA_DIR | No | Data directory (cache, database, artifacts) | .easyeda-mcp-pro |
| NODE_ENV | No | Set to 'production' in production | development |
| HTTP_HOST | No | Bind address (use 0.0.0.0 with caution) | 127.0.0.1 |
| HTTP_PORT | No | Port for HTTP transport | 3000 |
| LOG_LEVEL | No | Pino log level: trace, debug, info, warn, error, fatal, silent | info |
| TRANSPORT | No | Server transport: stdio (default) or http | stdio |
| AI_PROVIDER | No | AI provider for LLM-assisted design review: anthropic, openai, openrouter, or local | none |
| BRIDGE_HOST | No | Bridge WebSocket host | 127.0.0.1 |
| BRIDGE_PORT | No | Primary bridge port | 18601 |
| CORS_ORIGIN | No | Allowed CORS origin | |
| JLCPCB_MODE | No | JLCPCB integration mode (e.g., approved_api); disabled by default | |
| BRIDGE_TOKEN | No | Session token for extension auth | |
| OAUTH_ISSUER | No | Expected token issuer (iss claim) | |
| TOOL_PROFILE | No | Tool set: core, pro, full, dev, experimental | core |
| OAUTH_ENABLED | No | Enable Bearer token validation | false |
| MOUSER_ENABLED | No | Enable Mouser integration; disabled by default | |
| OAUTH_AUDIENCE | No | Expected token audience (aud claim) | easyeda-mcp-pro |
| OAUTH_JWKS_URI | No | JWKS endpoint for token signature validation | |
| DIGIKEY_ENABLED | No | Enable DigiKey integration; disabled by default | |
| BRIDGE_PORT_SCAN | No | Port scan spec (comma/range) | 18601,49620-49629 |
| BRIDGE_TIMEOUT_MS | No | Bridge call timeout (ms) | 15000 |
| JLCSEARCH_ENABLED | No | Enable LCSC search (default, no key required for basic search) | true |
| BRIDGE_HEARTBEAT_MS | No | Heartbeat interval (ms) | 10000 |
| HTTP_RATE_LIMIT_MAX | No | Max requests per minute per IP | 100 |
| OAUTH_REQUIRED_SCOPES | No | Required token scope | easyeda:read |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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). |
| 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 |
| 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 |
| 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
| Name | Description |
|---|---|
| review_schematic | Review project schematic connectivity before making changes. |
| review_bom | Review project BOM completeness and sourcing readiness. |
| prepare_manufacturing_review | Prepare a safe pre-manufacturing review plan for PCB export. |
| review_layout | Review PCB layout against constraint checks and generic engineering design rules. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| project_review_workflow | Agent-safe workflow for reviewing schematic, BOM, PCB, and export changes. |
| design_rules_reference | Overview of the topics available via easyeda_design_rules_lookup. |
| design_rules_dfm_checklist | Static, generic design-for-manufacturability reference checklist. |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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