Skip to main content
Glama

FirmForge

English · 中文(README_CN.md)

FirmForgeは、AIコーディングエージェントを用いたMCU開発のためのMCPベースのファームウェア検証ツールチェーンです。Detect、Review、Build、Flash、Verifyの5段階のハードウェアパイプラインを提供し、各ステージを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"

安定版のwheelは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 Contributors

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