Smoke tested against real Espressif QEMU fork — esptool successfully identifies, reads flash_id, and writes firmware to emulated ESP32 via socket://localhost:5555. Enriched CHIP_MACHINES with per-chip efuse data, GPIO strap values, and watchdog timer driver names derived from ESP-IDF's qemu_ext.py.
MCP ESPTool Server
FastMCP server providing AI-powered ESP32/ESP8266 development workflows through natural language interfaces.
Features
- Chip Control: Advanced ESP device detection, connection, and control
- Flash Operations: Comprehensive flash memory management with safety features
- Security Management: ESP security features including secure boot and flash encryption
- Production Tools: Factory programming and batch operations
- Middleware System: Universal CLI tool integration with bidirectional MCP communication
- ESP-IDF Integration: Host application support for hardware-free development
Quick Start
Installation
# Install with uvx (recommended)
uvx mcp-esptool-server
# Or install in project
uv add mcp-esptool-server
Claude Code Integration
# Add to Claude Code
claude mcp add mcp-esptool-server "uvx mcp-esptool-server"
Development Setup
# Clone and setup
git clone <repository>
cd mcp-esptool
make dev
# Run development server
make run-debug
# Run tests
make test
Architecture
The server implements a component-based architecture with middleware for CLI tool integration:
- Components: Specialized modules for different ESP development workflows
- Middleware: Universal pattern for intercepting and redirecting CLI tool output to MCP context
- Configuration: Environment-based configuration with auto-detection
- Production Ready: Docker support with development and production modes
Components
ChipControl: Device detection, connection management, reset operationsFlashManager: Flash operations with verification and backupPartitionManager: Partition table management and OTA supportSecurityManager: Security features and eFuse managementFirmwareBuilder: ESP-IDF integration and binary operationsOTAManager: Over-the-air update workflowsProductionTools: Factory programming and quality controlDiagnostics: Memory dumps and performance profiling
Configuration
Configure via environment variables or .env file:
ESPTOOL_PATH=esptool
ESP_DEFAULT_BAUD_RATE=460800
ESP_IDF_PATH=/path/to/esp-idf
MCP_ENABLE_PROGRESS=true
PRODUCTION_MODE=false
Docker
# Development with hot reload
make docker-up
# Production deployment
DOCKER_TARGET=production make docker-up
License
MIT License - see LICENSE file for details.
Languages
Python
51.5%
MDX
46%
JavaScript
0.8%
Dockerfile
0.8%
Makefile
0.6%
Other
0.2%