Back to Browse

Esp32 MCP Server

Developer ToolsUse Caution2.8LocalNew
Free

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

2.8
Use Caution2.8Critical Risk

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.

HTTP Network Access

Connects to external APIs or services over the internet.

env_vars

Check that this permission is expected for this type of plugin.

device_control

Check that this permission is expected for this type of plugin.

What You'll Need

Set these up before or after installing:

http://192.168.4.1Optional

Environment variable: ESP32_HOST

8Optional

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 GitHub

From 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 / uptime
  • esp32.gpio_set — set a GPIO high/low
  • esp32.gpio_read — read a digital pin
  • esp32.adc_read — read analog voltage (mV)
  • esp32.send_command — raw AT/application command
  • esp32.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

  1. Install MicroPython on your ESP32.
  2. Upload esp32_firmware/main.py as main.py (Thonny or mpremote).
  3. Power on — the device opens a WiFi AP named ESP32-MCP (password 12345678) 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 varDefaultMeaning
ESP32_HOSThttp://192.168.4.1ESP32 REST endpoint
ESP32_TIMEOUT8request timeout (s)

Safety

  • GPIO outputs are limited to pins 2, 4, 5, 18, 19 by default (edit GPIO_OUT in the firmware to change).
  • The firmware only listens on its own network; change the AP password before exposing to the internet.

Pricing

PlanPriceWhat you get
Free$0All 6 core tools, single device
Pro$9/mo or $90/yrMulti-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!