HomeMCPBridge
Integração nativa do HomeKit no macOS para assistentes de IA via Model Context Protocol
Documentação
HomeMCPBridge
Integração nativa com HomeKit do macOS para assistentes de IA via Model Context Protocol (MCP).
Controle toda a sua casa inteligente com linguagem natural — sem Homebridge, sem Home Assistant, sem serviços em nuvem. Apenas acesso direto ao HomeKit.
O que é isto?
O HomeMCPBridge é um aplicativo macOS que permite que assistentes de IA (Claude e outros que suportam MCP) controlem seus dispositivos HomeKit diretamente. Peça à sua IA para "apagar as luzes da sala de estar" ou "definir o quarto para 50% de brilho" e ela simplesmente funciona.
Recursos
- HomeKit nativo — Acesso direto ao framework HomeKit da Apple, sem pontes ou gambiarras
- Protocolo MCP — Funciona com Claude Code, Claude Desktop e qualquer IA compatível com MCP
- Todos os tipos de dispositivos — Luzes, interruptores, tomadas, ventiladores, fechaduras, portas de garagem, termostatos
- Controle total — Ligar/desligar, brilho, cor (matiz/saturação), travar/destravar, abrir/fechar
- Aplicativo de barra de menus — Executa silenciosamente em segundo plano com uma janela de status
- Sistema de plugins — Estenda com Govee, Scrypted NVR e mais
- Vinculação de dispositivos — Vincule dispositivos HomeKit com equivalentes de plugins para evitar duplicatas
- MCPPost — Transmita eventos de sensores em tempo real para o seu sistema de IA
- Instantâneos de câmera — Capture imagens de câmeras HomeKit e Scrypted
- Eventos de movimento — Monitore sensores de movimento, campainhas e sensores de contato
Requisitos
- macOS 14.0 (Sonoma) ou posterior
- Dispositivos compatíveis com HomeKit configurados no app Casa da Apple
- Um assistente de IA compatível com MCP (Claude Code, Claude Desktop, etc.)
Instalação
Opção 1: Baixar a versão
Baixe o .dmg mais recente na página de Releases.
Opção 2: Compilar a partir do código-fonte
-
Clone este repositório:
git clone https://github.com/rodaddy/HomeMCPBridge.git cd HomeMCPBridge -
Abra no Xcode:
open HomeMCPBridge.xcodeproj -
Configure a assinatura para o seu ambiente:
- Vá para o alvo HomeMCPBridge > Signing & Capabilities
- Selecione sua Development Team no menu suspenso
- Opcionalmente, altere o Bundle Identifier para o seu próprio (por exemplo,
com.yourname.HomeMCPBridge) - Esses valores ficam intencionalmente em branco no repositório para que os colaboradores possam definir os seus
-
Compile e execute (Cmd+R) — selecione "My Mac (Mac Catalyst)"
-
Conceda acesso ao HomeKit quando solicitado
Configuração
Adicione isto ao seu arquivo de configuração MCP:
Para Claude Code (.mcp.json no seu projeto ou ~/.claude/mcp.json):
{
"mcpServers": {
"homekit": {
"command": "/Applications/HomeMCPBridge.app/Contents/MacOS/HomeMCPBridge",
"args": []
}
}
}
Para Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"homekit": {
"command": "/Applications/HomeMCPBridge.app/Contents/MacOS/HomeMCPBridge",
"args": []
}
}
}
Uso
Depois de configurado, você pode pedir à sua IA coisas como:
- "Liste todos os meus dispositivos HomeKit"
- "Acenda as luzes da cozinha"
- "Defina a luminária da sala de estar para 50% de brilho"
- "Qual é a temperatura na garagem?"
- "Apague todas as luzes do quintal"
- "Tranque a porta da frente"
- "A porta da garagem está aberta?"
- "Capture um instantâneo da câmera da porta da frente"
- "Há movimento no quintal?"
Ferramentas MCP Disponíveis
Controle de Dispositivos
| Ferramenta | Descrição |
|---|---|
list_devices | Lista todos os dispositivos do HomeKit e plugins |
list_rooms | Lista todos os cômodos de todas as casas |
list_homes | Lista todas as casas HomeKit configuradas |
get_device_state | Obtém o estado atual de um dispositivo |
control_device | Controla um dispositivo (ligar, desligar, alternar, brilho, cor, travar, destravar, abrir, fechar) |
Câmeras
| Ferramenta | Descrição |
|---|---|
list_cameras | Lista todas as câmeras HomeKit |
capture_snapshot | Captura imagem da câmera (retorna base64) |
Movimento e Eventos
| Ferramenta | Descrição |
|---|---|
list_motion_sensors | Lista sensores de movimento, sensores de ocupação, campainhas |
get_motion_state | Obtém o estado atual de detecção de movimento |
subscribe_events | Ativa o buffer de eventos de movimento e contato |
get_pending_events | Consulta eventos de movimento/campainha/contato em buffer |
Scrypted NVR (requer configuração)
| Ferramenta | Descrição |
|---|---|
scrypted_list_cameras | Lista todas as câmeras Scrypted com capacidades |
scrypted_capture_snapshot | Captura instantâneo da câmera Scrypted |
scrypted_get_camera_state | Obtém o estado da câmera, incluindo detecção de movimento |
scrypted_set_webhook_token | Configura o token de webhook para uma câmera |
Tipos de Dispositivos Suportados
- Luzes — Ligar/desligar, brilho, cor (matiz/saturação)
- Interruptores — Ligar/desligar
- Tomadas — Ligar/desligar
- Ventiladores — Ligar/desligar
- Fechaduras — Travar/destravar
- Portas de garagem — Abrir/fechar
- Termostatos — Ler temperatura (controle em breve)
- Sensores — Ler valores
- Câmeras — Capturar instantâneos
- Sensores de movimento — Detectar movimento/ocupação
- Sensores de contato — Abrir/fechar portas e janelas
Abas do Aplicativo
Status
Visão geral da sua configuração de casa inteligente:
- Contagem de dispositivos Apple HomeKit
- Status dos plugins e contagem de dispositivos
- Contagem de vínculos de dispositivos
- Configurações do aplicativo (barra de menus, ícone no Dock)
Dispositivos
Navegue por todos os dispositivos organizados por cômodo:
- Toque em (i) para vincular/desvincular dispositivos
- Mostra a origem do dispositivo (HomeKit, Govee, etc.)
- Indica dispositivos vinculados
Plugins
Configure integrações de terceiros:
- Govee — Luzes e eletrodomésticos inteligentes
- Scrypted NVR — Câmeras de gravador de vídeo em rede
MCPPost
Transmita eventos de sensores em tempo real para sua IA:
- Configure a URL do endpoint do webhook
- Ative/desative a transmissão de eventos
- Veja eventos recentes e seu status
- Teste a conectividade do endpoint
Configuração
Guia de configuração completo com:
- Trechos de configuração MCP
- Instruções de configuração de plugins (Govee, Scrypted)
- Configuração do MCPPost
- Guia de vinculação de dispositivos
Registro
Registro de atividades completo para depuração:
- Todas as chamadas de ferramentas MCP
- Atividade dos plugins
- Notificações de eventos
- Controles de limpar e rolar
Vinculação de Dispositivos
Quando você tem o mesmo dispositivo no HomeKit e em um plugin (como Govee), pode vinculá-los para que sejam tratados como um único dispositivo:
- Vá para a aba Dispositivos
- Toque no botão (i) em qualquer dispositivo
- Selecione "Vincular Dispositivo..."
- Escolha o dispositivo correspondente de outra origem
Dispositivos vinculados usam automaticamente a origem mais capaz (plugins geralmente têm mais recursos que o HomeKit).
MCPPost (Transmissão de Eventos)
O MCPPost transmite eventos de sensores em tempo real para um endpoint HTTP personalizado, permitindo que seu sistema de IA (como Jarvis) receba notificações push.
Configuração
- Abra o HomeMCPBridge
- Vá para a aba MCPPost
- Insira a URL do seu endpoint (por exemplo,
http://localhost:8000/api/events) - Ative a transmissão com o alternador
- Clique em "Testar Endpoint" para verificar
Eventos Suportados
- Sensores de movimento — Movimento detectado/limpo
- Sensores de ocupação — Mudanças de ocupação no cômodo
- Campainhas — Eventos de toque
- Sensores de contato — Abrir/fechar portas e janelas
Payload do Evento
{
"event_id": "uuid",
"event_type": "motion|occupancy|doorbell|contact",
"source": "HomeKit",
"timestamp": "2024-01-18T21:00:00Z",
"sensor": {
"name": "Front Door Motion",
"id": "sensor-uuid",
"room": "Hallway",
"home": "Home"
},
"data": {
"detected": true,
"state": "open",
"isOpen": true
}
}
Sistema de Plugins
Plugins Integrados
| Plugin | Autenticação | Descrição |
|---|---|---|
| Apple HomeKit | Nativa (sempre ativada) | Acesso direto aos dispositivos HomeKit |
| Govee | Chave de API | Controle luzes e eletrodomésticos inteligentes Govee |
| Scrypted NVR | Nome de usuário/Senha | Acesse câmeras Scrypted e detecção de movimento |
Configuração do Govee
- Abra o app Govee Home no seu telefone
- Vá para Configurações > Sobre Nós > Solicitar Chave de API
- Aguarde a aprovação (geralmente em alguns dias)
- Copie sua chave de API do e-mail
- No HomeMCPBridge, vá para Plugins > Govee e insira sua chave de API
- Ative o plugin Govee
Configuração do Scrypted NVR
- Instale e configure o Scrypted na sua rede
- Anote a URL do servidor Scrypted (por exemplo,
https://mac-mini.local:10443) - Instale o plugin
@scrypted/webhookno Scrypted - Para cada câmera, crie um webhook de Câmera e anote o token
- No HomeMCPBridge, vá para Plugins > Scrypted e insira as credenciais
- Use a ferramenta
scrypted_set_webhook_tokenpara configurar o token de cada câmera
Guia de Desenvolvimento de Plugins
Quer adicionar suporte para outra plataforma de casa inteligente? Veja como criar um plugin personalizado.
Protocolo de Plugin
protocol DevicePlugin: AnyObject {
var identifier: String { get }
var displayName: String { get }
var isEnabled: Bool { get set }
var isConfigured: Bool { get }
var configurationFields: [PluginConfigField] { get }
func initialize() async throws
func shutdown() async
func listDevices() async throws -> [UnifiedDevice]
func getDeviceState(deviceId: String) async throws -> [String: Any]
func controlDevice(deviceId: String, action: String, value: Any?) async throws -> ControlResult
func configure(with credentials: [String: String]) async throws
func clearCredentials()
}
Registrando Seu Plugin
func application(_ application: UIApplication, didFinishLaunchingWithOptions...) {
PluginManager.shared.register(MyPlatformPlugin())
}
Privacidade
O HomeMCPBridge:
- Executa inteiramente no seu Mac
- Comunica-se diretamente com seus dispositivos HomeKit via framework da Apple
- Não envia nenhum dado para servidores externos (exceto MCPPost, que você configura)
- Não requer conexão com a internet para controle local de dispositivos
Solução de Problemas
"Nenhum dispositivo encontrado"
- Certifique-se de ter dispositivos configurados no app Casa da Apple
- Conceda permissão ao HomeKit quando o aplicativo iniciar pela primeira vez
- Tente reiniciar o aplicativo
"Dispositivo inacessível"
- Verifique se o dispositivo está ligado e conectado à sua rede
- Confirme se ele aparece como acessível no app Casa da Apple
MCP não conectando
- Certifique-se de que o aplicativo esteja em execução (verifique a barra de menus)
- Verifique se o caminho na sua configuração MCP corresponde ao local onde você instalou o aplicativo
- Reinicie seu assistente de IA após alterar a configuração
Instantâneos do Scrypted não funcionando
- Certifique-se de que o plugin @scrypted/webhook esteja instalado
- Crie um webhook de Câmera para cada câmera no Scrypted
- Use
scrypted_set_webhook_tokenpara configurar os tokens
Contribuindo
Contribuições são bem-vindas! Sinta-se à vontade para abrir issues ou enviar PRs.
Licença
Licença MIT — consulte LICENSE para detalhes.
Agradecimentos
- Construído com o framework HomeKit da Apple
- Usa o Model Context Protocol da Anthropic