# 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 ```bash # Install with uvx (recommended) uvx mcp-esptool-server # Or install in project uv add mcp-esptool-server ``` ### Claude Code Integration ```bash # Add to Claude Code claude mcp add mcp-esptool-server "uvx mcp-esptool-server" ``` ### Development Setup ```bash # Clone and setup git clone 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 operations - `FlashManager`: Flash operations with verification and backup - `PartitionManager`: Partition table management and OTA support - `SecurityManager`: Security features and eFuse management - `FirmwareBuilder`: ESP-IDF integration and binary operations - `OTAManager`: Over-the-air update workflows - `ProductionTools`: Factory programming and quality control - `Diagnostics`: Memory dumps and performance profiling ## Configuration Configure via environment variables or `.env` file: ```bash ESPTOOL_PATH=esptool ESP_DEFAULT_BAUD_RATE=460800 ESP_IDF_PATH=/path/to/esp-idf MCP_ENABLE_PROGRESS=true PRODUCTION_MODE=false ``` ## Docker ```bash # Development with hot reload make docker-up # Production deployment DOCKER_TARGET=production make docker-up ``` ## License MIT License - see LICENSE file for details.