firmforge
FirmForge
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、 | ブロッキング |
S4 Flash | ブートローダリセットを伴うavrdudeプログラミング(ATmega2560は | ブロッキング |
S5 Verify | パターンマッチングによるシリアル読み戻し。ライブブラウザパネル | 非ブロッキング |
Related MCP server: Chiplab
対応ターゲット
ボード | MCU | 備考 |
| ATmega2560 | 知識ベース内の202レジスタ(GCCエイリアスを含む) |
| ATmega328P(UNO/Nano) | 知識ベース内の91レジスタ |
カスタムボードは--boards-dirでサポートされています。
インストール
要件: Python ≥ 3.10。ハードウェアが必要なのはFlashステージとVerifyステージのみです。
pip install git+https://github.com/NotchStone/firmforge.git
ff setupff 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.hexMCPサーバー
エージェント(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
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseCqualityDmaintenanceA comprehensive Model Context Protocol (MCP) server for Arduino CLI interactions, built with FastMCP. This server enables AI agents to seamlessly interact with Arduino CLI for development, debugging, code verification, and more.162MIT
- AlicenseNot gradedqualityBmaintenanceMCP 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.16MIT
- AlicenseNot gradedqualityAmaintenanceMCP server for Agentic Hardware-in-the-Loop testing, enabling AI agents to probe, flash, reset, and validate embedded firmware on real hardware via bounded MCP tools.12Apache 2.0
- AlicenseCqualityAmaintenanceMCP 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.434MIT
Related MCP Connectors
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.
Scans MCP servers for tool poisoning, prompt injection and supply chain risks.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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