# Reported issues for easyeda-mcp-pro

Pod holds 20 of 35 problems reported by people outside the maintainer team. Issues filed by the project's own owners, members and collaborators are excluded entirely — a maintainer's release checklist is not a warning to a prospective user.

Back to [easyeda-mcp-pro](/mcp/easyeda-mcp-pro).

## Most discussed

### transactions: `project_begin_transaction` does not capture `schematic_place_component` / `schematic_delete_primitive`, so rollback leaves those changes in place

**Environment:** easyeda-mcp-pro 0.35.4 (also checked tool descriptions on 1.0.0-rc.4), bridge extension 0.35.1/0.99.4, EasyEDA Pro 3.2.149 (macOS arm64), Node 24.18.0, Claude Code client.

**What we did**
1. `easyeda_project_begin_transaction` (confirmWrite=true)
2. several `easyeda_schematic_place_component` and `easyeda_schematic_delete_primitive` calls inside the transaction
3. `easyeda_project_get_transaction_status` → the operation list only contains modify-type operations; placed/deleted 

[Read the thread](https://github.com/oaslananka/easyeda-mcp-pro/issues/524) · 2026-08-21 · closed · external user · 4 comments

### drc: preserve per-check availability and tri-state pass status

## Summary

Discussion #502 surfaced two deterministic result-contract bugs in the current `main` / `1.0.0-rc.2` DRC/ERC tools.

### 1. Unavailable is reported as failed

`easyeda_drc_run` catches a bridge/runtime failure and returns:

- `not_available: true`
- zero counts
- `passed: false`

That conflates **the check did not run / cannot be read** with **the check ran and failed**.

### 2. One unavailable check hides the other

`easyeda_rule_check_summary` currently uses one `Promise.all([desig

[Read the thread](https://github.com/oaslananka/easyeda-mcp-pro/issues/507) · 2026-08-10 · closed · outside contributor · 13 comments

### pcb: support deterministic top/bottom view orientation and side-specific capture

## Summary

The bridge can capture the currently rendered PCB canvas, but it does not expose a deterministic way to select the board's top or bottom viewing orientation before capture. As a result, callers cannot reliably inspect components and features on the back side of a PCB.

Reported against `easyeda-mcp-pro v0.35.4` and EasyEDA Pro.

## Current behavior

1. Open a PCB containing bottom-side components or features.
2. Ask the MCP server to capture the back side.
3. The available canvas too

[Read the thread](https://github.com/oaslananka/easyeda-mcp-pro/issues/470) · 2026-08-03 · open · external user · 7 comments

### refactor: decompose high-complexity execution paths behind behavioral contracts

Parent epic: #420

## Problem

The repository contains several high-risk functions whose size and cyclomatic complexity make review, test completeness, and safe modification difficult. The most significant audit findings include the extension dispatcher, schematic transaction operations, remote gateway routing, schematic layout QA, and large tool-registration modules.

Previous bounded-domain decomposition improved the codebase, but the remaining central execution paths still combine dispatch, v

[Read the thread](https://github.com/oaslananka/easyeda-mcp-pro/issues/434) · 2026-07-27 · closed · outside contributor · 7 comments

### Epic: v1.0 maintainability and production-readiness closure

## Summary

Close the remaining maintainability and production-readiness gate for stable `v1.0.0` without destabilizing the verified final release candidate.

**#437 is the authoritative source for the active RC identity, immutable source/tag commit, public channel state, soak timestamps, final acceptance checklist, rollback target, and stable-promotion evidence.** This epic intentionally does not duplicate mutable candidate-specific timestamps/SHAs so release tracking cannot drift when a new `r

[Read the thread](https://github.com/oaslananka/easyeda-mcp-pro/issues/420) · 2026-07-27 · closed · outside contributor · 6 comments

### Board outline data is missing

### Affected Area

area:pcb

### Impact / Priority

P0 - blocks installation, release, security, or live bridge operation

### Bug Description

MCP/bridge doesn't detect the board outline, yet it's there (with the correct type "Board Outline" and sitting on the right layer - "Board Outline Layer").

It's being reported as `has_outline: false`. 

### Steps to Reproduce

- Basic project (components don't matter)
- Run PCB validation via mcp
- Regardless of whether there's an outline or not - `has_

[Read the thread](https://github.com/oaslananka/easyeda-mcp-pro/issues/389) · 2026-07-24 · closed · external user · 6 comments

### Feature request: support creating a native "No Connect Flag" via the API

## Summary

There is currently no way to programmatically place EasyEDA Pro's native **"No Connect Flag"** schematic symbol through the MCP server's tool surface.

## Context

`SCH_PrimitiveComponent` (per `easyeda_api_inventory`) exposes:
- `createNetFlag` — but only with `identification` in `Power` / `Ground` / `AnalogGround` / `ProtectGround`
- `createShortCircuitFlag`

There is no `createNoConnectFlag` (or equivalent `identification` value) method.

## Why this matters

EasyEDA's own native 

[Read the thread](https://github.com/oaslananka/easyeda-mcp-pro/issues/328) · 2026-07-21 · closed · external user · 7 comments

### Bridge extension 0.34.3: no connection attempt in EasyEDA Pro 3.2.149 (macOS) — misleading "no local server found"

## Summary
Bridge extension 0.34.3 never attempts any connection in EasyEDA Pro V3.2.149 (macOS). UI shows "waiting for server … retrying" and later "MCP Bridge offline: no local server found" although the local MCP server is running, listening and reachable. Root cause appears to be a silent extension-activation failure against this EasyEDA build's extension API (no `eda` API in any renderer context, EasyEDA dispatcher logs `can not find hanlder with ` with an empty handler name).

## Environme

[Read the thread](https://github.com/oaslananka/easyeda-mcp-pro/issues/307) · 2026-07-19 · closed · external user · 9 comments

## Most recent

### security: triage and remediate legacy Sonar vulnerability findings before RC.6

## Context

Post-merge verification of #535 on main commit `1229a60bb5410af4215d693faeb87ce1adf70198` is green across CI, CodeQL, Semgrep, Trivy/container security, Socket, deploy, benchmark, and analysis. SonarQube Cloud's main-branch check also passes its Quality Gate, but its current new-code baseline reclassifies **423 older findings** as "new". Sonar API inspection shows these findings predate this merge; the 13 entries typed as `VULNERABILITY` were created between 2026-06-13 and 2026-07-04

[Read the thread](https://github.com/oaslananka/easyeda-mcp-pro/issues/536) · 2026-08-21 · closed · outside contributor · 2 comments

### schematic_nets lists a 0-node phantom net that no primitive on the page carries

**Environment:** easyeda-mcp-pro 0.35.4, bridge extension 0.35.1, EasyEDA Pro 3.2.149.

**Observation**
After renaming a net (`SW` → `SW_5V`) and deleting the graphic wire that carried the old label, `easyeda_schematic_nets` kept reporting a net `5V` with zero nodes on that page. We enumerated every net flag, port, wire, label and text primitive on the page via `schematic_wires`, `schematic_components`, `schematic_component_pins` and `api_call` `SCH_Primitive*.getAll` — nothing carries the name.

[Read the thread](https://github.com/oaslananka/easyeda-mcp-pro/issues/528) · 2026-08-21 · closed · external user · 1 comment

### export.pdf returns success with no usable PDF on EasyEDA Pro 3.2.149

**Environment:** easyeda-mcp-pro 0.35.4, bridge extension 0.35.1, EasyEDA Pro 3.2.149 (macOS arm64), Node 24.18.0.

**Observation**
`easyeda_export_pdf` (scope schematic, confirmWrite=true) completes in ~5 ms (4 logged calls, all "completed successfully"), but no PDF file is written at the returned path / the artifact is empty. Gerber and netlist export through the same bridge work.

**Expected**
Either a real PDF or a typed `not_available` error naming the missing native API, as the other expor

[Read the thread](https://github.com/oaslananka/easyeda-mcp-pro/issues/527) · 2026-08-21 · closed · external user · 2 comments

### feature: `pageUuid` (or sheet selector) parameter for schematic read tools — multi-page schematics currently require switching the focused document

**Original characterization environment:** easyeda-mcp-pro 1.0.0-rc.4, bridge extension 0.99.4, EasyEDA Pro 3.2.149.

**Current delivery status:** design-only PR #539 was prepared from the published RC.6 baseline and intentionally remains draft during the v1.0 soak. Runtime implementation is deferred until after stable v1.0 unless an explicit new-RC soak reset is accepted.

**Situation**
All schematic read tools (`schematic_components`, `schematic_nets`, `schematic_wires`, `schematic_net_detail`

[Read the thread](https://github.com/oaslananka/easyeda-mcp-pro/issues/526) · 2026-08-21 · closed · external user · 2 comments

### schematic.placeComponent never returns for some JLC Basic footprints and for project-local deviceUuids (hits BRIDGE_TIMEOUT_MS)

**Environment:** easyeda-mcp-pro 0.35.4, bridge extension 0.35.1, EasyEDA Pro 3.2.149 (macOS arm64), Node 24.18.0.

**Observation (from 58 logged `easyeda_schematic_place_component` calls in one design session)**
- 41 calls completed in 0.4–1.0 s.
- 10 calls hit the hard 15 s `BRIDGE_TIMEOUT_MS` limit. All of them had one of two properties:
  - the `deviceItem` came from a project-local device (uuid of a device already in the project) instead of the library uuid returned by `schematic_search_dev

[Read the thread](https://github.com/oaslananka/easyeda-mcp-pro/issues/525) · 2026-08-21 · closed · external user · 2 comments

### outputSchema uses unsupported JSON Schema draft-07, incompatible with Claude Code

### Affected Area

area:easyeda-bridge

### Impact / Priority

P0 - blocks installation, release, security, or live bridge operation

### Bug Description

All easyeda-mcp-pro MCP tools fail to execute in Claude Code due to a JSON Schema compatibility issue.

When attempting to call any easyeda tool, the following error occurs:

`Error: Tool 'easyeda_[tool_name]' has an invalid outputSchema: JSON Schema declares an unsupported dialect ("$schema": "http://json-schema.org/draft-07/schema#"). The de

[Read the thread](https://github.com/oaslananka/easyeda-mcp-pro/issues/520) · 2026-08-17 · closed · external user · 1 comment

### drc/erc: surface focused-document preconditions explicitly and symmetrically

## Problem

A Discussion #502 follow-up isolated native DRC/ERC availability to the currently focused EasyEDA Pro document, not to macOS itself:

- schematic focused → ERC works, PCB DRC is unavailable
- PCB focused → DRC works, schematic ERC is unavailable

The current `main` source is consistent with that runtime report. `design.drc` translates an unavailable native PCB check into `CONTEXT_UNAVAILABLE` with an explicit “focus a PCB document” suggestion, while `design.erc` calls `SCH_Drc.check`

[Read the thread](https://github.com/oaslananka/easyeda-mcp-pro/issues/511) · 2026-08-10 · closed · outside contributor · 0 comments

### visual: bound capture-region payloads with deterministic downsampling

## Summary

Discussion #504 reports that large `easyeda_canvas_capture_region` requests can exceed the MCP client's tool-result size limit even though smaller captures succeed.

The current `main` / `1.0.0-rc.2` implementation confirms the missing guard:

1. the extension normalizes the requested region;
2. calls `DMT_EditorControl.zoomToRegion(...)`;
3. captures `getCurrentRenderedAreaImage(...)`;
4. returns the PNG binary result unchanged;
5. the server forwards the image content without any p

[Read the thread](https://github.com/oaslananka/easyeda-mcp-pro/issues/508) · 2026-08-10 · closed · outside contributor · 0 comments

### pcb: expose fill and region primitives in board inventory and inspection

## Summary

Discussion #501 reports a PCB review blind spot: native filled copper/solid-area primitives are not discoverable through the current board inventory or PCB read tools.

This is verified against the current `main` / `1.0.0-rc.2` source surface:

- `board.getFeatures()` counts `PCB_PrimitivePour` as `zones`, but does not count `PCB_PrimitiveFill` or `PCB_PrimitiveRegion`.
- the public PCB readers expose components, tracks and vias, but no typed fill/region inventory.
- the retained Eas

[Read the thread](https://github.com/oaslananka/easyeda-mcp-pro/issues/506) · 2026-08-10 · closed · outside contributor · 0 comments

### Board outline is not being detected

### Affected Area

area:easyeda-bridge

### Impact / Priority

P1 - important product, safety, or supply-chain issue

### Bug Description

Creating a new board outline and then trying to detect it's presence or size with the mcp server is impossible.

### Steps to Reproduce

1. Create a new pcb and then a pcb outline.
2. Ask mcp server to fetch the pcb size

### Acceptance Criteria

- [ ] PCB outline / size should be detected

### Expected Behavior

The bridge should be able to properly detect t

[Read the thread](https://github.com/oaslananka/easyeda-mcp-pro/issues/463) · 2026-07-29 · closed · external user · 1 comment

### schematic: reconcile placeComponent timeout-after-success in transactional workflows

## Problem

A public `0.35.4` report in #389 shows a transactional schematic workflow failing with:

```text
Bridge method "schematic.placeComponent" timed out after 15000ms
```

The workflow then reports a partial apply failure and attempts rollback.

The standalone `easyeda_schematic_place_component` tool already re-reads schematic components after a timeout and can classify a matching placement as reconciled. The transactional workflow uses a different path in `applySingleOperation()`: it cap

[Read the thread](https://github.com/oaslananka/easyeda-mcp-pro/issues/456) · 2026-07-29 · closed · outside contributor · 2 comments

### maintenance: normalize extension workspace versioning and remove unused dependencies

Parent epic: #420

## Problem

The private bridge-extension workspace currently carries a `1.0.0` package version while the shipped extension manifest and root package use the product release version. The audit also found development dependencies whose direct compile-time use was not evident from the source graph.

Ambiguous version ownership and unnecessary dependencies complicate release review, SBOM interpretation, and supply-chain maintenance.

## Scope

- Define the versioning contract for 

[Read the thread](https://github.com/oaslananka/easyeda-mcp-pro/issues/436) · 2026-07-27 · closed · outside contributor · 0 comments

The remaining reports are on [the project's issue tracker](https://github.com/oaslananka/easyeda-mcp-pro/issues).
