diff --git a/README.md b/README.md index de24809a035..c382bb89d2f 100644 --- a/README.md +++ b/README.md @@ -197,12 +197,28 @@ documentation lives in ## Project status -Actively developed. Verified working end-to-end: the MCP server and auth, -IDE-state sync, sketch create/read/write with live editor reload, compile with -real captured output, and all read-only tools. Upload and live serial are -implemented and need a physical board to fully exercise. The Windows build is -verified from source and installed; the macOS and Linux release builds are newer -and still being hardened. +Actively developed, and **verified against real hardware** — an ESP32-S3 +(N16R8) driven end to end through the MCP tools alone: + +> install the board core → create a sketch → write the code → compile → +> upload → read the board's own serial output + +Every step ran as an MCP call, with no manual work in the IDE. In one pass the +agent wrote a WiFi scanner, flashed it, and read 21 access points back off the +board. + +That session is also where the current release's fixes came from — uploading a +never-compiled sketch, serial baud rates silently not applying, and boards +whose core isn't installed being invisible to the agent were all found by +driving a physical board, not by reading code. + +Release builds for **Windows, macOS and Linux** are produced by CI and attached +to every tagged release. + +**Known limits:** artifacts are unsigned. Boards whose USB VID/PID appear in no +`boards.txt` (many ESP32-S3 devkits) can't be auto-identified — pass an explicit +FQBN. Uploading over a board's *native* USB port can require manual bootloader +entry; a UART bridge port works without it. Contributions and bug reports are welcome via [Issues](https://github.com/mixelpixx/arduino-mcp/issues) and pull requests. diff --git a/arduino-mcp-extension/package.json b/arduino-mcp-extension/package.json index ed90775e359..65935f697f0 100644 --- a/arduino-mcp-extension/package.json +++ b/arduino-mcp-extension/package.json @@ -1,6 +1,6 @@ { "name": "arduino-mcp-extension", - "version": "0.5.3", + "version": "0.5.4", "description": "MCP (Model Context Protocol) server embedded in Arduino IDE - HTTP/SSE transport", "license": "AGPL-3.0-or-later", "main": "lib/node/arduino-mcp-backend-module", diff --git a/electron-app/package.json b/electron-app/package.json index dd78b2ef9ba..1be0e503654 100644 --- a/electron-app/package.json +++ b/electron-app/package.json @@ -20,7 +20,7 @@ "@theia/terminal": "1.57.0", "@theia/workspace": "1.57.0", "arduino-ide-extension": "2.3.10", - "arduino-mcp-extension": "0.5.3" + "arduino-mcp-extension": "0.5.4" }, "devDependencies": { "7zip-min": "^1.4.4", diff --git a/yarn.lock b/yarn.lock index 1e9f31a34cd..dfdf6e5f921 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5403,7 +5403,7 @@ __metadata: languageName: unknown linkType: soft -"arduino-mcp-extension@npm:0.5.3, arduino-mcp-extension@workspace:arduino-mcp-extension": +"arduino-mcp-extension@npm:0.5.4, arduino-mcp-extension@workspace:arduino-mcp-extension": version: 0.0.0-use.local resolution: "arduino-mcp-extension@workspace:arduino-mcp-extension" dependencies: @@ -8275,7 +8275,7 @@ __metadata: "@theia/terminal": "npm:1.57.0" "@theia/workspace": "npm:1.57.0" arduino-ide-extension: "npm:2.3.10" - arduino-mcp-extension: "npm:0.5.3" + arduino-mcp-extension: "npm:0.5.4" chmodr: "npm:^1.2.0" compression-webpack-plugin: "npm:^9.0.0" copy-webpack-plugin: "npm:^8.1.1"