firmforge
FirmForge
FirmForge es una cadena de herramientas de verificación de firmware basada en MCP para el desarrollo de MCU con agentes de codificación de IA. Proporciona un pipeline de hardware de cinco etapas — Detect, Review, Build, Flash, Verify — y expone las etapas a los agentes como herramientas MCP (ff_detect, ff_context, ff_build, ff_run, ff_flash, ff_monitor).
La cadena de herramientas compila el firmware con un compilador real (avr-gcc / ArduinoCore-avr), programa el dispositivo objetivo con avrdude y verifica el resultado mediante lectura de retorno serie. La generación de código está fuera del alcance.
Pipeline
Etapa | Descripción | Manejo de fallos |
S1 Detect | Identificación de la placa mediante la sonda de firma de chip de avrdude; inferencia de VID/PID USB y del espacio de trabajo como respaldo | Bloqueante |
S2 Review | Análisis estático: cppcheck, validación de registros/campos de bits contra la base de conocimiento del chip, puntuación de confianza | No bloqueante |
S3 Build | Compilar a firmware.hex: C de registro puro (avr-gcc, | Bloqueante |
S4 Flash | Programación con avrdude (ATmega2560 usa | Bloqueante |
S5 Verify | Lectura de retorno serie con coincidencia de patrones; panel de navegador en vivo | No bloqueante |
Related MCP server: agentic-hil
Objetivos compatibles
Placa | MCU | Notas |
| ATmega2560 | 202 registros en la base de conocimiento (incl. alias de GCC) |
| ATmega328P (UNO/Nano) | 91 registros en la base de conocimiento |
Las placas personalizadas se admiten mediante --boards-dir.
Instalación
Requisitos: Python ≥ 3.10. El hardware solo es necesario para las etapas Flash y Verify.
pip install git+https://github.com/NotchStone/firmforge.git
ff setupff setup descarga e instala avr-gcc, avrdude, cppcheck y ArduinoCore-avr en ~/.firmforge/. Volver a ejecutarlo es idempotente.
Para soporte MCP (integración con agentes):
pip install "firmforge[mcp] @ git+https://github.com/NotchStone/firmforge.git"Los wheels estables están disponibles en GitHub Releases.
Hay un espejo en China en Gitee: consulte README_CN.md (中文).
Uso
# 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.hexServidor MCP
Registre el servidor con su agente (CodeBuddy, Cursor, Claude Desktop, ...):
{
"mcpServers": {
"firmforge": {
"command": "python",
"args": ["-m", "firmforge.adapters.mcp_server"],
"cwd": "/path/to/your/firmware/project"
}
}
}Flujo de trabajo del agente: consulte ff_context para obtener referencias de registros/pines antes de escribir el firmware, luego use ff_run para compilar, flashear y verificar. Los datos incluidos (definiciones de placa, conocimiento del chip, manifiestos de la cadena de herramientas) se resuelven desde el interior del paquete; el servidor se ejecuta desde cualquier directorio de trabajo.
Desarrollo
pip install -e .[test,mcp]
pytestLicencia
MIT © Contribuyentes de FirmForge
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.
MCP server for building and testing AI agents with multi-model experimentation and insights.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceMCP 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.17MIT
- AlicenseAqualityAmaintenanceAgentic 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.441,138 PyPI18Apache 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.1920 PyPI6MIT
- AlicenseAqualityBmaintenanceAn 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.93MIT