Victron ModBus TCP

Servidor que se conecta a dispositivos Victron Energy GX na rede local.

Documentação

Victron TCP — MCP Server

Conecte assistentes de IA a sistemas Victron Energy. Leia dados em tempo real de solar, bateria, rede elétrica e inversores da sua rede local — sem necessidade de nuvem.

32 ferramentas | 23 prompts | 2 recursos | 900+ registradores | Modbus TCP + MQTT


Qual pacote eu quero?

Esta é a metade local / LAN de um par. A metade remota / nuvem é victron-vrm-mcp.

victron-tcp (este repositório)victron-vrm-mcp
Transportestdio (subprocesso local)Streamable HTTP (remoto)
Fonte de dadosModbus TCP + MQTT na sua LANAPI de nuvem VRM
Precisa de acesso ao GX na sua LANSimNão
Funciona quando você está longe do barco / casaNãoSim
Funciona quando a internet caiSimNão
LatênciaTempo real (~50 ms)~15 min (amostragem VRM)
Acesso bruto a registradoresSim (900+ registradores)Não
Cobertura de escrita (planejada)Ampla — tudo o que o D-Bus expõeEstreita — apenas o que o VRM permite remotamente (Dynamic ESS, clear-alarm, tags, …)
Compatível com API MCP ConnectorNão (stdio)Sim (HTTPS)
ClientesClaude Code, Claude Desktop, Cursor, WindsurfAnthropic Messages API + qualquer coisa que fale MCP via HTTP
AutenticaçãoNenhuma localmente (confia na LAN)Token de acesso pessoal VRM por solicitação

Use este pacote quando: você estiver na mesma LAN que um dispositivo GX e quiser acesso de leitura em tempo real, de baixa latência, com suporte a registradores brutos. Use victron-vrm-mcp quando: você precisar de acesso remoto, estiver criando um aplicativo com API via MCP Connector, ou não quiser expor nada na sua LAN.

Você pode usar ambos simultaneamente — eles atendem a casos de uso diferentes e têm perfis de risco diferentes.


Instalação

Claude Code

claude mcp add-json victron-tcp '{"type":"stdio","command":"npx","args":["-y","victron-tcp"]}'

Claude Desktop / Cursor / Windsurf

{
  "mcpServers": {
    "victron-tcp": {
      "command": "npx",
      "args": ["-y", "victron-tcp"],
      "env": {
        "VICTRON_HOST": "192.168.1.50",
        "VICTRON_TRANSPORT": "mqtt",
        "VICTRON_PORTAL_ID": "your-portal-id"
      }
    }
  }
}

Não sabe o IP do seu dispositivo?

Basta perguntar à IA:

Find my Victron GX device on the network and set it up.

Ela fará a varredura da sua rede, testará a conectividade e gerará a configuração para você.

Requisitos

  • Dispositivo Victron GX na sua rede local (Ekrano, Cerbo, Venus GX, etc.)
  • MQTT (habilitado por padrão no Venus OS) ou Modbus TCP (Configurações → Serviços → Modbus TCP)
  • Node.js 18+

O que você pode fazer

Relatórios de Energia

PromptO que faz
hourly-snapshotInstantâneo rápido do fluxo de energia — SOC, PV, rede, carga
daily-reportProdução, consumo, taxa de autoconsumo, dependência da rede
weekly-reviewTendências de rendimento, saúde da bateria, padrões de carga, dicas de agendamento
monthly-analysisBalanço de energia, economia de custos, envelhecimento da bateria, comparação sazonal

Otimização de Energia

PromptO que faz
energy-optimizerAjuste orientado por IA — escolha o objetivo: autoconsumo, economia de custos, longevidade da bateria, prontidão de backup ou equilibrado
ess-tuningRevise o modo ESS, setpoint da rede, limites da bateria, Dynamic ESS
storm-prepVerificação de prontidão antes de queda de energia

Monitoramento e Solução de Problemas

PromptO que faz
diagnose-systemVerificação completa de saúde com varredura de alarmes
solar-performanceAnálise de rendimento PV, comparação de rastreadores, detecção de sombreamento
troubleshootDepuração guiada com consulta de códigos de erro
tank-monitorNíveis de combustível, água, resíduos (marinho/RV/off-grid)
generator-managementCondições de partida automática, tempo de execução, horários silenciosos

Descoberta de Dispositivos

PromptO que faz
setup-guideAssistente de configuração inicial
find-devicesVarra a rede, descubra todos os dispositivos GX e seus dispositivos conectados
identify-device"O que é o unit ID 247?" — identifique qualquer dispositivo
system-topologyMapeie barramentos AC/DC, conexões, caminhos de fluxo de energia
device-inventoryTabela completa de dispositivos para documentação ou suporte
register-explorerNavegue pelos registradores, explique tipos e fatores de escala
firmware-checkVersões de firmware em todos os dispositivos

Para Instaladores

PromptO que faz
commissioningChecklist de sistema novo — inventário, cabeamento, configuração, aprovado/reprovado
site-auditComunicação, alarmes, medições, auditoria de desempenho

Integração

PromptO que faz
nodered-checkNode-RED no Venus OS — tópicos MQTT, depuração de fluxos
mqtt-debugConectividade do broker, rastreamento de tópicos, depuração de keepalive

Referência de Ferramentas

Monitoramento Principal (9 ferramentas)
FerramentaDescrição
victron_system_overviewSOC da bateria, potência PV, potência da rede, consumo AC, status do ESS
victron_battery_statusSOC, tensão, corrente, potência, temperatura, dados das células, tempo restante
victron_solar_statusPotência PV, rendimento hoje/ontem/total, estado do carregador, dados do rastreador
victron_grid_statusPotência da rede por fase (L1/L2/L3), tensão, corrente, frequência
victron_vebus_statusMulti/Quattro: AC entrada/saída, limite de corrente, modo, estado, alarmes
victron_tank_levelsNível do tanque, capacidade, restante, tipo de fluido
victron_temperatureTemperatura, tipo de sensor, umidade, pressão
victron_inverter_statusInversor autônomo: saída AC, estado, alarmes
victron_evcs_statusEstação de carregamento EV: potência, status, energia da sessão
Dispositivos Estendidos (14 ferramentas)
FerramentaDescrição
victron_multi_statusInversor/carregador Multi RS
victron_pvinverter_statusInversores PV acoplados em AC (Fronius, SolarEdge, ABB)
victron_genset_statusControladores de gerador AC
victron_dcgenset_statusGeradores DC
victron_alternator_statusAlternadores NMEA 2000
victron_charger_statusCarregadores AC (Skylla, Blue Smart)
victron_dcdc_statusConversor DC-DC Orion XS
victron_acload_statusSensores de carga / corrente AC
victron_dcenergy_statusMedidores de energia DC (SmartShunts no modo medidor DC)
victron_gx_infoIdentidade do dispositivo GX, estados dos relés
victron_digital_inputsEstado e tipo da entrada digital
victron_gps_statusPosição GPS, altitude, velocidade
victron_meteo_statusIrradiância solar, velocidade do vento, temperaturas
victron_generator_statusPartida/parada automática do gerador, tempo de execução, alarmes
Descoberta e Configuração (4 ferramentas)
FerramentaDescrição
victron_network_scanVarra a rede local para encontrar dispositivos GX
victron_setupConfiguração completa: teste transportes, descubra dispositivos, gere configuração
victron_mqtt_discoverDescubra automaticamente o portal ID MQTT, serviços, instâncias de dispositivos
victron_discoverVarra os unit IDs Modbus para encontrar dispositivos conectados
Utilitários e Documentação (5 ferramentas)
FerramentaDescrição
victron_read_categoryLeia todos os registradores de qualquer categoria de dispositivo
victron_read_registerLeia registrador(es) bruto(s) por endereço (somente Modbus)
victron_list_registersListe os registradores disponíveis para uma categoria de dispositivo
victron_search_docsPesquise na documentação offline (registradores + API VRM)
victron_check_onlineObtenha URLs da documentação mais recente da Victron

Recursos

URIConteúdo
victron://register-listLista de registradores Modbus TCP CCGX (Rev 3.71) — 943 registradores
victron://unit-id-mappingMapeamento de tipo de dispositivo para unit ID

Configuração

Variáveis de Ambiente

Todas opcionais. Defina-as para evitar repetir parâmetros em cada chamada de ferramenta.

VariávelPadrãoDescrição
VICTRON_HOST(nenhum)IP ou hostname do dispositivo GX
VICTRON_TRANSPORTmodbusmodbus ou mqtt
VICTRON_PORTAL_ID(automático)Portal ID para MQTT
VICTRON_MODBUS_PORT502Porta Modbus TCP
VICTRON_MQTT_PORT1883Porta do broker MQTT
VICTRON_UNIT_ID100Unit ID Modbus padrão

Uso remoto (API MCP Connector)

Este pacote fala stdio, que a API Anthropic MCP Connector não consegue acessar diretamente (o Connector precisa de HTTPS). Para acesso remoto via nuvem, use o pacote irmão victron-vrm-mcp.

Se você realmente precisar que a API Connector acesse este pacote (por exemplo, para usar leituras brutas de registradores remotamente), você precisaria colocá-lo atrás do seu próprio gateway HTTPS que fale Streamable HTTP upstream e execute victron-tcp downstream — não recomendado para uso típico.


Depuração

O MCP Inspector é a forma mais rápida de interagir com o servidor.

# Inspect a locally-built server
npm run inspect

# Inspect the published npm package as users would run it
npm run inspect:npm

Ambos abrem uma interface baseada em navegador onde você pode chamar ferramentas, visualizar conteúdo estruturado e acompanhar o fluxo de notificações. Os logs vão para stderr (stdout é reservado para o fluxo JSON-RPC no transporte stdio — nunca escreva em stdout).

Especificamente para o Claude Desktop, os logs do servidor MCP ficam em ~/Library/Logs/Claude/mcp-server-victron-tcp.log (macOS) ou %APPDATA%\Claude\logs\mcp-server-victron-tcp.log (Windows). Consulte o guia de depuração da especificação para um passo a passo completo.


Documentação

GuiaConteúdo
SetupConfigurações de cliente, comparação de transportes, unit IDs, dispositivos suportados
ExamplesPrompts reais com comportamento passo a passo da IA
TroubleshootingErros comuns e correções
FAQPerguntas frequentes
ArchitectureEstrutura do código, mapa de registradores, como funciona
SecurityModelo de segurança, sensibilidade dos dados, exposição na rede

Roadmap

  • Suporte a escrita — controle do modo ESS, setpoint da rede, limites de corrente de carga, controle de relés (via tópicos MQTT W/)
  • Recursos MCP — lista de registradores + mapeamento de unit ID (especificação da API VRM movida para victron-vrm-mcp)
  • Prompts MCP — 23 fluxos de trabalho guiados
  • Pacote NPM (npx victron-tcp)
  • Pacote irmão para acesso à nuvem VRM — victron-vrm-mcp

Referências

Licença

MIT