Skip to main content
Glama
oaslananka
by oaslananka

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

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

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_capabilitiesB

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

easyeda_get_server_configB

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

easyeda_get_tool_profilesB

List available tool profiles and their descriptions.

easyeda_get_feature_flagsB

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 nets from the current schematic context. Explicit focused scope is supported; page/all_pages scopes fail closed on EasyEDA Pro 3.2.149.

easyeda_schematic_componentsA

List schematic components with IDs, references, values, footprints, placement, and project-instance device IDs. Omitted scope preserves legacy all-pages; focused/all_pages are supported, pageUuid is not. Project-instance device IDs are not valid place_component deviceItem values; use schematic_search_device.

easyeda_schematic_wiresA

List wire segments with primitiveId, coordinates, net, color, and style; paginate past 50 with offset. Explicit focused is supported; page/all_pages fail closed on EasyEDA Pro 3.2.149. primitiveId is required by delete_primitive/modify_primitive.

easyeda_schematic_net_detailB

Get full details for a specific net in the current schematic context including connected pins and components. Explicit focused scope is supported; page/all_pages scopes fail closed on EasyEDA Pro 3.2.149.

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_infoA

Return read-only schematic sheet metadata. Supports focused, pageUuid/page, and all_pages page-list reads without changing EasyEDA focus; aggregate geometry is never invented.

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 primitive IDs, numbers, names, coordinates, native no-connect state, and 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 inferred nets/floating pins and cross-check native ERC. Only native noConnected=true excludes a pin; unavailable/malformed state stays visible. valid requires clean inference and zero native errors. Explicit focused is supported; page/all_pages fail closed on EasyEDA Pro 3.2.149.

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 searched library device on the active schematic. Use deviceItem from schematic_search_device; project-local identities from schematic_components are invalid. On timeout inspect reconciled/unconfirmed before retrying. projectId + transactionId enables rollback; without transactionId the write is standalone.

easyeda_schematic_add_wireB

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_circleB

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 by primitive UUID. Pass projectId + transactionId for rollback-backed deletion of safely recreatable drawing primitives; unsupported transactional delete kinds fail before mutation. Without transactionId the write is standalone.

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_set_pin_no_connectA

Set or clear EasyEDA Pro's native No Connect marker on one exact component pin. This changes the component pin noConnected state; it does not create a net, label, power flag, or short-circuit flag. The bridge rejects missing/ambiguous pins and verifies the native readback after the write.

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_writeA

Apply up to 200 validated schematic create, modify, pin no-connect, 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 tools passed transactionId participate; standalone schematic writes are not auto-captured. Only one active transaction is allowed per document. Beginning a transaction does not modify EasyEDA.

easyeda_project_get_transaction_statusB

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_generateC

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

easyeda_bom_validateB

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

easyeda_bom_exportC

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

easyeda_bom_sourcingC

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_runA

Run EasyEDA Pro's native PCB DRC and refresh its visible DRC panel. Requires a PCB document to be focused; otherwise returns an indeterminate not_available result with an actionable focus error. Returns coarse severity counts; per-violation detail stays in EasyEDA Pro.

easyeda_erc_runA

Run native schematic ERC and supplement aggregate counts with inferred_floating_pins. Requires a focused schematic. Explicit focused is supported; page/all_pages fail closed on EasyEDA Pro 3.2.149. Native counts remain authoritative; unavailable focus returns not_available.

easyeda_semantic_erc_validateC

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_analyzeB

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_summaryB

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_stackupB

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. zones counts copper Pour boundaries only; native Fill and Region primitives are reported separately as fills and regions.

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_fillsA

List native PCB Fill primitives separately from copper pours/zones, including net/layer, fill mode, line width, lock state, and a bounded normalized polygon representation. Netless fills are returned explicitly with netless=true. Read-only; no Fill mutation is exposed.

easyeda_pcb_regionsA

List native PCB Region primitives separately from copper pours/zones, including layer, region rule types/name, line width, lock state, and a bounded normalized polygon representation. Read-only; no Region mutation is exposed.

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_viasB

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 visible EasyEDA schematic/PCB canvas as PNG. Captures the given tab or last-focused tab. Oversized PNGs are downsampled without cropping and report original/final dimensions.

easyeda_canvas_capture_regionA

Zoom to a rectangular document/canvas region and capture it as PNG. This moves the visible viewport. Oversized PNGs are downsampled without cropping, preserving the complete requested region.

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.

TDQS

B3.1/5.0

Scored across 73 tools

Disambiguation2/5

Many tools have overlapping purposes: health_check, bridge_status, get_capabilities, get_server_config, get_tool_profiles, observability_report, run_self_test, and get_feature_flags all provide status/config/diagnostic information. Multiple ERC/netlist validation tools (schematic_validate_netlist, semantic_erc_validate, semantic_erc_auto, erc_run, post_write_qa, rule_check_summary) are difficult to tell apart, and BOM tools (generate, export, validate, sourcing, quality_report) also overlap. An agent could easily misselect among these clusters.

Naming Consistency4/5

All names use snake_case with a consistent easyeda_ prefix and domain grouping (schematic, pcb, board, bom, project, canvas). However, the action convention is not uniform: some tools use verb_noun (e.g. add_wire, create_net_flag), while others use noun-only list forms (e.g. schematic_nets, pcb_components) or noun_phrase_report forms. Still, the pattern is predictable enough for an agent to parse.

Tool Count1/5

73 tools is far beyond the typical 3-15 range and exceeds the 50+ threshold for an extreme mismatch. Even for a broad EDA automation server, the count suggests redundancy, especially among status, diagnostic, ERC/validation, and BOM tools. This volume makes the set unwieldy for an agent to navigate reliably.

Completeness3/5

The server covers a wide schematic lifecycle (read, search, place, wire, validate, transaction rollback) and many PCB read/analysis/export operations, plus BOM and documentation checks. However, there are notable gaps: no PCB write/edit tools (place components, add tracks/vias/zones), no project-open/create, no library management, and PCB editing transactions are absent. These gaps could block agent workflows that require modifying a PCB layout.

Maintenance

ActivityActive
ResponsivenessResponsive