ESP32 MCP Server

Allow AI models connect to ESP32 and read connected sensors NMEA2k, ODB/ODBII, NMEA0183. AI generated MCP server.

Local serverstdioPython

What is the ESP32 MCP server?

Most monitoring and observability work still happens through a UI a human drives. ESP32 MCP server moves it into the conversation instead. Allow AI models connect to ESP32 and read connected sensors NMEA2k, ODB/ODBII, NMEA0183. AI generated MCP server.

The short version

A Model Context Protocol (MCP) server running on ESP32 (and Nordic nRF52840 in sensor-only mode), exposing real-world sensor data and bus protocols to AI assistants and automation tooling over WebSocket / JSON-RPC 2.0.

The tools it exposes

The server publishes 6 tools. What each one is for:

  • nRF52840 — The nRF52840 tool exposed by this server
  • Protocol — The Protocol tool exposed by this server
  • Sensors — The Sensors tool exposed by this server
  • Metrics — The Metrics tool exposed by this server
  • Logs — The Logs tool exposed by this server
  • Subscriptions — After subscribing the server pushes unsolicited notifications/resources/updated on every value change:

Getting it running

Installation goes through your MCP client rather than a global install: point it at platformio on PyPI and it is fetched when the client starts. The copy-paste blocks for Claude Desktop, Claude Code and Cursor are further down this page.

How it compares

Among the monitoring and observability options, the useful question is rarely "what can it do" but "what does it cost you to run" — permissions, credentials, and how much of your context its toolset consumes. ESP32's toolset — nRF52840, Protocol, Sensors and 3 more — is a fair guide to whether it matches your workflow. It is maintained by navado; worth a glance at recent repository activity before you build anything load-bearing on it.

This entry was verified against ESP32's own documentation before publication; SyncDev keeps the directory reviewed rather than auto-generated.

Things to watch

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • Keep per-call confirmation enabled while you learn its behaviour; it is the cheapest safeguard you have.

Available tools

ToolWhat it does
nRF52840The nRF52840 tool exposed by this server.
ProtocolThe Protocol tool exposed by this server.
SensorsThe Sensors tool exposed by this server.
MetricsThe Metrics tool exposed by this server.
LogsThe Logs tool exposed by this server.
SubscriptionsAfter subscribing the server pushes unsolicited notifications/resources/updated on every value change:

How to install the ESP32 MCP server

{
  "mcpServers": {
    "esp32mcpserver": {
      "command": "uvx",
      "args": ["platformio"]
    }
  }
}

Add to claude_desktop_config.json, then restart Claude Desktop.

Example prompts to try

  • Use ESP32 to nRF52840.
  • Use ESP32 to Protocol.
  • Use ESP32 to Sensors.

Frequently asked questions

ESP32‑S3, ESP32, ESP32‑C3, Adafruit HUZZAH32, and M5Stack Core run the full MCP server (WiFi + WebSocket + CAN). Nordic nRF52840‑DK and Adafruit Feather nRF52840 run in sensor‑only mode (I2C + serial output, no WiFi, no MCP).