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 기여자들
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