Skip to main content
Glama

FirmForge

Español · 中文(README_CN.md)

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, -std=c11) o API de Arduino (ArduinoCore-avr); caché con huella SHA256

Bloqueante

S4 Flash

Programación con avrdude (ATmega2560 usa -D skip-chip-erase) con reinicio del bootloader

Bloqueante

S5 Verify

Lectura de retorno serie con coincidencia de patrones; panel de navegador en vivo

No bloqueante

Related MCP server: Chiplab

Objetivos compatibles

Placa

MCU

Notas

arduino_mega

ATmega2560

202 registros en la base de conocimiento (incl. alias de GCC)

arduino_328p

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 setup

ff 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.hex

Servidor 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]
pytest

Licencia

MIT © Contribuyentes de FirmForge

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • A
    license
    C
    quality
    D
    maintenance
    A 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.
    16
    2
    MIT
  • A
    license
    Not graded
    quality
    B
    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.
    43
    4
    MIT

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

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