Skip to main content
Glama

๐Ÿ’ก LUZMCP โ€” Sistema IoT com MCP Server & PWA

Firebase Hosting Wokwi Simulator Python React Vite Model Context Protocol

Sistema distribuรญdo para monitoramento e controle remoto de lรขmpadas/dispositivos IoT em tempo real. A arquitetura conecta um Progressive Web App (PWA) moderno, um servidor MCP (Model Context Protocol) para integraรงรฃo com Agentes e LLMs, uma API REST Flask e um microcontrolador simulado no Wokwi executando MicroPython.


๐ŸŽฎ Demonstraรงรฃo Online (Teste Agora Mesmo)

Vocรช pode testar todo o sistema funcionando ao vivo sem precisar instalar nada:

  1. Abra o Simulador de Hardware:
    ๐Ÿ‘‰ Acessar Simulador Wokwi
    (Clique no botรฃo verde de Play โ–ถ๏ธ para iniciar a placa e ligar a conexรฃo Wi-Fi).

  2. Abra o Painel de Controle (PWA):
    ๐Ÿ‘‰ Acessar Painel IoT Control (PWA)
    (Funciona no computador e no celular. No celular, vocรช pode selecionar "Adicionar ร  tela inicial" para instalar como app).

  3. Interaja com as Lรขmpadas:

    • Clique no botรฃo de L1 โž” O LED Vermelho no pino GP10 acende na simulaรงรฃo.

    • Clique no botรฃo de L2 โž” O LED Azul no pino GP11 acende na simulaรงรฃo.

    • Desligue os interruptores no app para apagar as luzes correspondentes.


Related MCP server: Home Assistant MCP Server

๐Ÿ—๏ธ Arquitetura do Sistema

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                       Clientes                          โ”‚
โ”‚   โ€ข PWA no Celular / Computador (Firebase Hosting)      โ”‚
โ”‚   โ€ข Agentes de IA / LLMs (Claude, Gemini, Antigravity)   โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                             โ”‚
            โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
            โ”‚                                 โ”‚
     (Modo IA / Tools)                (Modo Web Direto)
            โ–ผ                                 โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”          โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚    MCP Server (Py)    โ”‚          โ”‚  API REST Flask (Py)  โ”‚
โ”‚  Transporte SSE / RPC โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บโ”‚  (PythonAnywhere)     โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜          โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                               โ”‚
                                      Polling HTTP (1s)
                                               โ”‚
                                               โ–ผ
                                   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                                   โ”‚  Raspberry Pi Pico W  โ”‚
                                   โ”‚     (MicroPython)     โ”‚
                                   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                               โ”‚
                                      Pinos GP10 e GP11
                                               โ”‚
                                               โ–ผ
                                   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                                   โ”‚   LEDs L1 (Vermelho)  โ”‚
                                   โ”‚   LEDs L2 (Azul)      โ”‚
                                   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿ› ๏ธ Tecnologias Utilizadas

  • Microcontrolador / IoT: Raspberry Pi Pico W simulado no Wokwi, programado em MicroPython com comunicaรงรฃo HTTP via urequests.

  • Backend: Python / Flask hospedado no PythonAnywhere, com suporte a CORS nativo e gerenciamento de estado dos perifรฉricos.

  • Camada MCP: Model Context Protocol SDK (mcp), expondo as ferramentas obter_status_lampadas e alterar_status_lampada via Server-Sent Events (SSE).

  • Frontend / PWA: React 19, Vite, TypeScript, Tailwind CSS e Lucide Icons, hospedado no Firebase Hosting.


๐Ÿ“ Estrutura de Diretรณrios

.
โ”œโ”€โ”€ app.py                     # API Flask existente com rotas /micro e /comandos
โ”œโ”€โ”€ mcp_server.py              # MCP Server expondo Tools IoT via protocolo SSE
โ”œโ”€โ”€ wokwi.txt                  # Cรณdigo MicroPython para o simulador Wokwi
โ”œโ”€โ”€ firebase.json              # Configuraรงรตes de deploy no Firebase Hosting
โ”œโ”€โ”€ pwa/                       # Aplicaรงรฃo frontend PWA
โ”‚   โ”œโ”€โ”€ src/
โ”‚   โ”‚   โ”œโ”€โ”€ App.tsx            # Lรณgica hรญbrida (MCP + API Direta) e interface
โ”‚   โ”‚   โ””โ”€โ”€ main.tsx           # Ponto de entrada React
โ”‚   โ”œโ”€โ”€ package.json           # Dependรชncias do frontend
โ”‚   โ””โ”€โ”€ vite.config.ts         # Configuraรงรตes de build e proxy local
โ””โ”€โ”€ README.md                  # Documentaรงรฃo do projeto

๐Ÿ’ป Como Rodar o Projeto Localmente

1. Prรฉ-requisitos

  • Python 3.10 ou superior instalado.

  • Node.js 18 ou superior instalado.

2. Rodando o Servidor MCP (Python)

pip install -r requirements.txt
python mcp_server.py

O servidor MCP inicializarรก ouvindo conexรตes SSE na porta 8080.

3. Rodando o PWA em Desenvolvimento

cd pwa
npm install
npm run dev

Abra http://localhost:5173 no seu navegador. O frontend conectarรก automaticamente ao MCP Server local via proxy /sse.


๐Ÿ‘จโ€๐Ÿ’ป Autor

Desenvolvido por Marlon Kipson

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Links IoT devices to AI large models using the MCP and MQTT protocols, enabling natural language control, real-time AI responses, and complex instruction execution for interconnected IoT devices.
    3
    371
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables control of Philips Hue lights through the Model Context Protocol, providing tools for turning lights on/off, setting brightness and color, and retrieving light status.
    1
    Apache 2.0