Labsco
MCP SERVER

NodeMCU MCP

by amanasmuei

Monitor and control ESP8266 and NodeMCU devices from an assistant — list devices, read telemetry, send commands and push configuration changes.

IoT, Smart Home & Embedded Hardware
Summary
The device side is real work, and the sketch is included.

This only helps once your boards actually connect to it, which means flashing the reference sketch with your WiFi credentials and the server address — the repository ships that sketch, which removes the hardest part of the setup. Set `JWT_SECRET` to something random before exposing the API anywhere; it is the only thing standing between the device endpoints and whoever can reach the port.

What it is

A management service for NodeMCU and ESP8266 devices that speaks two protocols at once: a REST and WebSocket API for the devices themselves, and MCP for an assistant. Devices connect over WebSocket and report in; the assistant queries and commands them through the same server.

What you get
  • All registered devices listed with their status — `list-devices`
  • One device in detail, including its IP, firmware version, last seen time, configuration and last telemetry reading — `get-device`
  • A command sent to a device, such as restart, update or status — `send-command`
  • A device's configuration updated remotely, covering settings like reporting interval, debug mode and the onboard LED — `update-config`
  • A WebSocket channel for real-time updates from devices, and JWT-authenticated REST endpoints for everything the tools expose
  • An Arduino sketch in the repository as a reference client implementation for the device side
Requirements

Node.js 16.x or higher, and Arduino IDE with ESP8266 support for the device side. The README's global install line names `nodemcu-mcp` at 1.0.0, which npm does not have; Smithery lists a one-line install for Claude Desktop. Configuration goes in a `.env` file: `PORT` (default 3000), `HOST`, a strong random `JWT_SECRET` for API authentication, and `LOG_LEVEL`. Run it in MCP mode with `nodemcu-mcp --mode=mcp`, or in `both` mode, the default, to serve the API and MCP together.

Setup effort

One command — npx -y @smithery/cli install @amanasmuei/nodemcu-mcp --client claude