Control ESP32 IoT devices from AI agents: status, GPIO, ADC, reboot.
About
Control ESP32 IoT devices from AI agents: status, GPIO, ADC, reboot.
Security Report
The server is a straightforward wrapper around a local ESP32 REST API with no hidden exfiltration or malicious code, and its permissions (HTTP to the device, the ESP32_HOST env var) match its purpose. However, the firmware exposes GPIO control, reboot, and a command passthrough with no authentication, and the HTTP transport has no auth of its own, so anyone who can reach the server or the device's network can actuate hardware. The default AP password is hardcoded, and all traffic is cleartext HTTP. Supply chain analysis found 5 known vulnerabilities in dependencies (1 critical, 3 high severity).
4 files analyzed · 13 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
Permissions Required
This plugin requests these system permissions. Most are normal for its category.
What You'll Need
Set these up before or after installing:
Environment variable: ESP32_HOST
Environment variable: ESP32_TIMEOUT
How to Install
Add this to your MCP configuration file:
{
"mcpServers": {
"com-pixharvest-esp32-control": {
"env": {
"ESP32_HOST": "your-esp32-host-here",
"ESP32_TIMEOUT": "your-esp32-timeout-here"
},
"args": [
"esp32-mcp"
],
"command": "uvx"
}
}
}Documentation
View on GitHubFrom the project's GitHub README.
ESP32 MCP Server
Control and read ESP32 IoT devices directly from AI agents (Claude, Cursor, any MCP client).
esp32.status— online / chip / free heap / uptimeesp32.gpio_set— set a GPIO high/lowesp32.gpio_read— read a digital pinesp32.adc_read— read analog voltage (mV)esp32.send_command— raw AT/application commandesp32.reboot— reboot the device
Architecture
AI agent (Claude/Cursor) → this MCP server (Python) → ESP32 REST API → device
The ESP32 runs a tiny MicroPython firmware (esp32_firmware/main.py) exposing a
lightweight REST API on port 80. The MCP server talks to it over HTTP — works
locally and remotely.
Quick start
1. Flash the ESP32 firmware
- Install MicroPython on your ESP32.
- Upload
esp32_firmware/main.pyasmain.py(Thonny ormpremote). - Power on — the device opens a WiFi AP named
ESP32-MCP(password12345678) or you can set STA mode inside the firmware to join your network.
2. Run the MCP server
pip install esp32-mcp
export ESP32_HOST=http://192.168.4.1 # device address (AP default)
esp32-mcp # stdio transport (local MCP client)
For remote agents, run with HTTP transport:
uv run esp32-mcp --transport http --port 8000
3. Add to your AI client
Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"esp32": {
"command": "esp32-mcp",
"env": { "ESP32_HOST": "http://192.168.4.1" }
}
}
}
Cursor: Settings → MCP → Add server → esp32-mcp with env ESP32_HOST.
Then just ask: "turn GPIO 2 on", "what's the ADC reading on pin 34?", "reboot the device".
Configuration
| Env var | Default | Meaning |
|---|---|---|
ESP32_HOST | http://192.168.4.1 | ESP32 REST endpoint |
ESP32_TIMEOUT | 8 | request timeout (s) |
Safety
- GPIO outputs are limited to pins
2, 4, 5, 18, 19by default (editGPIO_OUTin the firmware to change). - The firmware only listens on its own network; change the AP password before exposing to the internet.
Pricing
| Plan | Price | What you get |
|---|---|---|
| Free | $0 | All 6 core tools, single device |
| Pro | $9/mo or $90/yr | Multi-device, history, batch control, OTA, webhooks |
Free is not a trial — core tools work forever. Upgrade when you need scale.
License
MIT
Reviews
No reviews yet
Be the first to review this server!
More Developer Tools MCP Servers
Fetch
Freeby Modelcontextprotocol · Developer Tools
Web content fetching and conversion for efficient LLM usage
Git
Freeby Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
Worldmonitor
Freeby Koala73 · Developer Tools
Live markets, conflicts, country risk, chokepoints, energy, and China decision signals. 93 tools.
Toleno
Freeby Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
MCP Marketplace
Freeby mcp-marketplace · Developer Tools
Search and install MCP servers from inside your AI client.
mcp-creator-python
Freeby mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.