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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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.
    16
    MIT
  • 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
    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
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/NotchStone/Firmforge'

If you have feedback or need assistance with the MCP directory API, please join our Discord server