victron-tcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| VICTRON_HOST | No | GX device IP or hostname | |
| VICTRON_UNIT_ID | No | Default Modbus unit ID | 100 |
| VICTRON_MQTT_PORT | No | MQTT broker port | 1883 |
| VICTRON_PORTAL_ID | No | Portal ID for MQTT (auto-detected if not set) | |
| VICTRON_TRANSPORT | No | Transport protocol: modbus or mqtt | modbus |
| VICTRON_MODBUS_PORT | No | Modbus TCP port | 502 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| victron_system_overviewA | Get system overview: battery SOC/voltage/current/power, PV power, grid power, AC consumption, inverter state, and Dynamic ESS status. Unit ID is always 100. |
| victron_battery_statusA | Get detailed battery monitor data: SOC, voltage, current, power, temperature, cell voltages, time-to-go, history, and alarms. Specify unitId for the battery monitor (check victron_discover to find it). |
| victron_solar_statusA | Get solar charger data: PV voltage, current, power, yield today/yesterday/total, charger state, error code, and tracker data. Specify unitId for the solar charger (check victron_discover to find it). |
| victron_grid_statusA | Get grid meter data: power per phase (L1/L2/L3), voltage, current, frequency, and energy counters (forward/reverse). Specify unitId for the grid meter (check victron_discover to find it). |
| victron_vebus_statusA | Get VE.Bus inverter/charger (Multi/Quattro) data: AC input/output voltage, current, power per phase, DC voltage, input current limit, mode, state, alarms, and ESS settings. Specify unitId for the VE.Bus device (check victron_discover to find it). |
| victron_tank_levelsA | Get tank sensor data: level, capacity, remaining, and fluid type (fuel, fresh water, waste water, live well, oil, black water, gasoline). Specify unitId for the tank sensor (check victron_discover to find it). |
| victron_temperatureA | Get temperature sensor data from com.victronenergy.temperature: temperature, type (battery, fridge, generic), humidity, pressure, and status. Note: Battery temperatures measured by inverters/chargers or solar chargers are reported in their own device registers (use victron_vebus_status or victron_solar_status), not here. This tool reads dedicated temperature sensor inputs only. Specify unitId for the temperature sensor (check victron_discover to find it). |
| victron_inverter_statusA | Get standalone inverter data (Phoenix, Inverter RS, VE.Direct inverters): AC output voltage, current, power, frequency, state, and alarms. This is for standalone inverters — for Multi/Quattro, use victron_vebus_status instead. |
| victron_evcs_statusA | Get EV Charging Station status by connecting directly to the EVCS device (not through the GX). Reads charger status, power per phase, charging current, session energy, mode, phase configuration, temperatures, and errors. The host parameter should be the EVCS IP address (not the GX). For EV charger data proxied through the GX device, use victron_read_category with category "evcharger" instead. |
| victron_discoverA | Discover connected Victron devices via Modbus TCP by probing unit IDs. Scans a range of unit IDs to find active devices and identify their service type. Modbus only — for MQTT discovery use victron_mqtt_discover instead. This is the first tool you should use with Modbus transport to find what devices are available and their unit IDs. |
| victron_read_registerA | Read raw Modbus register(s). Modbus TCP only — not available via MQTT. Advanced tool for reading specific register addresses with explicit data type and scale factor. Use victron_search_docs or victron_list_registers first to find the correct address, data type, and scale factor for the register you want to read. |
| victron_list_registersA | List available Modbus registers for a given device category. Shows register addresses, names, data types, and units. For free-text search across all docs use victron_search_docs instead. |
| victron_read_categoryA | Read all registers for any Victron device category by service name. Covers all 33 categories including digital inputs, genset, PV inverter, settings, GPS, meteo, and more. Use victron_discover to find connected devices and their unit IDs first. |
| victron_gx_infoA | Get GX device identity and connection info: serial number, relay states, system time, and connection details. MAC address and hostname are NOT available via Modbus TCP. Unit ID is always 100. |
| victron_digital_inputsA | Read digital input data from the GX device. On Cerbo GX, this reads the primary digital input. Includes state (open/closed/running/stopped), input type (door, bilge, alarm, generator), alarm status, and pulse count. Unit ID is always 100. |
| victron_pvinverter_statusA | Get AC-coupled PV inverter data (SolarEdge, Fronius, ABB, etc.): power per phase, voltage, current, energy totals, frequency, position, serial, and power limit. Use victron_discover to find the PV inverter unit ID. |
| victron_acload_statusA | Get AC load and current sensor data: per-phase power, voltage, current, energy totals, frequency, and power factor. Used for AC current sensors measuring PV inverter output or other AC loads. Use victron_discover to find the unit ID. |
| victron_gps_statusA | Get GPS position data: latitude, longitude, altitude, course, speed, fix status, and number of satellites. Works with USB GPS (NMEA 0183) and NMEA 2000 GPS devices connected to the GX. Unit ID is always 100. |
| victron_meteo_statusA | Get meteorological sensor data from IMT Solar irradiance sensors: solar irradiance (W/m²), wind speed, cell temperature, and external temperatures. Connected via RS485/USB. Unit ID is always 100. |
| victron_alternator_statusA | Get alternator data from Wakespeed WS500, Arco Zeus, Revatek Altion, or other NMEA 2000 DC alternator regulators: battery voltage/current, auxiliary voltage, temperature, energy produced, engine/alternator RPM, field drive %, alarms, and state. Use victron_discover to find the unit ID. |
| victron_charger_statusA | Get AC charger data (Skylla-i, Skylla-IP44, Smart IP43, Blue Smart IP22): output voltage/current/temperature for up to 3 outputs, AC current/power, charge state, error code, current limit, and alarms. Use victron_discover to find the unit ID. |
| victron_dcdc_statusA | Get Orion XS DC-DC converter data: battery voltage/current/temperature, input voltage/power, charge state, error code, switch position, and accumulated Ah. Use victron_discover to find the unit ID. |
| victron_genset_statusA | Get AC generator/genset controller data (Fischer Panda, ComAp, DSE, CRE, DEIF): 3-phase AC voltage/current/power/frequency, engine temperature/load/speed/RPM, oil pressure, coolant temperature, exhaust temperature, starter voltage, model name, and error codes. Use victron_discover to find the unit ID. |
| victron_generator_statusB | Get GX generator auto start/stop status and control: manual start/stop command, start condition (SOC/load/voltage/manual), runtime, quiet hours, start/stop state, auto start enabled, service countdown, and alarms. This controls the GX relay-based generator start/stop logic. Unit ID is always 100. |
| victron_multi_statusA | Get Multi RS inverter/charger data: AC input/output voltage/current/power per phase, input frequency, AC source type, current limits, battery voltage/current/power/SOC/temperature, charger/inverter state, and alarms. Use victron_discover to find the unit ID. |
| victron_dcenergy_statusA | Get DC energy meter data from SmartShunts configured in DC meter mode: voltage, current, auxiliary voltage, temperature, energy produced/consumed, and alarms. Specify type: "source" (alternator, solar, wind), "load" (fridge, pump, generic DC load), or "system" (aggregate DC system). Unit ID is always 100. |
| victron_dcgenset_statusA | Get DC generator data (Fischer Panda, Hatz fiPMG): DC voltage/current, engine load/speed/RPM, coolant/winding/exhaust temperature, oil pressure, starter battery voltage, status, error codes, and start command. Use victron_discover to find the unit ID. |
| victron_mqtt_discoverA | Discover Venus OS devices via MQTT. Auto-discovers the portalId, lists all available services, maps them to tools, and outputs a ready-to-use MCP server config. Run this first when setting up MQTT transport. |
| victron_network_scanA | Scan the local network to find Victron GX devices. Probes for Modbus TCP (port 502) and MQTT (port 1883) services, then verifies Victron devices via Modbus. Use this when you don't know the IP address of the GX device. Specify a subnet or let it auto-detect from local network interfaces. |
| victron_setupA | Complete system setup and discovery for a Victron GX device. Tests both Modbus TCP and MQTT connectivity, discovers all connected devices and services, recommends the best transport, and generates ready-to-use MCP server configuration. Use this as the first step after finding a device with victron_network_scan, or directly if you already know the host IP. |
| victron_search_docsA | Search the local offline Victron register list (900+ registers with addresses, types, scale factors). Use this BEFORE making online requests — the local docs cover most questions about registers, unit IDs, data types, and device categories. For VRM cloud API search, use the victron-vrm-mcp sibling package. |
| victron_check_onlineA | Get URLs for the latest Victron local-access documentation sources. Use this only when victron_search_docs does not have the answer — for example, when checking for newer register list revisions or firmware changes. For VRM cloud API docs, use the victron-vrm-mcp sibling package. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| setup-guide | Interactive first-time setup: find the GX device, test connectivity, configure the MCP server. |
| diagnose-system | Step-by-step system diagnosis: discover devices, read system overview, check battery health, and flag any anomalies. |
| hourly-snapshot | Quick snapshot of current energy state — power flows, SOC, grid, PV. Designed for frequent polling to build a picture over time. |
| daily-report | End-of-day energy report: total production, consumption, self-consumption ratio, battery cycles, grid dependency, and efficiency analysis. |
| weekly-review | Weekly energy trends: compare daily yields, identify patterns, detect degradation, suggest schedule optimizations for loads and charging. |
| monthly-analysis | Monthly deep analysis: energy balance, cost savings estimate, battery aging, seasonal comparison, and optimization recommendations. |
| energy-optimizer | AI-driven energy optimization: analyze current system configuration, power flows, and usage patterns to recommend ESS tuning, load scheduling, and battery management strategies. |
| storm-prep | Pre-outage checklist: verify battery SOC, check grid status, review ESS settings, ensure system is ready for grid loss. |
| troubleshoot | Guided troubleshooting: describe the problem, then systematically read alarms, device states, and error codes to identify the cause. |
| ess-tuning | Review and optimize Energy Storage System settings: ESS mode, grid setpoint, battery limits, Dynamic ESS state. |
| commissioning | Installer checklist for new system commissioning: discover all devices, verify wiring, check firmware, validate configuration. |
| device-inventory | Full inventory of all connected Victron devices with unit IDs, service types, and key parameters — for documentation or support tickets. |
| site-audit | Comprehensive site audit for installers: verify all devices are communicating, check for alarms, validate AC/DC measurements, flag potential issues. |
| solar-performance | Evaluate solar array performance: PV yield, tracker comparison, charger states, and potential shading or wiring issues. |
| tank-monitor | Check all tank levels: fuel, fresh water, waste water, black water — with low-level warnings. |
| nodered-check | Verify Node-RED integration on Venus OS: check MQTT topics, available data paths, and help debug flow issues. |
| mqtt-debug | Debug MQTT connectivity and data flow: verify broker, check topics, trace missing data, validate keepalive. |
| generator-management | Check generator auto-start conditions, runtime, quiet hours, and troubleshoot start/stop issues. |
| find-devices | Scan the local network for all Victron GX devices, then discover every device behind each GX. No IP needed — auto-detects from network interfaces. |
| identify-device | Identify an unknown Victron device by its unit ID or service type — show what it is, what data it exposes, and which tool to use. |
| system-topology | Map the full energy system topology: AC/DC buses, device connections, energy flow paths, and phase configuration. |
| register-explorer | Explore available Modbus registers for a device: list all registers, explain data types and scale factors, help read specific values. |
| firmware-check | Check firmware versions across all devices and GX, flag outdated versions, suggest updates. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| register-list | Complete Victron Energy Modbus TCP register reference — 900+ registers across 33 device categories with addresses, data types, scale factors, ranges, and dbus paths. Source: official CCGX register list. |
| unit-id-mapping | Mapping of Victron device types to their default Modbus unit IDs. Note: since Venus OS 2.60, unit IDs are assigned dynamically — use victron_discover to find actual unit IDs. |
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/lubosstrejcek/victron-tcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server