Victron Tcp MCP Server

MCP server for Victron Energy GX devices via Modbus TCP or MQTT

Local serverstdioGo

What is the Victron Tcp MCP server?

Victron Tcp MCP server is a locally run integration for AI assistants that speak the Model Context Protocol. MCP server for Victron Energy GX devices via Modbus TCP or MQTT.

What you get

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

What the assistant can call

Once Victron Tcp is connected, these are the calls the assistant has available:

  • victron_system_overview — Battery SOC, PV power, grid power, AC consumption, ESS status
  • victron_battery_status — SOC, voltage, current, power, temperature, cell data, time-to-go
  • victron_solar_status — PV power, yield today/yesterday/total, charger state, tracker data
  • victron_grid_status — Grid power per phase (L1/L2/L3), voltage, current, frequency
  • victron_vebus_status — Multi/Quattro: AC in/out, current limit, mode, state, alarms
  • victron_tank_levels — Tank level, capacity, remaining, fluid type
  • victron_temperature — Temperature, sensor type, humidity, pressure
  • victron_inverter_status — Standalone inverter: AC output, state, alarms
  • victron_evcs_status — EV Charging Station: power, status, session energy
  • victron_multi_status — Multi RS inverter/charger
  • victron_pvinverter_status — AC-coupled PV inverters (Fronius, SolarEdge, ABB)
  • victron_genset_status — AC genset controllers

Configuration and credentials

You will need 4 environment variables: VICTRON_HOST, VICTRON_TRANSPORT, VICTRON_PORTAL_ID, VICTRON_UNIT_ID. Keep credentials in your client's env block or a secrets manager rather than in a file you might commit.

  • 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+ ---

Setting it up

Installation goes through your MCP client rather than a global install: point it at victron-tcp on npm and it is fetched when the client starts. The copy-paste blocks for Claude Desktop, Claude Code and Cursor are further down this page.

Choosing this one

This sits in the developer tooling group, where several servers overlap in what they claim to do but differ sharply once you actually set them up. Victron Tcp's toolset — victron_system_overview, victron_battery_status, victron_solar_status and 11 more — is a fair guide to whether it matches your workflow. It is maintained by lubosstrejcek; worth a glance at recent repository activity before you build anything load-bearing on it.

This entry was verified against Victron Tcp's own documentation before publication; SyncDev keeps the directory reviewed rather than auto-generated.

Before you rely on it

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • With 14 tools registered it takes up a noticeable share of the context window; turn it off in projects that never touch Victron Tcp.
  • MCP clients confirm each tool call by default. Leave that on until you have watched what the victron tcp mcp server does with a few real requests.

Available tools

ToolWhat it does
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
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

How to install the Victron Tcp MCP server

{
  "mcpServers": {
    "victron-tcp": {
      "command": "npx",
      "args": ["-y", "victron-tcp"],
      "env": {
        "VICTRON_HOST": "your-value",
        "VICTRON_TRANSPORT": "your-value",
        "VICTRON_PORTAL_ID": "your-value",
        "VICTRON_UNIT_ID": "your-value"
      }
    }
  }
}

Add to claude_desktop_config.json, then restart Claude Desktop.

Configuration

  • 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+ ---
VariableDescriptionRequired
VICTRON_HOSTEndpoint or connection string the server talks to.Optional
VICTRON_TRANSPORTConfiguration value read at startup.Optional
VICTRON_PORTAL_IDConfiguration value read at startup.Optional
VICTRON_UNIT_IDConfiguration value read at startup.Optional

Example prompts to try

  • Use Victron Tcp to victron system overview.
  • Use Victron Tcp to victron battery status.
  • Use Victron Tcp to victron solar status.

Frequently asked questions

It connects Victron Tcp to MCP-compatible AI assistants such as Claude and Cursor, exposing 14 tools (victron_system_overview, victron_battery_status, victron_solar_status, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Victron Tcp directly.