a2n-easyeda-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| A2N_EDA_WS_PORT | No | WebSocket port for the EasyEDA extension connection. Default is 8788. | 8788 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| eda_statusA | Get a2n.EasyEDA MCP connection status, the active mode (online/offline/hybrid), and current project info. |
| eda_set_modeA | Set the component sourcing mode. "offline" = local/system libraries only. "online" = EasyEDA backend search. "hybrid" = local first then online. |
| eda_get_project_infoA | Read the current EasyEDA project tree (boards, schematics, pages with UUIDs) and metadata. |
| eda_open_documentA | Open a document (schematic, schematic page, PCB) by its UUID from the project tree. |
| eda_callA | Advanced: call any low-level EasyEDA handler method directly by name with a params object. Use when no dedicated tool exists. Method names follow the "domain.action.target" convention (e.g. "pcb.create.via", "sch.wire.create", "lib.device.search"). |
| eda_execA | Dev/advanced: invoke ANY eda.* API by dotted path without changing the extension. e.g. path="sch_ManufactureData.getExportDocumentFile", args=["sch","PNG",{},"Current Schematic Page"]. New capabilities can be prototyped Node-side only (no extension reinstall). File results return as base64; image files are shown directly. |
| eda_guideA | Read this FIRST. Conventions and recommended workflow for driving EasyEDA via this MCP: coordinate system, net-by-name wiring, schematic vs PCB context, and the place -> wire -> verify loop. |
| sch_get_all_componentsA | Get all schematic components (parts, net flags, net ports, etc.) with positions, rotation, designators. |
| sch_get_component_pinsB | Get all pins of a schematic component by its primitive ID. |
| sch_get_all_wiresA | Get all wires in the schematic, optionally filtered by net name(s). |
| sch_get_netlistB | Get the schematic netlist in the specified format. |
| sch_read_circuitB | Read the current schematic as a structured circuit (components + pins + resolved net per pin). Best high-level read. |
| sch_validate_netlistA | Validate schematic connectivity from the resolved circuit: reports floating (unconnected) pins, single-pin nets (likely dangling), and a per-net summary. Read-only diagnostic that complements the place -> wire -> verify loop. No EasyEDA write is performed. |
| sch_get_selectedA | Get all currently selected primitives in the schematic editor. |
| sch_run_drcC | Run Design Rule Check (DRC) on the schematic. |
| sch_export_imageA | Export the FULL schematic sheet as a PNG (whole A4 page: border, title block, and every component) — reproducing EasyEDA's "Export -> PNG" with true colors, via Chrome DevTools Protocol. Not a viewport screenshot: it reads the schematic SVG, reframes to the full content, and rasterizes. Requires EasyEDA Pro launched with remote debugging (run-easyeda-debug.bat / README) and an open schematic page. The image is returned inline; pass "fileName" to ALSO save it to disk. |
| sch_search_componentA | Search for a component using EasyEDA libraries. In offline mode searches local/system libraries; in online/hybrid mode also queries the EasyEDA backend. Returns device uuid + libraryUuid for placement. |
| sch_place_componentA | Place a schematic component from a library at a position. Provide device uuid + libraryUuid (from sch_search_component). Use libraryUuid "lcsc" with a device uuid for online placement. |
| sch_create_wireB | Create a wire on the schematic. "line" is a flat coordinate array [x1,y1,x2,y2,...]. |
| sch_create_netflagC | Create a net flag (e.g. VCC/GND short symbol) attached to a net at a position. |
| sch_delete_componentsB | Delete one or more schematic components by primitive ID(s). |
| sch_assemble_circuitA | High-level: place a list of components and auto-wire them locally by net name. No external server, no AI. Components are placed at free positions; pins sharing a net are wired, and VCC/GND/net-port symbols are auto-inserted. Ideal for generating a schematic from a parts+nets list. |
| sch_create_schematicC | Create a new schematic in the current project. Returns the first page uuid. |
| sch_create_pageB | Create a new page under an existing schematic. |
| sch_saveC | Save the current schematic document. |
| sch_checkpoint_saveB | Save a checkpoint of the current document for later restore. |
| sch_checkpoint_listB | List saved checkpoints. |
| sch_checkpoint_restoreB | Restore a checkpoint by id (or the latest if omitted). |
| pcb_get_all_componentsA | Get all PCB components, optionally filtered by layer. |
| pcb_get_component_pinsC | Get all pads/pins of a PCB component by primitive ID. |
| pcb_get_all_netsA | Get all net names on the PCB. |
| pcb_get_net_lengthB | Get total routed length of a net. |
| pcb_get_all_layersA | Get all PCB layers and their properties. |
| pcb_get_selectedB | Get all currently selected PCB primitives. |
| pcb_create_trackC | Create a single track segment between two points on a layer/net. |
| pcb_create_viaC | Create a via at a position. |
| pcb_create_pourC | Create a copper pour region on a layer/net. |
| pcb_move_componentC | Move/rotate a PCB component, optionally flip layer, set lock or designator. |
| pcb_delete_primitivesC | Delete one or more PCB primitives by type and IDs. |
| pcb_run_drcC | Run Design Rule Check on the PCB. |
| pcb_set_copper_layersC | Set the number of copper layers (e.g. 2, 4, 6). |
| pcb_highlight_netC | Highlight a net on the PCB. |
| pcb_export_gerberC | Export Gerber files (returned as base64). |
| pcb_export_bomC | Export BOM file (returned as base64). |
| pcb_export_pick_placeB | Export pick-and-place (centroid) file for assembly (returned as base64). Requires a PCB document active. |
| pcb_export_pdfC | Export the PCB layout to PDF (returned as base64). Requires a PCB document active. |
| pcb_export_3dB | Export a 3D model file of the PCB (e.g. STEP). Returned as base64. Requires a PCB document active. |
| pcb_get_board_outlineA | Get the PCB board outline / dimensions (shape, width, height). Requires a PCB document to be active. |
| pcb_saveC | Save the current PCB document. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- 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/anwarminarso/a2n-easyeda-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server