Victron ModBus TCP

Server that connects to Victron Energy GX devices on local network.

Victron TCP — MCP Server

Connect AI assistants to Victron Energy systems. Read real-time solar, battery, grid, and inverter data from your local network — no cloud required.

32 tools | 24 prompts | 3 resources | 900+ registers | Modbus TCP + MQTT


Installation

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

Don't know your device IP?

Just ask the AI:

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

It will scan your network, test connectivity, and generate the config for you.

Requirements

  • Victron GX device on your local network (Ekrano, Cerbo, Venus GX, etc.)
  • MQTT (enabled by default on Venus OS) or Modbus TCP (Settings → Services → Modbus TCP)
  • Node.js 18+

What you can do

Energy Reporting

PromptWhat it does
hourly-snapshotQuick power flow snapshot — SOC, PV, grid, load
daily-reportProduction, consumption, self-consumption ratio, grid dependency
weekly-reviewYield trends, battery health, load patterns, scheduling tips
monthly-analysisEnergy balance, cost savings, battery aging, seasonal comparison

Energy Optimization

PromptWhat it does
energy-optimizerAI-driven tuning — choose goal: self-consumption, cost savings, battery longevity, backup readiness, or balanced
ess-tuningReview ESS mode, grid setpoint, battery limits, Dynamic ESS
storm-prepPre-outage readiness check

Monitoring & Troubleshooting

PromptWhat it does
diagnose-systemFull health check with alarm scan
solar-performancePV yield analysis, tracker comparison, shading detection
troubleshootGuided debugging with error code lookup
tank-monitorFuel, water, waste levels (marine/RV/off-grid)
generator-managementAuto-start conditions, runtime, quiet hours

Device Discovery

PromptWhat it does
setup-guideFirst-time setup wizard
find-devicesScan network, discover all GX devices and their connected devices
identify-device"What is unit ID 247?" — identify any device
system-topologyMap AC/DC buses, connections, energy flow paths
device-inventoryFull device table for documentation or support
register-explorerBrowse registers, explain types and scale factors
firmware-checkFirmware versions across all devices

For Installers

PromptWhat it does
commissioningNew system checklist — inventory, wiring, config, pass/fail
site-auditCommunication, alarms, measurements, performance audit

Integration

PromptWhat it does
nodered-checkNode-RED on Venus OS — MQTT topics, flow debugging
vrm-api-guideVRM cloud API — auth, endpoints, local vs cloud comparison
mqtt-debugBroker connectivity, topic tracing, keepalive debugging

Tools Reference

Core Monitoring (9 tools)
ToolDescription
victron_system_overviewBattery SOC, PV power, grid power, AC consumption, ESS status
victron_battery_statusSOC, voltage, current, power, temperature, cell data, time-to-go
victron_solar_statusPV power, yield today/yesterday/total, charger state, tracker data
victron_grid_statusGrid power per phase (L1/L2/L3), voltage, current, frequency
victron_vebus_statusMulti/Quattro: AC in/out, current limit, mode, state, alarms
victron_tank_levelsTank level, capacity, remaining, fluid type
victron_temperatureTemperature, sensor type, humidity, pressure
victron_inverter_statusStandalone inverter: AC output, state, alarms
victron_evcs_statusEV Charging Station: power, status, session energy
Extended Devices (14 tools)
ToolDescription
victron_multi_statusMulti RS inverter/charger
victron_pvinverter_statusAC-coupled PV inverters (Fronius, SolarEdge, ABB)
victron_genset_statusAC genset controllers
victron_dcgenset_statusDC generators
victron_alternator_statusNMEA 2000 alternators
victron_charger_statusAC chargers (Skylla, Blue Smart)
victron_dcdc_statusOrion XS DC-DC converter
victron_acload_statusAC load / current sensors
victron_dcenergy_statusDC energy meters (SmartShunts in DC meter mode)
victron_gx_infoGX device identity, relay states
victron_digital_inputsDigital input state and type
victron_gps_statusGPS position, altitude, speed
victron_meteo_statusSolar irradiance, wind speed, temperatures
victron_generator_statusGenerator auto start/stop, runtime, alarms
Discovery & Setup (4 tools)
ToolDescription
victron_network_scanScan local network to find GX devices
victron_setupFull setup: test transports, discover devices, generate config
victron_mqtt_discoverAuto-discover MQTT portal ID, services, device instances
victron_discoverScan Modbus unit IDs to find connected devices
Utility & Documentation (5 tools)
ToolDescription
victron_read_categoryRead all registers for any device category
victron_read_registerRead raw register(s) by address (Modbus only)
victron_list_registersList available registers for a device category
victron_search_docsSearch offline docs (registers + VRM API)
victron_check_onlineGet URLs for latest Victron docs

Resources

URIContent
victron://register-listCCGX Modbus TCP register list (Rev 3.71) — 943 registers
victron://unit-id-mappingDevice type to unit ID mapping
victron://vrm-apiVRM cloud API OpenAPI 3.1 spec — 47 endpoints

Configuration

Environment Variables

All optional. Set them to avoid repeating parameters on every tool call.

VariableDefaultDescription
VICTRON_HOST(none)GX device IP or hostname
VICTRON_TRANSPORTmodbusmodbus or mqtt
VICTRON_PORTAL_ID(auto)Portal ID for MQTT
VICTRON_MODBUS_PORT502Modbus TCP port
VICTRON_MQTT_PORT1883MQTT broker port
VICTRON_UNIT_ID100Default Modbus unit ID

MCP Connector (API usage)

For the MCP Connector API, defer rarely-used tools to reduce token overhead:

{
  "type": "mcp_toolset",
  "mcp_server_name": "victron-tcp",
  "default_config": { "defer_loading": true },
  "configs": {
    "victron_system_overview": { "defer_loading": false },
    "victron_battery_status": { "defer_loading": false },
    "victron_solar_status": { "defer_loading": false },
    "victron_grid_status": { "defer_loading": false },
    "victron_setup": { "defer_loading": false },
    "victron_discover": { "defer_loading": false },
    "victron_search_docs": { "defer_loading": false }
  }
}

Documentation

GuideContent
SetupClient configs, transport comparison, unit IDs, supported devices
ExamplesReal-world prompts with step-by-step AI behavior
TroubleshootingCommon errors and fixes
FAQFrequently asked questions
ArchitectureCode structure, register map, how it works
SecuritySecurity model, data sensitivity, network exposure

Roadmap

  • Write support — ESS mode control, grid setpoint, charge current limits, relay control
  • MCP Resources — register list, unit ID mapping, VRM API spec
  • MCP Prompts — 24 guided workflows
  • NPM package (npx victron-tcp)

References

License

MIT

Related Servers

NotebookLM Web Importer

Import web pages and YouTube videos to NotebookLM with one click. Trusted by 200,000+ users.

Install Chrome Extension