PlatformIO for AI agents: build, flash, serial monitor, tests, crash decoding, size reports.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent — or use 1-click editor setup below.
One-click editor setup isn’t available for this listing yet — we don’t have a confirmed install command, and we’d rather show nothing than point your editor at the wrong package or host. Follow the project’s own setup instructions, linked above.
Give your AI coding agent hands on real hardware.
An MCP server for PlatformIO: build, flash (serial or OTA), watch serial, run tests, decode crashes and core dumps, check partition tables, watch heap and power, debug over GDB, shrink firmware.
Python native · no Node · one line to install · works with Claude Code, Claude Desktop, Cursor, Codex, Windsurf, Cline
You need uv (curl -LsSf https://astral.sh/uv/install.sh | sh). Then:
No PlatformIO on this machine? Add --with-platformio and the server brings PlatformIO Core along. Optional extras: platformio.mcp[coredump] adds the ESP32 core-dump analyzer, platformio.mcp[power] adds the Nordic PPK2 driver.
Use "args": ["platformio.mcp[platformio]"] to bundle PlatformIO Core.
The repo follows the Open Plugins layout: .mcp.json, skills/platformio/SKILL.md, rules/platformio.mdc, plugin.json.
The server finds platformio / pio on your PATH or in ~/.platformio/penv. Override with PLATFORMIO_MCP_PIO=/path/to/pio. Run uvx platformio.mcp doctor to see what the agent will see.
You: flash the
viewenv and make sure it boots.Agent →
pio_flash_and_verify(env="view", expect="setup done")Agent: null pointer on line 22 of
display_task.cpp,tft_is used beforebegin(). Fixing, rebuilding, flashing again.
No 40 KB build logs in the context window. No human reading the serial monitor. The agent gets a verdict, a file and a line.
| Group | Tools | What the agent gets back |
|---|---|---|
| 🔍 Discover | pio_system_info · pio_list_boards · pio_board_info · pio_list_devices | PlatformIO version and policy; ~1,700 boards with MCU, clock, RAM and flash sizes; serial ports with the likely dev boards flagged |
| 📁 Project | pio_project_init · pio_project_envs · pio_project_metadata | A real pio project init (never a hand-written ini); every env with board, framework, monitor and upload settings; defines and include paths |
| 🔨 Build & flash | pio_build · pio_upload · pio_upload_ota · pio_clean · pio_list_targets · pio_run_target | Status, parsed errors and warnings (file, line, column), RAM/Flash %, last 40 lines, full log path. Extra targets like buildfs, erase. OTA over Wi-Fi to ArduinoOTA boards. Port failures come back classified (busy, permission, missing, no response) with the fix |
| 📟 Serial | pio_monitor_start / read / write / stop / list · pio_monitor_capture · pio_port_diagnose | Background sessions with a ring buffer, cursor reads, and wait_for regex; or a one-shot capture with nothing to manage. Port diagnosis: who holds it (our session, another process), permissions, the fix |
| ✅ Verify | pio_test · pio_check | Unity tests with per-case pass/fail and messages; cppcheck / clang-tidy defects by severity with CWE ids |
| 📦 Packages | pio_pkg_search / install / uninstall / list / outdated / update · pio_deps_check | Registry search and dependency changes that keep platformio.ini in sync; an audit for name collisions, unpinned specs, leftovers, and circular dependencies |
| 🧠 Analyse | pio_flash_and_verify · pio_decode_backtrace · pio_size_report | Hardware-in-the-loop pass/fail; crash dumps resolved to file:line; where every byte of flash and RAM goes |
| 💾 Flash layout | pio_partition_table · pio_coredump | ESP32 partition CSV checks (alignment, overlap, fit, OTA slots) and a diff against the table actually on the chip; core dump pulled from flash and decoded |
| 📈 Runtime | pio_memory_watch · pio_power_profile | Heap and stack telemetry parsed from serial with a leak verdict and per-task headroom; current draw from a serial meter or a Nordic PPK2 with sleep/active split and battery estimate |
| 🐞 Debug | pio_debug_start / cmd / stop / list | A live GDB session over pio debug: breakpoints, step, backtrace, variables, with MI records parsed into structured results |
Every tool returns ok, a one-paragraph summary written for the model, structured fields, and a log_path to the full output. Long output stays on disk under ~/.platformio-mcp/logs (newest 200 files kept).
No reviews yet — be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/platformio)<a href="https://allmcps.com/mcp/platformio"><img src="https://allmcps.com/api/badge/platformio?style=directory" alt="PlatformIO on AllMCPs" /></a>