Victron ModBus TCP

Servidor que se conecta a dispositivos Victron Energy GX en la red local.

Documentación

Victron TCP — Servidor MCP

Conecta asistentes de IA a sistemas Victron Energy. Lee datos en tiempo real de solar, batería, red e inversor desde tu red local — sin necesidad de nube.

32 herramientas | 23 prompts | 2 recursos | 900+ registros | Modbus TCP + MQTT


¿Qué paquete quiero?

Esta es la mitad local / LAN de un par. La mitad remota / nube es victron-vrm-mcp.

victron-tcp (este repositorio)victron-vrm-mcp
Transportestdio (subproceso local)Streamable HTTP (remoto)
Fuente de datosModbus TCP + MQTT en tu LANAPI de nube VRM
Necesita acceso al GX en tu LANSíNo
Funciona cuando estás lejos del barco / casaNoSí
Funciona cuando internet está caídoSíNo
LatenciaTiempo real (~50 ms)~15 min (muestreo VRM)
Acceso a registros crudosSí (900+ registros)No
Cobertura de escritura (planificada)Amplia — todo lo que D-Bus exponeEstrecha — solo lo que VRM permite remotamente (Dynamic ESS, clear-alarm, tags, …)
Compatible con MCP Connector APINo (stdio)Sí (HTTPS)
ClientesClaude Code, Claude Desktop, Cursor, WindsurfAnthropic Messages API + cualquier cosa que hable MCP sobre HTTP
AutenticaciónNinguna localmente (confía en la LAN)Token de acceso personal VRM por solicitud

Usa este paquete cuando: estés en la misma LAN que un dispositivo GX y quieras acceso de lectura en tiempo real, de baja latencia, con soporte de registros crudos. Usa victron-vrm-mcp cuando: necesites acceso remoto, estés construyendo una app respaldada por API vía MCP Connector, o no quieras exponer nada en tu LAN.

Puedes usar ambos simultáneamente — sirven para diferentes casos de uso y conllevan diferentes perfiles de riesgo.


Instalación

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"
      }
    }
  }
}

¿No sabes la IP de tu dispositivo?

Solo pregúntale a la IA:

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

Escaneará tu red, probará la conectividad y generará la configuración por ti.

Requisitos

  • Dispositivo Victron GX en tu red local (Ekrano, Cerbo, Venus GX, etc.)
  • MQTT (habilitado por defecto en Venus OS) o Modbus TCP (Settings → Services → Modbus TCP)
  • Node.js 18+

Qué puedes hacer

Informes de energía

PromptQué hace
hourly-snapshotInstantánea rápida del flujo de energía — SOC, PV, red, carga
daily-reportProducción, consumo, ratio de autoconsumo, dependencia de la red
weekly-reviewTendencias de rendimiento, salud de la batería, patrones de carga, consejos de programación
monthly-analysisBalance energético, ahorro de costes, envejecimiento de la batería, comparación estacional

Optimización energética

PromptQué hace
energy-optimizerAjuste impulsado por IA — elige objetivo: autoconsumo, ahorro de costes, longevidad de la batería, preparación de respaldo o equilibrado
ess-tuningRevisa el modo ESS, el setpoint de red, los límites de batería, Dynamic ESS
storm-prepVerificación de preparación previa a un corte de suministro

Monitorización y resolución de problemas

PromptQué hace
diagnose-systemChequeo completo de salud con escaneo de alarmas
solar-performanceAnálisis de rendimiento PV, comparación de trackers, detección de sombreado
troubleshootDepuración guiada con búsqueda de códigos de error
tank-monitorNiveles de combustible, agua, residuos (marino/RV/off-grid)
generator-managementCondiciones de arranque automático, tiempo de funcionamiento, horas de silencio

Descubrimiento de dispositivos

PromptQué hace
setup-guideAsistente de configuración inicial
find-devicesEscanea la red, descubre todos los dispositivos GX y sus dispositivos conectados
identify-device"¿Qué es el unit ID 247?" — identifica cualquier dispositivo
system-topologyMapea buses AC/DC, conexiones, rutas de flujo de energía
device-inventoryTabla completa de dispositivos para documentación o soporte
register-explorerNavega por los registros, explica tipos y factores de escala
firmware-checkVersiones de firmware en todos los dispositivos

Para instaladores

PromptQué hace
commissioningLista de verificación de sistema nuevo — inventario, cableado, configuración, aprobado/fallido
site-auditAuditoría de comunicación, alarmas, mediciones, rendimiento

Integración

PromptQué hace
nodered-checkNode-RED en Venus OS — topics MQTT, depuración de flujos
mqtt-debugConectividad del broker, trazado de topics, depuración de keepalive

Referencia de herramientas

Monitorización principal (9 herramientas)
HerramientaDescripción
victron_system_overviewSOC de batería, potencia PV, potencia de red, consumo AC, estado ESS
victron_battery_statusSOC, voltaje, corriente, potencia, temperatura, datos de celdas, tiempo restante
victron_solar_statusPotencia PV, rendimiento hoy/ayer/total, estado del cargador, datos del tracker
victron_grid_statusPotencia de red por fase (L1/L2/L3), voltaje, corriente, frecuencia
victron_vebus_statusMulti/Quattro: AC entrada/salida, límite de corriente, modo, estado, alarmas
victron_tank_levelsNivel de tanque, capacidad, restante, tipo de fluido
victron_temperatureTemperatura, tipo de sensor, humedad, presión
victron_inverter_statusInversor independiente: salida AC, estado, alarmas
victron_evcs_statusEstación de carga EV: potencia, estado, energía de sesión
Dispositivos extendidos (14 herramientas)
HerramientaDescripción
victron_multi_statusInversor/cargador Multi RS
victron_pvinverter_statusInversores PV acoplados a AC (Fronius, SolarEdge, ABB)
victron_genset_statusControladores de generador AC
victron_dcgenset_statusGeneradores DC
victron_alternator_statusAlternadores NMEA 2000
victron_charger_statusCargadores AC (Skylla, Blue Smart)
victron_dcdc_statusConvertidor DC-DC Orion XS
victron_acload_statusSensores de carga AC / corriente
victron_dcenergy_statusMedidores de energía DC (SmartShunts en modo medidor DC)
victron_gx_infoIdentidad del dispositivo GX, estados de relé
victron_digital_inputsEstado y tipo de entrada digital
victron_gps_statusPosición GPS, altitud, velocidad
victron_meteo_statusIrradiancia solar, velocidad del viento, temperaturas
victron_generator_statusArranque/parada automática del generador, tiempo de funcionamiento, alarmas
Descubrimiento y configuración (4 herramientas)
HerramientaDescripción
victron_network_scanEscanea la red local para encontrar dispositivos GX
victron_setupConfiguración completa: prueba transportes, descubre dispositivos, genera configuración
victron_mqtt_discoverAuto-descubre el portal ID MQTT, servicios, instancias de dispositivos
victron_discoverEscanea unit IDs Modbus para encontrar dispositivos conectados
Utilidades y documentación (5 herramientas)
HerramientaDescripción
victron_read_categoryLee todos los registros de cualquier categoría de dispositivo
victron_read_registerLee registro(s) crudo(s) por dirección (solo Modbus)
victron_list_registersLista los registros disponibles para una categoría de dispositivo
victron_search_docsBusca en la documentación offline (registros + API VRM)
victron_check_onlineObtén URLs de la documentación más reciente de Victron

Recursos

URIContenido
victron://register-listLista de registros Modbus TCP CCGX (Rev 3.71) — 943 registros
victron://unit-id-mappingMapeo de tipo de dispositivo a unit ID

Configuración

Variables de entorno

Todas opcionales. Configúralas para evitar repetir parámetros en cada llamada de herramienta.

VariablePredeterminadoDescripción
VICTRON_HOST(ninguno)IP o hostname del dispositivo GX
VICTRON_TRANSPORTmodbusmodbus o mqtt
VICTRON_PORTAL_ID(auto)Portal ID para MQTT
VICTRON_MODBUS_PORT502Puerto Modbus TCP
VICTRON_MQTT_PORT1883Puerto del broker MQTT
VICTRON_UNIT_ID100Unit ID Modbus predeterminado

Uso remoto (MCP Connector API)

Este paquete habla stdio, que la Anthropic MCP Connector API no puede alcanzar directamente (Connector necesita HTTPS). Para acceso remoto respaldado por nube, usa el paquete hermano victron-vrm-mcp.

Si realmente necesitas que la Connector API alcance este paquete (p. ej. para usar lecturas de registros crudos de forma remota), tendrías que ponerlo detrás de tu propio gateway HTTPS que hable Streamable HTTP upstream y lance victron-tcp downstream — no recomendado para uso típico.


Depuración

El MCP Inspector es la forma más rápida de interactuar con el servidor de forma interactiva.

# Inspect a locally-built server
npm run inspect

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

Ambos abren una interfaz basada en navegador donde puedes llamar herramientas, ver contenido estructurado y observar el flujo de notificaciones. Los logs van a stderr (stdout está reservado para el flujo JSON-RPC en transporte stdio — nunca escribas a stdout).

Para Claude Desktop específicamente, los logs del servidor MCP se guardan en ~/Library/Logs/Claude/mcp-server-victron-tcp.log (macOS) o %APPDATA%\Claude\logs\mcp-server-victron-tcp.log (Windows). Consulta la guía de depuración de la especificación para un recorrido completo.


Documentación

GuíaContenido
SetupConfiguraciones de cliente, comparación de transportes, unit IDs, dispositivos soportados
ExamplesPrompts del mundo real con comportamiento paso a paso de la IA
TroubleshootingErrores comunes y soluciones
FAQPreguntas frecuentes
ArchitectureEstructura del código, mapa de registros, cómo funciona
SecurityModelo de seguridad, sensibilidad de datos, exposición de red

Hoja de ruta

  • Soporte de escritura — control de modo ESS, setpoint de red, límites de corriente de carga, control de relés (vía topics MQTT W/)
  • MCP Resources — lista de registros + mapeo de unit ID (especificación VRM API movida a victron-vrm-mcp)
  • MCP Prompts — 23 flujos de trabajo guiados
  • Paquete NPM (npx victron-tcp)
  • Paquete hermano para acceso a nube VRM — victron-vrm-mcp

Referencias

Licencia

MIT