ToolBB-0018

ESP32 MCP IO Extender: USB GPIO and UART control for agent-run tests

ESP32 MCP IO Extender runs on an ESP32 and exposes its GPIO and UART pins to a host over USB serial for automated tests. Commands travel as JSON lines from a Python library, a CLI or an optional MCP server. Firmware enforces a pin safety policy, and named endpoints map pins to roles. The README shows no run logs.

Open original source github.com · jbp-sy

Claimed
Why this evidence label?

README, protocol docs and changelog; no run logs seen.

How we check entries
Preview image for ESP32 MCP IO Extender: USB GPIO and UART control for agent-run tests
The source's own preview image, from github.com.

Briefing

The firmware builds in PlatformIO with two board profiles, an ESP32-C3 DevKitM-1 and a conservative ESP32-S3, each with a fixed list of allowed GPIOs. On the S3, the boot straps, USB pins, UART bridge pins and flash and PSRAM pins are blocked. The host reads that policy from the board and checks named endpoints against it before changing a mode or writing a pin. A host-side daemon can expose the bridged UART as a local PTY.

The MCP server can offer the raw GPIO tools, only the named endpoint tools, or both, and an endpoint file can define its own tool names such as reset_pulse. The README leaves power sequencing to external bench equipment and warns against mapping power to a GPIO unless that is intended.

From the GitHub API

Repository facts

Repository facts for jbp-sy/esp32-mcp-io-extender, from the GitHub API
Repositoryjbp-sy/esp32-mcp-io-extender
Stars1
LanguagePython
Last push5 May 2026 5 mo ago

Tags

Board

Report a problem with this entry