Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 22 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
2 changes: 1 addition & 1 deletion arduino-mcp-extension/package.json
Original file line number Diff line number Diff line change
@@ -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",
Expand Down
2 changes: 1 addition & 1 deletion electron-app/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down
4 changes: 2 additions & 2 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down Expand Up @@ -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"
Expand Down