7 Commits

Author SHA1 Message Date
28b12909ca Trim sdist from 80MB to 195KB, post-release 2026.02.25.1
Exclude docs-site/, artifacts/, orphaned planning docs, and
Docker/CI files from sdist via hatch build config. Wheel was
already correct (77KB). The previous sdist bundled node_modules
(66MB of pagefind alone) because hatchling only reads root
.gitignore and docs-site/.gitignore was invisible to it.
2026-03-02 02:48:38 -07:00
76ff1ad46a Fix v5.x parsers, clean up CLI, bump to 2026.02.25
- Rewrite _parse_tools_list for ESP-IDF v5.x compact format
  (handles both v5.x and older verbose output)
- Archive detection runs before v5.x version matching to avoid
  false positives on filenames like *.tar.gz
- Remove dead --config and --port CLI parameters
- Add 21 new tests: v5.x parser coverage, Tier 2 tool invocations,
  resource/prompt tests (193 total)
2026-03-02 02:16:40 -07:00
dab9c6848e Add Espressif product catalog integration
5 new MCP tools for chip/module discovery, comparison, and procurement
planning using Espressif's public product catalog API. Data is lazily
fetched and cached in-memory with a 24h TTL.

Tools: esp_product_search, esp_product_info, esp_chip_compare,
esp_product_recommend, esp_product_availability
Resource: esp://products/catalog
2026-02-24 13:33:34 -07:00
b2ba0cd67a Upgrade to FastMCP 3.x, add Starlight docs site
Dependency changes:
- fastmcp >=2.12.4 → >=3.0.2,<4
- Drop asyncio-mqtt (dead dependency, never imported)
- Align pydantic, click, rich with FastMCP 3.x
- Bump version to 2026.02.23

Docs site (docs-site/):
- Astro Starlight with Tailwind v4 teal theme
- 28 pages following Diataxis: 3 tutorials, 7 how-to guides,
  13 reference pages, 4 explanation pages
- Docker infrastructure (Caddy prod, Node HMR dev)
- Configured for mcesptool.warehack.ing
2026-02-23 18:57:16 -07:00
d5dc9c99c0 Rename package to mcesptool
- Rename mcp-esptool-server -> mcesptool
- Update all imports and references
- Single entry point: mcesptool command
- New home: git.supported.systems/MCP/mcesptool
2026-02-06 21:08:53 -07:00
78dc7e1279 Refactor chip_control to subprocess pattern, remove middleware layer
- Rewrite chip_control.py to use esptool CLI subprocess exclusively
- Delete middleware/ directory (~830 lines): esptool_middleware, logger_interceptor, middleware_factory
- Remove `import esptool` library dependency (keep as CLI tool only)
- Remove mypy override for esptool module
- Add address parameter to esp_flash_firmware to prevent bootloader overwrites
2026-02-05 09:56:35 -07:00
64c1505a00 Add QEMU ESP32 emulation support
Integrate Espressif's QEMU fork for virtual ESP device management:

- QemuManager component with 5 MCP tools (start/stop/list/status/flash)
- Config auto-detects QEMU binaries from ~/.espressif/tools/
- Supports esp32, esp32s2, esp32s3, esp32c3 chip emulation
- Virtual serial over TCP (socket://localhost:PORT) transparent to esptool
- Scan integration: QEMU instances appear in esp_scan_ports results
- Blank flash images initialized to 0xFF (erased NOR flash state)
- 38 unit tests covering lifecycle, port allocation, flash writes
2026-01-28 15:35:22 -07:00