AI-assisted EDA schematic and PCB editor with KiCad compatibility. Provides MCP tools for schematic manipulation, component placement, wiring, and PCB layout via REST API.
SuperEDA2 has 12 tools with complete input schemas and descriptions, but quality is uneven. Naming is verb-forward and clear (search_symbols, add_component, delete_component). Descriptions are present but brief (avg ~60 chars, below the 194-char baseline). Parameters are typed and mostly described, but lack constraints (enums, ranges, patterns). Error handling is minimal, tools return generic 'Error: {error}' strings without recovery guidance. No output schemas documented. Batch tool (set_footprints_batch) is good composition, but most tools lack idempotency hints and confirmation patterns for destructive ops. Schema completeness is moderate; parameter descriptions are sparse (e.g., 'X position in mm' lacks grid/range context).
Add a component to the schematic.
Add a junction point where wires connect. Junctions indicate that crossing wires are electrically connected.
Add a net label at a position. Labels with the same name are automatically connected (same net). Place labels at wire endpoints to name nets.
Add a wire segment between two points. Wires should be horizontal or vertical (Manhattan routing). Use the schematic grid (2.54mm) for clean connections.
Delete a component from the schematic.
Delete a wire segment matching the given coordinates.
Get information about the current schematic state.
No output schemas documented. Tools return plain strings ('Added R1...', 'Error: ...') without structured fields. LLMs cannot extract component IDs, wire coordinates, or state for downstream chaining.
Destructive tools (delete_component, delete_wire) lack confirmation or dry-run patterns. No idempotentHint or destructiveHint annotations. Agents can accidentally delete without safeguards.
Parameter descriptions lack constraints. 'X position in mm' does not specify grid alignment (2.54mm), valid range, or coordinate system origin. 'angle' accepts 0/90/180/270 but no enum constraint. LLMs may pass invalid values.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2026-07-28+ | v2 |
Move a component to a new position.
Search KiCad symbol libraries for components.
Set the footprint of a component.
Set or change the value of a component.
Set footprints for multiple components at once. Useful for assigning footprints to all components before PCB import.
Error responses are generic ('Error: {error}') with no recovery guidance. No categorization of retryable vs fatal errors. LLMs cannot determine next steps on failure.
get_schematic_info has empty input schema and no description of what it returns. Unclear what state fields are available or how to use the response.