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 |
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
} |
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
- 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/anwarminarso/a2n-easyeda-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server