Esp MCP logo

Esp MCP

by horw

Runs common ESP-IDF project workflows for ESP32 targets through MCP tools.

Install Esp MCP

Pick your client, then add it in one click or paste the config.

No confirmed install command yet

We only publish a config when the install details come from the project itself — its README, its docs, or a verified owner. We haven’t found those for horw/esp-mcp, and we’d rather show nothing than a guess you’d paste into your client.

Open setup steps on GitHub

Overview

The horw/esp-mcp MCP server exposes ESP-IDF project and device workflows as tools for an MCP-compatible chatbot or agent. It can install ESP-IDF dependencies, create and configure projects, build firmware, find serial ports, flash devices, and run pytest-based tests. Tools can use a shared IDF_PATH or an idf_path parameter for project-specific ESP-IDF versions, with optional sdkconfig defaults for builds. Reach for it when an agent needs to automate routine ESP32 development tasks or investigate build issues through ESP-IDF commands.

Use cases

  • Install ESP-IDF dependencies and toolchains
  • Create and configure ESP32 projects
  • Build firmware with custom SDK defaults
  • Flash firmware to a connected ESP device
  • Run pytest-embedded tests

Key features

  • ESP-IDF dependency installation
  • ESP32 project creation and target selection
  • Incremental project builds
  • Serial port discovery and firmware flashing
  • pytest-embedded test execution
  • Per-project ESP-IDF path and SDK defaults

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked Today

Recent health check succeeded.

18/18 checks healthy over the last 80d

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars157Stargazers on the source repository.
Last commit10mo agoMost recent push to the default branch.
Directory activity4 viewsConfig copies, upvotes, and views on AllMCPs.

How Esp MCP works

What horw/esp-mcp MCP server does

The horw/esp-mcp MCP server brings common ESP-IDF operations into an MCP tool interface. It is intended for ESP32-series development workflows where an LLM or other MCP client needs to create projects, select a chip target, compile firmware, locate connected devices, flash firmware, or run tests.

The project is described as a proof of concept. Its current scope centers on commands commonly used during setup, build, and device programming rather than providing a complete interface to every ESP-IDF feature. Automatic issue fixing based on build logs is listed as experimental.

How it works

The server receives tool calls from a configured chatbot or agent and runs the corresponding local development commands. Examples include invoking ESP-IDF's project commands for building, target selection, and flashing, along with pytest for test execution. This means the host must have the relevant ESP-IDF installation, tools, project files, and device access available.

ESP-IDF location handling is flexible. A call can provide an idf_path value to select a particular framework installation, allowing different projects to use different ESP-IDF versions. When that parameter is omitted, the server can use the IDF_PATH environment variable if it is set.

Setup and configuration

The repository is intended to be cloned locally and then registered as an MCP server in the selected chatbot or agent. Because the example uses paths that must be replaced for each machine, the exact command depends on the local Python or uv installation and repository location.

IDF_PATH is optional. Set it to the root of an ESP-IDF installation when a default framework path is useful; individual tool calls can override it with idf_path. The host also needs the ESP-IDF dependencies and toolchain required by the requested operation. The server includes a tool for installing those dependencies through ESP-IDF's install.sh.

Tools and capabilities

The horw/esp-mcp MCP server currently includes tools for:

  • Installing ESP-IDF dependencies and the toolchain.
  • Creating a new ESP-IDF project.
  • Selecting targets such as esp32, esp32c3, and esp32s3.
  • Building projects with incremental build support.
  • Listing serial ports available to ESP devices.
  • Flashing built firmware, with an optional port selection.
  • Running pytest with pytest-embedded support for ESP-IDF projects.

Build operations can accept multiple SDK configuration defaults in a semicolon-separated value, such as a base defaults file and a CI-specific defaults file. The project also records build time, which can help observe build performance.

Limitations and notes

This is a PoC, so coverage of ESP-IDF workflows is limited to the tools currently implemented in main.py. Flashing and testing depend on the host's ESP-IDF installation and, where applicable, a connected ESP device and accessible serial port.

Automatic build-issue remediation is experimental rather than a general guarantee of successful fixes. The project invites contributions for missing commands, while features such as monitoring and menuconfig remain future work.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Esp MCP

Clone the repository locally, then configure the MCP client to run its main.py through uv or a Python interpreter. The configuration requires replacing the example repository and executable paths with real local paths.

Yes. Tools accept an idf_path parameter, so a project can select an ESP-IDF installation independently of the IDF_PATH environment variable.

Yes. It provides project build and flashing tools, and flashing can optionally receive a serial port specification.

Yes. The server includes a run_pytest tool with pytest-embedded support for ESP-IDF projects.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewEsp MCP AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/horw-esp-mcp?style=directory)](https://allmcps.com/mcp/horw-esp-mcp)
HTML Embed
<a href="https://allmcps.com/mcp/horw-esp-mcp"><img src="https://allmcps.com/api/badge/horw-esp-mcp?style=directory" alt="Esp MCP on AllMCPs" /></a>