Arduino MCP Server
Controle uma placa Arduino a partir do seu computador usando comandos de IA.
Documentação
Arduino MCP Server: Controle seu Arduino com IA!
Bem-vindo ao projeto Arduino MCP Server! Este projeto permite que você controle uma placa Arduino a partir do seu computador usando uma conexão especial chamada MCP (Model Context Protocol). Pense nisso como dar instruções ao seu Arduino usando um assistente de IA inteligente!
Para que serve este projeto?
Neste projeto, estamos construindo um "servidor" que escuta comandos de uma IA (como o Claude Desktop). Quando a IA pedir, nosso Arduino ligará ou desligará alguns LEDs. Esta é uma maneira super legal de ver como a IA pode interagir com o mundo real!
O que você vai precisar
Antes de começar, certifique-se de ter:
- Uma placa Arduino: Qualquer placa Arduino como Uno ou Nano funcionará.
- Dois LEDs: Um branco e um vermelho.
- Dois resistores de 1k: Eles são importantes para proteger seus LEDs.
- Cabos jumper: Para conectar tudo.
- Cabo USB: Para conectar seu Arduino ao computador.
- Claude Desktop: Este é o assistente de IA que usaremos.
- Python 3.12 ou superior: Nosso código é escrito em Python.
uv(Instalador e resolvedor de pacotes Python ultrafast): Usamos isso para gerenciar nossas bibliotecas Python.- Claude Desktop
Como configurar seu Arduino
-
Conecte os LEDs:
- LED branco: Conecte a perna mais longa (positiva) do LED branco ao Pino Digital 12 do seu Arduino através de um resistor de 220 Ohm. Conecte a perna mais curta (negativa) a um pino GND (Terra) do seu Arduino.
- LED vermelho: Conecte a perna mais longa (positiva) do LED vermelho ao Pino Digital 11 do seu Arduino através de um resistor de 220 Ohm. Conecte a perna mais curta (negativa) a um pino GND (Terra) do seu Arduino.
(Lembre-se de sempre usar um resistor com LEDs para evitar que eles queimem!)
-
Carregue o sketch StandardFirmataPlus:
- Abra o Arduino IDE (Ambiente de Desenvolvimento Integrado).
- Vá para Biblioteca
Library Manager> Pesquise e baixeFirmata - Vá para
File>Examples>Firmata>StandardFirmata. - Selecione sua placa Arduino em
Tools>Board. - Selecione a Porta correta em
Tools>Port. - Carregue o sketch
StandardFirmatana sua placa Arduino. Este programa permite que o Python controle seu Arduino.
Preparando o código Python
-
Baixe o projeto: Se ainda não baixou, baixe ou clone este projeto para o seu computador.
-
Abra seu terminal/prompt de comando: Navegue até a pasta onde você salvou este projeto.
-
Instale as dependências Python: Usaremos
uvpara instalar tudo que nosso código Python precisa.uv pip installEste comando lê o arquivo
pyproject.tomle instala as bibliotecasfastmcpepyfirmata2.
Entendendo o Código Python (main.py)
Vamos dar uma olhada rápida nas principais partes do nosso código Python:
from fastmcp import FastMCP: Esta linha importa a bibliotecaFastMCP, que nos ajuda a criar nosso servidor MCP.import pyfirmata2: Esta linha importapyfirmata2, que é uma biblioteca que permite ao Python falar com seu Arduino.Arduino = pyfirmata2.Arduino('/dev/cu.usbmodem212201'): IMPORTANTE! Você precisa alterar'/dev/cu.usbmodem212201'para a porta COM à qual seu Arduino está conectado. Você pode encontrar isso no Arduino IDE emTools>Port. Pode parecer algo comoCOM3no Windows ou/dev/ttyUSB0no Linux.@ArduinoMCP.tool: Essas linhas especiais (@ArduinoMCP.tool) são chamadas de "decoradores". Elas informam aoFastMCPque a função logo abaixo delas é uma "ferramenta" que o cliente de IA pode usar.white_led_ON(),red_led_ON(),led_OFF(): Estas são nossas funções (mini-programas) que dizem ao Arduino para ligar o LED branco, ligar o LED vermelho ou desligar ambos os LEDs.ArduinoMCP.run(): Esta linha inicia nosso servidor MCP, deixando-o pronto para receber comandos!
Configurando o Claude Desktop
Agora, vamos dizer ao Claude Desktop como se conectar ao nosso servidor Arduino.
- Abra seu Cliente MCP neste caso
Claude Desktop - Vá para
Settings>Developer>Edit Config> e abra o arquivo de configuraçãoclaude_desktop_config.json - Copie e cole o que está abaixo e atualize o caminho:
{ "mcpServers": { "arduino": { "command": "/Users/aiman/.local/bin/uv", # this too "args": [ "--directory", "/Users/aiman/Dev/Arduino_MCP", # update to the path "run", "main.py" ] } } }"command": Este deve ser o caminho completo para o seu executáveluv. Se você estiver no Windows, pode ser algo comoC:\Users\YourUser\AppData\Local\uv\uv.exe. No macOS/Linux, geralmente está no diretório bin local do seu usuário, como mostrado."--directory": Este deve ser o caminho completo para a pastaArduino_MCPno seu computador onde o arquivomain.pyestá localizado. Certifique-se de que este caminho esteja correto!"run", "main.py": Estes informam aouvpara executar seu scriptmain.py.
Executando o Projeto!
-
Inicie o Claude Desktop.
-
O servidor MCP deve iniciar automaticamente. O Claude Desktop usará o arquivo
claude_desktop_config.jsonpara iniciar seu servidor Arduino MCP. -
Fale com o Claude! Agora você pode pedir ao Claude para controlar seu Arduino. Tente dizer coisas como:
- "Ligue o LED branco."
- "Ligue o LED vermelho."
- "Desligue todos os LEDs."
O Claude Desktop entenderá seus comandos e os enviará ao seu servidor Arduino MCP, que então dirá ao seu Arduino o que fazer!
Divirta-se controlando seu Arduino com IA! Este é apenas o começo do que você pode fazer!