Skip to main content
Glama

FirmForge

Английский · 中文(README_CN.md)

FirmForge — это инструментальная цепочка проверки прошивки на основе MCP для разработки MCU с AI-агентами кодирования. Она предоставляет пятиэтапный аппаратный конвейер — Detect, Review, Build, Flash, Verify — и предоставляет этапы агентам в виде MCP-инструментов (ff_detect, ff_context, ff_build, ff_run, ff_flash, ff_monitor).

Инструментальная цепочка компилирует прошивку с помощью реального компилятора (avr-gcc / ArduinoCore-avr), программирует целевое устройство с помощью avrdude и проверяет результат через последовательное чтение. Генерация кода не входит в область применения.

Конвейер

Этап

Описание

Обработка сбоев

S1 Detect

Определение платы через зонд сигнатуры чипа avrdude; резервные выводы — USB VID/PID и рабочая директория

Блокирующий

S2 Review

Статический анализ: cppcheck, проверка регистров/битовых полей по базе знаний чипа, оценка уверенности

Неблокирующий

S3 Build

Компиляция в firmware.hex: голый регистровый C (avr-gcc, -std=c11) или Arduino API (ArduinoCore-avr); кэширование по SHA256-отпечатку

Блокирующий

S4 Flash

Программирование через avrdude (ATmega2560 использует -D для пропуска стирания чипа) со сбросом загрузчика

Блокирующий

S5 Verify

Последовательное чтение с сопоставлением шаблонов; живая панель в браузере

Неблокрующий

Related MCP server: agentic-hil

Поддерживаемые целевые устройства

Плата

MCU

Примечания

arduino_mega

ATmega2560

202 регистра в базе знаний (включая алиасы GCC)

arduino_328p

ATmega328P (UNO/Nano)

91 регистр в базе знаний

Пользовательские платы поддерживаются через --boards-dir.

Установка

Требования: Python ≥ 3.10. Оборудование требуется только для этапов Flash и Verify.

pip install git+https://github.com/NotchStone/firmforge.git
ff setup

ff setup загружает и устанавливает avr-gcc, avrdude, cppcheck и ArduinoCore-avr в ~/.firmforge/. Повторный запуск идемпотентен.

Для поддержки MCP (интеграция с агентами):

pip install "firmforge[mcp] @ git+https://github.com/NotchStone/firmforge.git"

Стабильные сборки прикреплены к GitHub Releases.

Зеркало для Китая доступно на Gitee: см. README_CN.md (中文).

Использование

# Detect connected board
ff detect

# Review + compile only (no hardware required)
ff build arduino_mega --app path/to/source

# Full pipeline on hardware
ff run arduino_mega --app path/to/source --expected "Hello World"

# Flash a pre-built hex
ff flash arduino_mega --firmware firmware.hex

MCP-сервер

Зарегистрируйте сервер в вашем агенте (CodeBuddy, Cursor, Claude Desktop, ...):

{
  "mcpServers": {
    "firmforge": {
      "command": "python",
      "args": ["-m", "firmforge.adapters.mcp_server"],
      "cwd": "/path/to/your/firmware/project"
    }
  }
}

Рабочий процесс агента: запросите ff_context для ссылок на регистры/пины перед написанием прошивки, затем ff_run для компиляции, прошивки и проверки. Встроенные данные (определения плат, знания о чипах, манифесты инструментов) разрешаются изнутри пакета; сервер работает из любой рабочей директории.

Разработка

pip install -e .[test,mcp]
pytest

Лицензия

MIT © Участники FirmForge

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    MCP server for simulating firmware on virtual microcontroller instances, allowing AI agents to upload, run, and read UART output from supported boards such as STM32 and Nordic.
    17
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Agentic Hardware-in-the-Loop (Agentic HIL) lets coding agents develop firmware on real embedded boards: flash, reset, read UART and exchange CAN traffic, diagnose and fix. Local, policy-gated MCP tools support OpenOCD, pyOCD and STM32CubeProgrammer, with pytest for CI.
    44
    1,138 PyPI
    18
    Apache 2.0
  • A
    license
    C
    quality
    A
    maintenance
    MCP server for AI-assisted MCU and embedded firmware debugging. It connects to real hardware via debug probes, inspects CPU/memory/peripherals, manages Keil builds, and provides structured evidence for fault diagnosis.
    19
    20 PyPI
    6
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    An MCP server that enables AI agents to inspect, plan, validate, and apply STM32CubeMX .ioc configuration changes, and generate STM32CubeIDE projects, ensuring safe and testable embedded-system workflows.
    9
    3
    MIT