Voltar as noticias
Criei um servidor MCP para que agentes de IA possam programar mais de 1.000 placas embarcadas
MCP ProtocolMediaEN

Criei um servidor MCP para que agentes de IA possam programar mais de 1.000 placas embarcadas

Dev.to - MCP·5 de maio de 2026
npx pio-mcp dashboard

Essa é a instalação. Abra um terminal em qualquer lugar — seu laptop, uma VM nova, a máquina de um colega — digite uma linha e você obtém um painel React conectado ao PlatformIO Core. A partir daí, um LLM pode compilar firmware, gravá-lo em uma placa real e transmitir dados seriais de volta para a mesma aba do navegador.

platformio-mcp v2.0.0 foi enviado para o npm. Aqui está o porquê e como.

A lacuna

Os LLMs são incrivelmente bons em escrever firmware. Dê ao Claude uma ficha técnica e ele vai gerar um C++ que compila. Dê a ele a documentação do FreeRTOS e ele vai conectar uma fila sem suar.

O próximo passo sempre desmorona.

"Ótimo, agora grave isso na ESP32 que está na minha mesa."

Você recebe de volta uma parede de markdown de "primeiro instale o pyenv, depois inicialize um venv, depois pip install platformio, depois verifique se seu cabo USB-C suporta dados, depois certifique-se de que a regra udev correta está em vigor no Linux, então..." É um gerador de documentos de configuração. O agente leu todos os tutoriais do PlatformIO já escritos. Ele ainda não consegue enviar bytes para a memória flash porque não tem mãos.

MCP são as mãos. O agente chama uma ferramenta, a ferramenta roda na sua máquina, o resultado volta. PlatformIO Core já é um CLI que sabe como se comunicar com ~1.000 placas em mais de 30 plataformas (ESP32-S3, RP2040, STM32H7, nRF52840, ATmega328P, Teensy 4.1, SAMD21, ATtiny85, e assim por diante). Eu expus isso através do MCP. Esse é o produto inteiro.

O que v2.0.0 realmente faz

Nove ferramentas MCP. Cada uma é um wrapper fino em torno de um subcomando pio:

list_boards        → pio boards <filter>
init_project       → pio project init
build_project      → pio run                       (modo em segundo plano + polling de status)
upload_firmware    → pio run --target upload       (opcional start_monitor)
list_devices       → pio device list
serial_monitor     → pio device monitor            (não bloqueante, transmitido)
search_libraries   → pio pkg search
install_library    → pio pkg install
list_libraries     → pio pkg list
get_dashboard_url  → retorna URL localhost com token de autenticação vinculado

Além de init_project, o herói não reconhecido. A estrutura do projeto PlatformIO é a coisa que os agentes erraram todas as vezes antes disso — eles escreviam manualmente um platformio.ini com três bugs sutis na seção board_build. A ferramenta MCP apenas chama pio project init e os bugs desaparecem.

A demonstração que fecha o negócio

Prompt real, ESP32 real, flash real:

> Inicializar um novo projeto Arduino para uma Placa de Desenvolvimento ESP32 em /tmp/esp32-blink.
  Compilá-lo, gravá-lo e iniciar o monitor serial.

A ferramenta do agente chama, em ordem:

list_boards          { filter: "esp32" }                                  esp32dev
init_project         { board: "esp32dev", framework: "arduino",
                       projectDir: "/tmp/esp32-blink" }
build_project        { projectDir: "/tmp/esp32-blink" }                   SUCESSO
upload_firmware      { projectDir: "/tmp/esp32-blink",
                       start_monitor: true }                              flashed

De ponta a ponta em uma máquina limpa: ~90 segundos. A maior parte disso é o toolchain do PlatformIO puxando o esptool e o SDK da Espressif na primeira execução. Flashes subsequentes são abaixo de 10s.

Instalação em um comando

Facilitamos a integração do PIO MCP na sua escolha de agente de codificação. A v2.0.0 envia um instalador de uma só vez:

npx platformio-mcp install --cline       # Cline (extensão VS Code ou CLI)
npx platformio-mcp install --claude      # Claude Desktop
npx platformio-mcp install --vscode      # Suporte nativo do MCP no VS Code
npx platformio-mcp install --antigravity # Google Antigravity

Cada instalador:

  • Resolve o caminho de configuração do host por SO. macOS vai para ~/Library/Application Support, Windows lê %APPDATA%, Linux recua para ~/.config. Há um helper appDataDir() de 9 linhas que faz o despacho.
  • Lê a configuração existente se já houver uma.
  • Se o JSON estiver corrompido, copia para <path>.bak antes de reescrever. Aprendi isso da maneira mais difícil.
  • Mescla idempotentemente um bloco mcpServers.platformio. Reexecutar o instalador é uma operação sem efeito.
  • Imprime o caminho que tocou para que você possa grepá-lo mais tarde.

Para qualquer outro host MCP, este é o bloco de configuração manual:

{
  "mcpServers": {
    "platformio": {
      "command": "npx",
      "args": 
Contexto Triplo Up

O desenvolvimento de firmware para placas embarcadas pode ser otimizado com a utilização de agentes de IA. O MCP permite que empresas brasileiras integrem essa tecnologia, melhorando a eficiência e reduzindo erros no processo de programação.

Noticias relacionadas

Gostou do conteudo?

Receba toda semana as principais novidades sobre WebMCP.